From e3156c859540407391ab19ee6d3e481eb949a6be Mon Sep 17 00:00:00 2001 From: Mario Rodas Date: Fri, 24 May 2019 04:20:00 -0500 Subject: [PATCH] postgresqlPackages.pg_auto_failover: init at 1.0.2 --- .../sql/postgresql/ext/pg_auto_failover.nix | 33 +++++++++++++++++++ pkgs/servers/sql/postgresql/packages.nix | 2 ++ 2 files changed, 35 insertions(+) create mode 100644 pkgs/servers/sql/postgresql/ext/pg_auto_failover.nix diff --git a/pkgs/servers/sql/postgresql/ext/pg_auto_failover.nix b/pkgs/servers/sql/postgresql/ext/pg_auto_failover.nix new file mode 100644 index 00000000000..d241d2aa7db --- /dev/null +++ b/pkgs/servers/sql/postgresql/ext/pg_auto_failover.nix @@ -0,0 +1,33 @@ +{ stdenv, fetchFromGitHub, postgresql, openssl }: + +if stdenv.lib.versionOlder postgresql.version "10" +then throw "pg_auto_failover not supported for PostgreSQL ${postgresql.version}" +else +stdenv.mkDerivation rec { + pname = "pg_auto_failover"; + version = "1.0.2"; + + src = fetchFromGitHub { + owner = "citusdata"; + repo = pname; + rev = "v${version}"; + sha256 = "1296zk143y9fvmcg2hjbrjdjfhi5rrd0clh16vblkghcvxrzfyvy"; + }; + + buildInputs = [ postgresql openssl ]; + + installPhase = '' + install -D -t $out/bin src/bin/pg_autoctl/pg_autoctl + install -D -t $out/lib src/monitor/pgautofailover.so + install -D -t $out/share/extension src/monitor/*.sql + install -D -t $out/share/extension src/monitor/pgautofailover.control + ''; + + meta = with stdenv.lib; { + description = "PostgreSQL extension and service for automated failover and high-availability"; + homepage = "https://github.com/citusdata/pg_auto_failover"; + maintainers = [ maintainers.marsam ]; + platforms = postgresql.meta.platforms; + license = licenses.postgresql; + }; +} diff --git a/pkgs/servers/sql/postgresql/packages.nix b/pkgs/servers/sql/postgresql/packages.nix index 60faa2db240..f3d2ac68884 100644 --- a/pkgs/servers/sql/postgresql/packages.nix +++ b/pkgs/servers/sql/postgresql/packages.nix @@ -7,6 +7,8 @@ self: super: { }; }; + pg_auto_failover = super.callPackage ./ext/pg_auto_failover.nix { }; + pg_repack = super.callPackage ./ext/pg_repack.nix { }; pg_similarity = super.callPackage ./ext/pg_similarity.nix { };