tangled
alpha
login
or
join now
pyrox.dev
/
nixpkgs
lol
0
fork
atom
overview
issues
pulls
pipelines
postgresqlPackages.promscale_extension: init at 0.8.0
Pavel Anpin
2 years ago
3efea7f0
549c1a62
+62
2 changed files
expand all
collapse all
unified
split
pkgs
servers
sql
postgresql
ext
promscale_extension.nix
packages.nix
+60
pkgs/servers/sql/postgresql/ext/promscale_extension.nix
···
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
···
1
+
{ lib
2
+
, fetchFromGitHub
3
+
, fetchpatch
4
+
, buildPgxExtension
5
+
, postgresql
6
+
, stdenv
7
+
, nixosTests
8
+
}:
9
+
10
+
buildPgxExtension rec {
11
+
inherit postgresql;
12
+
13
+
pname = "promscale_extension";
14
+
version = "0.8.0";
15
+
16
+
src = fetchFromGitHub {
17
+
owner = "timescale";
18
+
repo = "promscale_extension";
19
+
rev = version;
20
+
sha256 = "sha256-vyEfQMGguHrHYdBEEmbev29L2uCa/4xL9DpGIniUwfI=";
21
+
};
22
+
23
+
cargoSha256 = "sha256-vq/R9Kd0a9ckgEYm9Kt2J+RdyiHHYVutNEM4dcRViUo=";
24
+
25
+
cargoPatches = [
26
+
# there is a duplicate definition in the lock file which fails to build with buildRustPackage
27
+
(fetchpatch {
28
+
name = "cargo-vendor.patch";
29
+
url = "https://github.com/timescale/promscale_extension/commit/3cef3f26f72ebf52d8800910ea655cac09312c57.patch";
30
+
hash = "sha256-bXwvOv6T09EsCu+QCOCZny+V/Cy1UvCP6zlE8TdBlEg=";
31
+
})
32
+
];
33
+
34
+
preBuild = ''
35
+
patchShebangs create-upgrade-symlinks.sh extract-extension-version.sh
36
+
## Hack to boostrap the build because some pgx commands require this file. It gets re-generated later.
37
+
cp templates/promscale.control ./promscale.control
38
+
'';
39
+
postInstall = ''
40
+
ln -s $out/lib/promscale-${version}.so $out/lib/promscale.so
41
+
'';
42
+
passthru.tests = {
43
+
promscale = nixosTests.promscale;
44
+
};
45
+
46
+
# tests take really long
47
+
doCheck = false;
48
+
49
+
meta = with lib; {
50
+
description = "Promscale is an open source observability backend for metrics and traces powered by SQL";
51
+
homepage = "https://github.com/timescale/promscale_extension";
52
+
maintainers = with maintainers; [ anpin ];
53
+
platforms = postgresql.meta.platforms;
54
+
license = licenses.unfree;
55
+
56
+
# as it needs to be used with timescaledb, simply use the condition from there
57
+
broken = versionOlder postgresql.version "12"
58
+
|| versionAtLeast postgresql.version "15";
59
+
};
60
+
}
+2
pkgs/servers/sql/postgresql/packages.nix
···
71
72
pg_safeupdate = super.callPackage ./ext/pg_safeupdate.nix { };
73
0
0
74
repmgr = super.callPackage ./ext/repmgr.nix { };
75
76
rum = super.callPackage ./ext/rum.nix { };
···
71
72
pg_safeupdate = super.callPackage ./ext/pg_safeupdate.nix { };
73
74
+
promscale_extension = super.callPackage ./ext/promscale_extension.nix { };
75
+
76
repmgr = super.callPackage ./ext/repmgr.nix { };
77
78
rum = super.callPackage ./ext/rum.nix { };