diff options
Diffstat (limited to 'nixpkgs/pkgs/servers/sql/postgresql/ext/timescaledb.nix')
-rw-r--r-- | nixpkgs/pkgs/servers/sql/postgresql/ext/timescaledb.nix | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/servers/sql/postgresql/ext/timescaledb.nix b/nixpkgs/pkgs/servers/sql/postgresql/ext/timescaledb.nix new file mode 100644 index 000000000000..419bec6823d7 --- /dev/null +++ b/nixpkgs/pkgs/servers/sql/postgresql/ext/timescaledb.nix @@ -0,0 +1,46 @@ +{ stdenv, fetchFromGitHub, cmake, postgresql, openssl }: + +# # To enable on NixOS: +# config.services.postgresql = { +# extraPlugins = [ pkgs.timescaledb ]; +# extraConfig = "shared_preload_libraries = 'timescaledb'"; +# } + +stdenv.mkDerivation rec { + pname = "timescaledb"; + version = "1.7.1"; + + nativeBuildInputs = [ cmake ]; + buildInputs = [ postgresql openssl ]; + + src = fetchFromGitHub { + owner = "timescale"; + repo = "timescaledb"; + rev = "refs/tags/${version}"; + sha256 = "11h1vvchnipcxvvbjb5y4bgkdzdsik5cq8k8yzkrqz8q33zmjvgg"; + }; + + cmakeFlags = [ "-DSEND_TELEMETRY_DEFAULT=OFF" "-DREGRESS_CHECKS=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/postgresql/extension\"" + done + + for x in src/CMakeLists.txt src/loader/CMakeLists.txt tsl/src/CMakeLists.txt; do + substituteInPlace "$x" \ + --replace 'DESTINATION ''${PG_PKGLIBDIR}' "DESTINATION \"$out/lib\"" + done + ''; + + meta = with stdenv.lib; { + description = "Scales PostgreSQL for time-series data via automatic partitioning across time and space"; + homepage = "https://www.timescale.com/"; + maintainers = with maintainers; [ volth marsam ]; + platforms = postgresql.meta.platforms; + license = licenses.asl20; + }; +} |