1{
2 bzip2,
3 fetchFromGitHub,
4 lib,
5 libbacktrace,
6 libpq,
7 libssh2,
8 libxml2,
9 libyaml,
10 lz4,
11 meson,
12 ninja,
13 pkg-config,
14 python3,
15 stdenv,
16 zlib,
17 zstd,
18 nixosTests,
19}:
20
21stdenv.mkDerivation (finalAttrs: {
22 pname = "pgbackrest";
23 version = "2.55.1";
24
25 src = fetchFromGitHub {
26 owner = "pgbackrest";
27 repo = "pgbackrest";
28 tag = "release/${finalAttrs.version}";
29 hash = "sha256-A1dTywcCHBu7Ml0Q9k//VVPFN1C3kmmMkq4ok9T4g94=";
30 };
31
32 strictDeps = true;
33
34 nativeBuildInputs = [
35 meson
36 ninja
37 pkg-config
38 python3
39 ];
40
41 buildInputs = [
42 bzip2
43 libbacktrace
44 libpq
45 libssh2
46 libxml2
47 libyaml
48 lz4
49 zlib
50 zstd
51 ];
52
53 passthru.tests = nixosTests.pgbackrest;
54
55 meta = {
56 description = "Reliable PostgreSQL backup & restore";
57 homepage = "https://pgbackrest.org";
58 changelog = "https://github.com/pgbackrest/pgbackrest/releases/tag/release%2F${finalAttrs.version}";
59 license = lib.licenses.mit;
60 mainProgram = "pgbackrest";
61 maintainers = with lib.maintainers; [ zaninime ];
62 };
63})