1{ lib
2, fetchFromGitHub
3, buildPgxExtension
4, postgresql
5, nixosTests
6, cargo-pgx_0_7_1
7, nix-update-script
8, stdenv
9}:
10
11(buildPgxExtension.override {cargo-pgx = cargo-pgx_0_7_1;})rec {
12 inherit postgresql;
13
14 pname = "timescaledb_toolkit";
15 version = "1.16.0";
16
17 src = fetchFromGitHub {
18 owner = "timescale";
19 repo = "timescaledb-toolkit";
20 rev = version;
21 sha256 = "sha256-aivGURTsm0dGaFq75qR3wIkXwsbvBiDEg+qLMcqKMj8=";
22 };
23
24 cargoSha256 = "sha256-AO5nSgQYvTmohXbzjWvDylnBgS2WpKP6wFOnkUx7ksI=";
25 buildAndTestSubdir = "extension";
26
27 passthru = {
28 updateScript = nix-update-script { };
29 tests = {
30 timescaledb_toolkit = nixosTests.timescaledb;
31 };
32 };
33
34 # tests take really long
35 doCheck = false;
36
37 meta = with lib; {
38 description = "Provide additional tools to ease all things analytic when using TimescaleDB";
39 homepage = "https://github.com/timescale/timescaledb-toolkit";
40 maintainers = with maintainers; [ typetetris ];
41 platforms = postgresql.meta.platforms;
42 license = licenses.asl20;
43
44 # as it needs to be used with timescaledb, simply use the condition from there
45 broken = versionOlder postgresql.version "12" || stdenv.isDarwin;
46 };
47}