forked from mirrors/nixpkgs
8cbe6b9ce4
This is a backwards compatible change; it mostly puts all the extensions for postgresql in a common directory to keep them isolated. It also moves a few things that /were not/ extensions out into other parts of the filesystem namespace; namely the postgresql_jdbc and psqlodbc libraries were moved under development/java-modules and development/libraries, respectively. Because these libraries use the libpq postgresql client drivers, they're less sensitive to underlying version changes anyway (since the protocol is relatively stable). No attributes were renamed or harmed in the creation of this patch. Signed-off-by: Austin Seipp <aseipp@pobox.com>
52 lines
1.6 KiB
Nix
52 lines
1.6 KiB
Nix
{ stdenv, fetchFromGitHub, cmake, postgresql, openssl }:
|
|
|
|
# # To enable on NixOS:
|
|
# config.services.postgresql = {
|
|
# extraPlugins = [ pkgs.timescaledb ];
|
|
# extraConfig = "shared_preload_libraries = 'timescaledb'";
|
|
# }
|
|
|
|
stdenv.mkDerivation rec {
|
|
name = "timescaledb-${version}";
|
|
version = "1.0.0";
|
|
|
|
nativeBuildInputs = [ cmake ];
|
|
buildInputs = [ postgresql openssl ];
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "timescale";
|
|
repo = "timescaledb";
|
|
rev = "refs/tags/${version}";
|
|
sha256 = "1359jc0dw8q3f0iipqfadzs8lvri9qa5w59ziz00x1d09ppw2q40";
|
|
};
|
|
|
|
# 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\""
|
|
done
|
|
|
|
for x in src/CMakeLists.txt src/loader/CMakeLists.txt; do
|
|
substituteInPlace "$x" \
|
|
--replace 'DESTINATION ''${PG_PKGLIBDIR}' "DESTINATION \"$out/lib\""
|
|
done
|
|
'';
|
|
|
|
postInstall = ''
|
|
# work around an annoying bug, by creating $out/bin, so buildEnv doesn't freak out later
|
|
# see https://github.com/NixOS/nixpkgs/issues/22653
|
|
|
|
mkdir -p $out/bin
|
|
'';
|
|
|
|
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 ];
|
|
platforms = platforms.linux;
|
|
license = licenses.asl20;
|
|
};
|
|
}
|