at 22.05-pre 65 lines 1.8 kB view raw
1{ lib, stdenv, fetchFromGitHub, bison, flex, postgresql }: 2 3stdenv.mkDerivation rec { 4 pname = "age"; 5 version = "0.6.0"; 6 7 src = fetchFromGitHub { 8 owner = "apache"; 9 repo = "incubator-age"; 10 rev = "v${version}"; 11 sha256 = "1cl6p9qz2yhgm603ljlyjdn0msk3hzga1frjqsmqmpp3nw4dbkka"; 12 }; 13 14 buildInputs = [ postgresql ]; 15 16 makeFlags = [ 17 "BISON=${bison}/bin/bison" 18 "FLEX=${flex}/bin/flex" 19 ]; 20 21 installPhase = '' 22 install -D -t $out/lib *.so 23 install -D -t $out/share/postgresql/extension *.sql 24 install -D -t $out/share/postgresql/extension *.control 25 ''; 26 27 passthru.tests = stdenv.mkDerivation { 28 inherit version src; 29 30 pname = "age-regression"; 31 32 dontConfigure = true; 33 34 buildPhase = let 35 postgresqlAge = postgresql.withPackages (ps: [ ps.age ]); 36 in '' 37 # The regression tests need to be run in the order specified in the Makefile. 38 echo -e "include Makefile\nfiles:\n\t@echo \$(REGRESS)" > Makefile.regress 39 REGRESS_TESTS=$(make -f Makefile.regress files) 40 41 ${postgresql}/lib/pgxs/src/test/regress/pg_regress \ 42 --inputdir=./ \ 43 --bindir='${postgresqlAge}/bin' \ 44 --encoding=UTF-8 \ 45 --load-extension=age \ 46 --inputdir=./regress --outputdir=./regress --temp-instance=./regress/instance \ 47 --port=61958 --dbname=contrib_regression \ 48 $REGRESS_TESTS 49 ''; 50 51 installPhase = '' 52 touch $out 53 ''; 54 }; 55 56 meta = with lib; { 57 description = "A graph database extension for PostgreSQL"; 58 homepage = "https://age.apache.org/"; 59 changelog = "https://github.com/apache/incubator-age/releases/tag/v${version}"; 60 maintainers = with maintainers; [ ]; 61 platforms = postgresql.meta.platforms; 62 license = licenses.asl20; 63 broken = versionOlder postgresql.version "11.0"; 64 }; 65}