1{ lib
2, stdenv
3, fetchFromGitHub
4, postgresql
5, openssl
6, zlib
7, readline
8, flex
9, curl
10, json_c
11, libxcrypt
12}:
13
14stdenv.mkDerivation rec {
15 pname = "repmgr";
16 version = "5.4.1";
17
18 src = fetchFromGitHub {
19 owner = "EnterpriseDB";
20 repo = "repmgr";
21 rev = "v${version}";
22 sha256 = "sha256-OaEoP1BajVW9dt8On9Ppf8IXmAk47HHv8zKw3WlsLHw=";
23 };
24
25 nativeBuildInputs = [ flex ];
26
27 buildInputs = [ postgresql openssl zlib readline curl json_c ]
28 ++ lib.optionals (stdenv.isLinux && lib.versionOlder postgresql.version "13") [ libxcrypt ];
29
30 installPhase = ''
31 mkdir -p $out/{bin,lib,share/postgresql/extension}
32
33 cp repmgr{,d} $out/bin
34 cp *${postgresql.dlSuffix} $out/lib
35 cp *.sql $out/share/postgresql/extension
36 cp *.control $out/share/postgresql/extension
37 '';
38
39 meta = with lib; {
40 homepage = "https://repmgr.org/";
41 description = "Replication manager for PostgreSQL cluster";
42 license = licenses.postgresql;
43 platforms = postgresql.meta.platforms;
44 maintainers = with maintainers; [ zimbatm ];
45 };
46}
47