Merge branch 'master' into postgresql-plugins-bin
This commit is contained in:
@@ -38,7 +38,7 @@ let
|
||||
|
||||
enableParallelBuilding = !stdenv.isDarwin;
|
||||
|
||||
makeFlags = [ "world" ];
|
||||
buildFlags = [ "world" ];
|
||||
|
||||
NIX_CFLAGS_COMPILE = [ "-I${libxml2.dev}/include/libxml2" ];
|
||||
|
||||
@@ -60,6 +60,7 @@ let
|
||||
(if atLeast "9.6" then ./patches/less-is-more-96.patch else ./patches/less-is-more.patch)
|
||||
(if atLeast "9.6" then ./patches/hardcode-pgxs-path-96.patch else ./patches/hardcode-pgxs-path.patch)
|
||||
./patches/specify_pkglibdir_at_runtime.patch
|
||||
./patches/findstring.patch
|
||||
] ++ lib.optional stdenv.isLinux ./patches/socketdir-in-run.patch;
|
||||
|
||||
installTargets = [ "install-world" ];
|
||||
@@ -101,6 +102,10 @@ let
|
||||
wrapProgram $out/bin/initdb --prefix PATH ":" ${glibc.bin}/bin
|
||||
'';
|
||||
|
||||
doCheck = !stdenv.isDarwin;
|
||||
# autodetection doesn't seem to able to find this, but it's there.
|
||||
checkTarget = "check";
|
||||
|
||||
doInstallCheck = false; # needs a running daemon?
|
||||
|
||||
disallowedReferences = [ stdenv.cc ];
|
||||
@@ -157,41 +162,41 @@ let
|
||||
in self: {
|
||||
|
||||
postgresql_9_4 = self.callPackage generic {
|
||||
version = "9.4.21";
|
||||
version = "9.4.23";
|
||||
psqlSchema = "9.4";
|
||||
sha256 = "01k0s3a7qy8639zsjp1bjbfnnymyl0rgyylrjbkm81m0779b8j80";
|
||||
sha256 = "16qx4gfq7i2nnxm0i3zxpb3z1mmzx05a3fsh95414ay8n049q00d";
|
||||
this = self.postgresql_9_4;
|
||||
inherit self;
|
||||
};
|
||||
|
||||
postgresql_9_5 = self.callPackage generic {
|
||||
version = "9.5.16";
|
||||
version = "9.5.18";
|
||||
psqlSchema = "9.5";
|
||||
sha256 = "0cg10ri0475vg1c8k1sb5qi4i64hiv9k7crmg15qvvnwsjanqmx4";
|
||||
sha256 = "1pgkz794wmp4f40843sbin49k5lgl59jvl6nazvdbb6mgr441jfz";
|
||||
this = self.postgresql_9_5;
|
||||
inherit self;
|
||||
};
|
||||
|
||||
postgresql_9_6 = self.callPackage generic {
|
||||
version = "9.6.12";
|
||||
version = "9.6.14";
|
||||
psqlSchema = "9.6";
|
||||
sha256 = "114xay230xia2fagisxahs5fc2mza8hmmkr6ibd7nxllp938931f";
|
||||
sha256 = "08hsqczy1ixkjyf2vr3s9x69agfz9yr8lh31fir4z0dfr5jw421z";
|
||||
this = self.postgresql_9_6;
|
||||
inherit self;
|
||||
};
|
||||
|
||||
postgresql_10 = self.callPackage generic {
|
||||
version = "10.7";
|
||||
version = "10.9";
|
||||
psqlSchema = "10.0"; # should be 10, but changing it is invasive
|
||||
sha256 = "1piyfcrcqscjhnnwn91kdvr764s7d0qz4lgygf9bl6qc71ji1vdz";
|
||||
sha256 = "0m0gbf7nwgag6a1z5f9xszwzgf2xhx0ncakyxwxlzs87n1zk32wm";
|
||||
this = self.postgresql_10;
|
||||
inherit self;
|
||||
};
|
||||
|
||||
postgresql_11 = self.callPackage generic {
|
||||
version = "11.2";
|
||||
version = "11.4";
|
||||
psqlSchema = "11.1"; # should be 11, but changing it is invasive
|
||||
sha256 = "01clq2lw0v83zh5dc89xdr3mmap0jr37kdkh401ph6f2177bjxi6";
|
||||
sha256 = "12ycjlqncijgmd5z078ybwda8ilas96lc7nxxmdq140mzpgjv002";
|
||||
this = self.postgresql_11;
|
||||
inherit self;
|
||||
};
|
||||
|
||||
@@ -18,15 +18,15 @@ stdenv.mkDerivation rec {
|
||||
mkdir -p $out/{lib,share/extension}
|
||||
|
||||
cp *.so $out/lib
|
||||
cp *.sql $out/share/extension
|
||||
cp *.control $out/share/extension
|
||||
cp *.sql $out/share/postgresql/extension
|
||||
cp *.control $out/share/postgresql/extension
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Columnar storage for PostgreSQL";
|
||||
homepage = https://www.citusdata.com/;
|
||||
maintainers = with maintainers; [ thoughtpolice ];
|
||||
platforms = platforms.linux;
|
||||
platforms = postgresql.meta.platforms;
|
||||
license = licenses.asl20;
|
||||
};
|
||||
}
|
||||
|
||||
33
pkgs/servers/sql/postgresql/ext/pg_auto_failover.nix
Normal file
33
pkgs/servers/sql/postgresql/ext/pg_auto_failover.nix
Normal file
@@ -0,0 +1,33 @@
|
||||
{ stdenv, fetchFromGitHub, postgresql, openssl }:
|
||||
|
||||
if stdenv.lib.versionOlder postgresql.version "10"
|
||||
then throw "pg_auto_failover not supported for PostgreSQL ${postgresql.version}"
|
||||
else
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "pg_auto_failover";
|
||||
version = "1.0.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "citusdata";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "1296zk143y9fvmcg2hjbrjdjfhi5rrd0clh16vblkghcvxrzfyvy";
|
||||
};
|
||||
|
||||
buildInputs = [ postgresql openssl ];
|
||||
|
||||
installPhase = ''
|
||||
install -D -t $out/bin src/bin/pg_autoctl/pg_autoctl
|
||||
install -D -t $out/lib src/monitor/pgautofailover.so
|
||||
install -D -t $out/share/postgresql/extension src/monitor/*.sql
|
||||
install -D -t $out/share/postgresql/extension src/monitor/pgautofailover.control
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "PostgreSQL extension and service for automated failover and high-availability";
|
||||
homepage = "https://github.com/citusdata/pg_auto_failover";
|
||||
maintainers = [ maintainers.marsam ];
|
||||
platforms = postgresql.meta.platforms;
|
||||
license = licenses.postgresql;
|
||||
};
|
||||
}
|
||||
32
pkgs/servers/sql/postgresql/ext/pg_bigm.nix
Normal file
32
pkgs/servers/sql/postgresql/ext/pg_bigm.nix
Normal file
@@ -0,0 +1,32 @@
|
||||
{ stdenv, fetchurl, postgresql }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "pg_bigm";
|
||||
version = "1.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://osdn/pgbigm/66565/${pname}-${version}-20161011.tar.gz";
|
||||
sha256 = "1jp30za4bhwlas0yrhyjs9m03b1sj63km61xnvcbnh0sizyvhwis";
|
||||
};
|
||||
|
||||
buildInputs = [ postgresql ];
|
||||
|
||||
makeFlags = [ "USE_PGXS=1" ];
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin # For buildEnv to setup proper symlinks. See #22653
|
||||
mkdir -p $out/{lib,share/extension}
|
||||
|
||||
cp *.so $out/lib
|
||||
cp *.sql $out/share/postgresql/extension
|
||||
cp *.control $out/share/postgresql/extension
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Text similarity measurement and index searching based on bigrams";
|
||||
homepage = "https://pgbigm.osdn.jp/";
|
||||
maintainers = [ maintainers.marsam ];
|
||||
platforms = postgresql.meta.platforms;
|
||||
license = licenses.postgresql;
|
||||
};
|
||||
}
|
||||
@@ -17,8 +17,8 @@ stdenv.mkDerivation rec {
|
||||
mkdir -p $out/{lib,share/extension}
|
||||
|
||||
cp *.so $out/lib
|
||||
cp *.sql $out/share/extension
|
||||
cp *.control $out/share/extension
|
||||
cp *.sql $out/share/postgresql/extension
|
||||
cp *.control $out/share/postgresql/extension
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
|
||||
@@ -17,15 +17,15 @@ stdenv.mkDerivation rec {
|
||||
mkdir -p $out/{lib,share/extension}
|
||||
|
||||
cp *.so $out/lib
|
||||
cp *.sql $out/share/extension
|
||||
cp *.control $out/share/extension
|
||||
cp *.sql $out/share/postgresql/extension
|
||||
cp *.control $out/share/postgresql/extension
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "HyperLogLog for PostgreSQL";
|
||||
homepage = https://www.citusdata.com/;
|
||||
maintainers = with maintainers; [ thoughtpolice ];
|
||||
platforms = platforms.linux;
|
||||
platforms = postgresql.meta.platforms;
|
||||
license = licenses.asl20;
|
||||
};
|
||||
}
|
||||
|
||||
33
pkgs/servers/sql/postgresql/ext/pg_partman.nix
Normal file
33
pkgs/servers/sql/postgresql/ext/pg_partman.nix
Normal file
@@ -0,0 +1,33 @@
|
||||
{ stdenv, fetchFromGitHub, postgresql }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "pg_partman";
|
||||
version = "4.1.0";
|
||||
|
||||
buildInputs = [ postgresql ];
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "pgpartman";
|
||||
repo = pname;
|
||||
rev = "refs/tags/v${version}";
|
||||
sha256 = "0bzv92x492jcwzhal9x4vc3vszixscdpxc6yq5rrqld26dhmsp06";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin # For buildEnv to setup proper symlinks. See #22653
|
||||
mkdir -p $out/{lib,share/extension}
|
||||
|
||||
cp src/*.so $out/lib
|
||||
cp updates/* $out/share/postgresql/extension
|
||||
cp -r sql/* $out/share/postgresql/extension
|
||||
cp *.control $out/share/postgresql/extension
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Partition management extension for PostgreSQL";
|
||||
homepage = https://github.com/pgpartman/pg_partman;
|
||||
maintainers = with maintainers; [ ggpeti ];
|
||||
platforms = postgresql.meta.platforms;
|
||||
license = licenses.postgresql;
|
||||
};
|
||||
}
|
||||
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
|
||||
installPhase = ''
|
||||
install -D bin/pg_repack -t $out/bin/
|
||||
install -D lib/pg_repack.so -t $out/lib/
|
||||
install -D lib/{pg_repack--${version}.sql,pg_repack.control} -t $out/share/extension
|
||||
install -D lib/{pg_repack--${version}.sql,pg_repack.control} -t $out/share/postgresql/extension
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
|
||||
27
pkgs/servers/sql/postgresql/ext/pg_safeupdate.nix
Normal file
27
pkgs/servers/sql/postgresql/ext/pg_safeupdate.nix
Normal file
@@ -0,0 +1,27 @@
|
||||
{ stdenv, fetchFromGitHub, postgresql }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "pg-safeupdate";
|
||||
version = "1.2";
|
||||
|
||||
buildInputs = [ postgresql ];
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "eradman";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "010m57jcv5v8pyfm1cqs3a306y750lvnvla9m5d98v5vdx3349jg";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin # for buildEnv, see https://github.com/NixOS/nixpkgs/issues/22653
|
||||
install -D safeupdate.so -t $out/lib
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "A simple extension to PostgreSQL that requires criteria for UPDATE and DELETE";
|
||||
homepage = "https://github.com/eradman/pg-safeupdate";
|
||||
platforms = postgresql.meta.platforms;
|
||||
license = licenses.postgresql;
|
||||
};
|
||||
}
|
||||
@@ -14,7 +14,7 @@ stdenv.mkDerivation {
|
||||
buildPhase = "USE_PGXS=1 make";
|
||||
installPhase = ''
|
||||
install -D pg_similarity.so -t $out/lib/
|
||||
install -D ./{pg_similarity--unpackaged--1.0.sql,pg_similarity--1.0.sql,pg_similarity.control} -t $out/share/extension
|
||||
install -D ./{pg_similarity--unpackaged--1.0.sql,pg_similarity--1.0.sql,pg_similarity.control} -t $out/share/postgresql/extension
|
||||
'';
|
||||
|
||||
meta = {
|
||||
@@ -23,7 +23,7 @@ stdenv.mkDerivation {
|
||||
is tightly integrated in the RDBMS in the sense that it defines operators so instead of the traditional
|
||||
operators (= and <>) you can use ~~~ and ~!~ (any of these operators represents a similarity function).
|
||||
'';
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
platforms = postgresql.meta.platforms;
|
||||
license = stdenv.lib.licenses.gpl2;
|
||||
maintainers = with lib.maintainers; [ danbst ];
|
||||
};
|
||||
|
||||
@@ -17,15 +17,15 @@ stdenv.mkDerivation rec {
|
||||
mkdir -p $out/{lib,share/extension}
|
||||
|
||||
cp *.so $out/lib
|
||||
cp *.sql $out/share/extension
|
||||
cp *.control $out/share/extension
|
||||
cp *.sql $out/share/postgresql/extension
|
||||
cp *.control $out/share/postgresql/extension
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Efficient querying of 'top values' for PostgreSQL";
|
||||
homepage = https://github.com/citusdata/postgresql-topn;
|
||||
maintainers = with maintainers; [ thoughtpolice ];
|
||||
platforms = platforms.linux;
|
||||
platforms = postgresql.meta.platforms;
|
||||
license = licenses.agpl3;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ stdenv, fetchFromGitHub, postgresql }:
|
||||
{ stdenv, fetchFromGitHub }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "pgjwt-${version}";
|
||||
@@ -13,8 +13,8 @@ stdenv.mkDerivation rec {
|
||||
|
||||
buildPhase = ":";
|
||||
installPhase = ''
|
||||
mkdir -p $out/share/extension
|
||||
cp pg*sql *.control $out/share/extension
|
||||
mkdir -p $out/share/postgresql/extension
|
||||
cp pg*sql *.control $out/share/postgresql/extension
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
{ stdenv, fetchurl, pkgconfig, postgresql, msgpack, groonga }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "pgroonga-${version}";
|
||||
version = "2.1.8";
|
||||
pname = "pgroonga";
|
||||
version = "2.2.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://packages.groonga.org/source/pgroonga/${name}.tar.gz";
|
||||
sha256 = "0k3cxl58rdbs19sv27sk8yhk8ai8r046hyg9araxqiplrxx9y01s";
|
||||
url = "https://packages.groonga.org/source/${pname}/${pname}-${version}.tar.gz";
|
||||
sha256 = "1cankcprikx8nf72yg4h8542gqqlfgww6d63kg7l8l8sz962d28b";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
@@ -16,13 +16,18 @@ stdenv.mkDerivation rec {
|
||||
|
||||
installPhase = ''
|
||||
install -D pgroonga.so -t $out/lib/
|
||||
install -D ./{pgroonga-*.sql,pgroonga.control} -t $out/share/extension
|
||||
install -D ./{pgroonga-*.sql,pgroonga.control} -t $out/share/postgresql/extension
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "A PostgreSQL extension to use Groonga as the index";
|
||||
longDescription = "PGroonga is a PostgreSQL extension to use Groonga as the index. PostgreSQL supports full text search against languages that use only alphabet and digit. It means that PostgreSQL doesn't support full text search against Japanese, Chinese and so on. You can use super fast full text search feature against all languages by installing PGroonga into your PostgreSQL.";
|
||||
homepage = https://pgroonga.github.io/;
|
||||
longDescription = ''
|
||||
PGroonga is a PostgreSQL extension to use Groonga as the index.
|
||||
PostgreSQL supports full text search against languages that use only alphabet and digit.
|
||||
It means that PostgreSQL doesn't support full text search against Japanese, Chinese and so on.
|
||||
You can use super fast full text search feature against all languages by installing PGroonga into your PostgreSQL.
|
||||
'';
|
||||
homepage = "https://pgroonga.github.io/";
|
||||
license = licenses.postgresql;
|
||||
maintainers = with maintainers; [ DerTim1 ];
|
||||
};
|
||||
|
||||
@@ -16,8 +16,8 @@ stdenv.mkDerivation rec {
|
||||
|
||||
installPhase = ''
|
||||
install -D lib/*.so -t $out/lib
|
||||
install -D sql/pgrouting--${version}.sql -t $out/share/extension
|
||||
install -D sql/common/pgrouting.control -t $out/share/extension
|
||||
install -D sql/pgrouting--${version}.sql -t $out/share/postgresql/extension
|
||||
install -D sql/common/pgrouting.control -t $out/share/postgresql/extension
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
|
||||
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
|
||||
nativeBuildInputs = [ postgresql perl perlPackages.TAPParserSourceHandlerpgTAP which ];
|
||||
|
||||
installPhase = ''
|
||||
install -D {sql/pgtap--${version}.sql,pgtap.control} -t $out/share/extension
|
||||
install -D {sql/pgtap--${version}.sql,pgtap.control} -t $out/share/postgresql/extension
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
|
||||
39
pkgs/servers/sql/postgresql/ext/pipelinedb.nix
Normal file
39
pkgs/servers/sql/postgresql/ext/pipelinedb.nix
Normal file
@@ -0,0 +1,39 @@
|
||||
{ stdenv, fetchFromGitHub, postgresql, zeromq, openssl }:
|
||||
|
||||
if stdenv.lib.versionOlder postgresql.version "10"
|
||||
then throw "PipelineDB not supported for PostgreSQL ${postgresql.version}"
|
||||
else
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "pipelinedb";
|
||||
version = "1.0.0-13";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "pipelinedb";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "1mnqpvx6g1r2n4kjrrx01vbdx7kvndfsbmm7zbzizjnjlyixz75f";
|
||||
};
|
||||
|
||||
buildInputs = [ postgresql openssl zeromq ];
|
||||
|
||||
makeFlags = [ "USE_PGXS=1" ];
|
||||
|
||||
preConfigure = ''
|
||||
substituteInPlace Makefile \
|
||||
--replace "/usr/lib/libzmq.a" "${zeromq}/lib/libzmq.a"
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin
|
||||
install -D -t $out/lib/ pipelinedb.so
|
||||
install -D -t $out/share/postgresql/extension {pipelinedb-*.sql,pipelinedb.control}
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "High-performance time-series aggregation for PostgreSQL";
|
||||
homepage = https://www.pipelinedb.com/;
|
||||
license = licenses.asl20;
|
||||
platforms = postgresql.meta.platforms;
|
||||
maintainers = [ maintainers.marsam ];
|
||||
};
|
||||
}
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "plv8";
|
||||
version = "2.3.11";
|
||||
version = "2.3.12";
|
||||
|
||||
nativeBuildInputs = [ perl ];
|
||||
buildInputs = [ v8 postgresql ];
|
||||
@@ -11,25 +11,25 @@ stdenv.mkDerivation rec {
|
||||
owner = "plv8";
|
||||
repo = "plv8";
|
||||
rev = "v${version}";
|
||||
sha256 = "0bv2b8xxdqqhj6nwyc8kwhi5m5i7i1yl078sk3bnnc84b0mnza5x";
|
||||
sha256 = "1yi1ibiibvd0x4z5dm698w32ljrj3yr4j25jm1zkgkwd4ii8y644";
|
||||
};
|
||||
|
||||
makeFlags = [ "--makefile=Makefile.shared" ];
|
||||
makefile = "Makefile.shared";
|
||||
|
||||
buildFlags = [ "all" ];
|
||||
|
||||
preConfigure = ''
|
||||
patchShebangs ./generate_upgrade.sh
|
||||
'';
|
||||
|
||||
buildPhase = "make -f Makefile.shared all";
|
||||
|
||||
installPhase = ''
|
||||
install -D plv8*.so -t $out/lib
|
||||
install -D {plls,plcoffee,plv8}{--${version}.sql,.control} -t $out/share/extension
|
||||
install -D {plls,plcoffee,plv8}{--${version}.sql,.control} -t $out/share/postgresql/extension
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "PL/v8 - A Procedural Language in JavaScript powered by V8";
|
||||
homepage = https://pgxn.org/dist/plv8/;
|
||||
description = "V8 Engine Javascript Procedural Language add-on for PostgreSQL";
|
||||
homepage = "https://plv8.github.io/";
|
||||
maintainers = with maintainers; [ volth ];
|
||||
platforms = platforms.linux;
|
||||
license = licenses.postgresql;
|
||||
|
||||
@@ -31,9 +31,9 @@ stdenv.mkDerivation rec {
|
||||
|
||||
preConfigure = ''
|
||||
sed -i 's@/usr/bin/file@${file}/bin/file@' configure
|
||||
configureFlags="--datadir=$out/share --datarootdir=$out/share --bindir=$out/bin --with-gdalconfig=${gdal}/bin/gdal-config --with-jsondir=${json_c.dev}"
|
||||
configureFlags="--datadir=$out/share/postgresql --datarootdir=$out/share/postgresql --bindir=$out/bin --with-gdalconfig=${gdal}/bin/gdal-config --with-jsondir=${json_c.dev}"
|
||||
|
||||
makeFlags="PERL=${perl}/bin/perl datadir=$out/share pkglibdir=$out/lib bindir=$out/bin"
|
||||
makeFlags="PERL=${perl}/bin/perl datadir=$out/share/postgresql pkglibdir=$out/lib bindir=$out/bin"
|
||||
'';
|
||||
postConfigure = ''
|
||||
sed -i "s|@mkdir -p \$(DESTDIR)\$(PGSQL_BINDIR)||g ;
|
||||
|
||||
@@ -15,15 +15,15 @@ stdenv.mkDerivation rec {
|
||||
|
||||
installPhase = ''
|
||||
install -D tds_fdw.so -t $out/lib
|
||||
install -D sql/tds_fdw--${version}.sql -t $out/share/extension
|
||||
install -D tds_fdw.control -t $out/share/extension
|
||||
install -D sql/tds_fdw--${version}.sql -t $out/share/postgresql/extension
|
||||
install -D tds_fdw.control -t $out/share/postgresql/extension
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "A PostgreSQL foreign data wrapper to connect to TDS databases (Sybase and Microsoft SQL Server)";
|
||||
homepage = https://github.com/tds-fdw/tds_fdw;
|
||||
maintainers = [ maintainers.steve-chavez ];
|
||||
platforms = platforms.linux;
|
||||
platforms = postgresql.meta.platforms;
|
||||
license = licenses.postgresql;
|
||||
};
|
||||
}
|
||||
|
||||
31
pkgs/servers/sql/postgresql/ext/temporal_tables.nix
Normal file
31
pkgs/servers/sql/postgresql/ext/temporal_tables.nix
Normal file
@@ -0,0 +1,31 @@
|
||||
{ stdenv, fetchFromGitHub, postgresql }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "temporal_tables";
|
||||
version = "1.2.0";
|
||||
|
||||
buildInputs = [ postgresql ];
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mlt";
|
||||
repo = pname;
|
||||
rev = "6cc86eb03d618d6b9fc09ae523f1a1e5228d22b5";
|
||||
sha256 = "0ykv37rm511n5955mbh9dcp7pgg88z1nwgszav7z6pziaj3nba8x";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/{bin,lib,share/extension}
|
||||
|
||||
cp *.so $out/lib
|
||||
cp *.sql $out/share/postgresql/extension
|
||||
cp *.control $out/share/postgresql/extension
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Temporal Tables PostgreSQL Extension ";
|
||||
homepage = https://github.com/mlt/temporal_tables;
|
||||
maintainers = with maintainers; [ ggpeti ];
|
||||
platforms = postgresql.meta.platforms;
|
||||
license = licenses.bsd2;
|
||||
};
|
||||
}
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "timescaledb-${version}";
|
||||
version = "1.2.2";
|
||||
version = "1.3.2";
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
buildInputs = [ postgresql openssl ];
|
||||
@@ -17,15 +17,17 @@ stdenv.mkDerivation rec {
|
||||
owner = "timescale";
|
||||
repo = "timescaledb";
|
||||
rev = "refs/tags/${version}";
|
||||
sha256 = "1fb1ab07jmgd1drinl25mbhwx966f75c7i7nh3ah0xf3cbk298xr";
|
||||
sha256 = "117az52h8isi15p47r5d6k5y80ng9vj3x8ljq39iavgr364q716c";
|
||||
};
|
||||
|
||||
cmakeFlags = [ "-DSEND_TELEMETRY_DEFAULT=OFF" ];
|
||||
|
||||
# Fix the install phase which tries to install into the pgsql extension dir,
|
||||
# and cannot be manually overridden. This is rather fragile but works OK.
|
||||
patchPhase = ''
|
||||
for x in CMakeLists.txt sql/CMakeLists.txt; do
|
||||
substituteInPlace "$x" \
|
||||
--replace 'DESTINATION "''${PG_SHAREDIR}/extension"' "DESTINATION \"$out/share/extension\""
|
||||
--replace 'DESTINATION "''${PG_SHAREDIR}/extension"' "DESTINATION \"$out/share/postgresql/extension\""
|
||||
done
|
||||
|
||||
for x in src/CMakeLists.txt src/loader/CMakeLists.txt tsl/src/CMakeLists.txt; do
|
||||
|
||||
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
installPhase = ''
|
||||
install -D tsearch_extras.so -t $out/lib/
|
||||
install -D ./{tsearch_extras--1.0.sql,tsearch_extras.control} -t $out/share/extension
|
||||
install -D ./{tsearch_extras--1.0.sql,tsearch_extras.control} -t $out/share/postgresql/extension
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
|
||||
@@ -7,6 +7,10 @@ self: super: {
|
||||
};
|
||||
};
|
||||
|
||||
pg_auto_failover = super.callPackage ./ext/pg_auto_failover.nix { };
|
||||
|
||||
pg_bigm = super.callPackage ./ext/pg_bigm.nix { };
|
||||
|
||||
pg_repack = super.callPackage ./ext/pg_repack.nix { };
|
||||
|
||||
pg_similarity = super.callPackage ./ext/pg_similarity.nix { };
|
||||
@@ -31,6 +35,10 @@ self: super: {
|
||||
|
||||
pgtap = super.callPackage ./ext/pgtap.nix { };
|
||||
|
||||
pipelinedb = super.callPackage ./ext/pipelinedb.nix { };
|
||||
|
||||
temporal_tables = super.callPackage ./ext/temporal_tables.nix { };
|
||||
|
||||
timescaledb = super.callPackage ./ext/timescaledb.nix { };
|
||||
|
||||
tsearch_extras = super.callPackage ./ext/tsearch_extras.nix { };
|
||||
@@ -38,4 +46,8 @@ self: super: {
|
||||
tds_fdw = super.callPackage ./ext/tds_fdw.nix { };
|
||||
|
||||
pgrouting = super.callPackage ./ext/pgrouting.nix { };
|
||||
|
||||
pg_partman = super.callPackage ./ext/pg_partman.nix { };
|
||||
|
||||
pg_safeupdate = super.callPackage ./ext/pg_safeupdate.nix { };
|
||||
}
|
||||
|
||||
59
pkgs/servers/sql/postgresql/patches/findstring.patch
Normal file
59
pkgs/servers/sql/postgresql/patches/findstring.patch
Normal file
@@ -0,0 +1,59 @@
|
||||
From: Matthew Bauer <mjbauer95@gmail.com>
|
||||
Date: Wed, 29 May 2019 22:51:52 -0400
|
||||
Subject: [PATCH] Add /postgresql suffix for Nix outputs
|
||||
|
||||
Nix outputs put the `name' in each store path like
|
||||
/nix/store/...-<name>. This was confusing the Postgres make script
|
||||
because it thought its data directory already had postgresql in its
|
||||
directory. This lead to Postgres installing all of its fils in
|
||||
$out/share. To fix this, we just look for postgres or psql in the part
|
||||
after the / using make's notdir.
|
||||
|
||||
---
|
||||
From: Matthew Bauer <mjbauer95@gmail.com>
|
||||
Date: Wed, 29 May 2019 22:51:52 -0400
|
||||
Subject: [PATCH] Add /postgresql suffix for Nix outputs
|
||||
|
||||
Nix outputs put the `name' in each store path like
|
||||
/nix/store/...-<name>. This was confusing the Postgres make script
|
||||
because it thought its data directory already had postgresql in its
|
||||
directory. This lead to Postgres installing all of its fils in
|
||||
$out/share. To fix this, we just look for postgres or psql in the part
|
||||
after the / using make's notdir.
|
||||
|
||||
---
|
||||
diff --git a/src/Makefile.global.in b/src/Makefile.global.in
|
||||
index b9d86acaa9..bce05464c3 100644
|
||||
--- a/src/Makefile.global.in
|
||||
+++ b/src/Makefile.global.in
|
||||
@@ -102,15 +102,15 @@ datarootdir := @datarootdir@
|
||||
bindir := @bindir@
|
||||
|
||||
datadir := @datadir@
|
||||
-ifeq "$(findstring pgsql, $(datadir))" ""
|
||||
-ifeq "$(findstring postgres, $(datadir))" ""
|
||||
+ifeq "$(findstring pgsql, $(notdir $(datadir)))" ""
|
||||
+ifeq "$(findstring postgres, $(notdir $(datadir)))" ""
|
||||
override datadir := $(datadir)/postgresql
|
||||
endif
|
||||
endif
|
||||
|
||||
sysconfdir := @sysconfdir@
|
||||
-ifeq "$(findstring pgsql, $(sysconfdir))" ""
|
||||
-ifeq "$(findstring postgres, $(sysconfdir))" ""
|
||||
+ifeq "$(findstring pgsql, $(notdir $(sysconfdir)))" ""
|
||||
+ifeq "$(findstring postgres, $(notdir $(sysconfdir)))" ""
|
||||
override sysconfdir := $(sysconfdir)/postgresql
|
||||
endif
|
||||
endif
|
||||
@@ -136,8 +136,8 @@ endif
|
||||
mandir := @mandir@
|
||||
|
||||
docdir := @docdir@
|
||||
-ifeq "$(findstring pgsql, $(docdir))" ""
|
||||
-ifeq "$(findstring postgres, $(docdir))" ""
|
||||
+ifeq "$(findstring pgsql, $(notdir $(docdir)))" ""
|
||||
+ifeq "$(findstring postgres, $(notdir $(docdir)))" ""
|
||||
override docdir := $(docdir)/postgresql
|
||||
endif
|
||||
endif
|
||||
Reference in New Issue
Block a user