about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/servers/sql/postgresql/ext/pg_safeupdate.nix27
-rw-r--r--pkgs/servers/sql/postgresql/packages.nix2
2 files changed, 29 insertions, 0 deletions
diff --git a/pkgs/servers/sql/postgresql/ext/pg_safeupdate.nix b/pkgs/servers/sql/postgresql/ext/pg_safeupdate.nix
new file mode 100644
index 000000000000..b835141e2ca7
--- /dev/null
+++ b/pkgs/servers/sql/postgresql/ext/pg_safeupdate.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchFromGitHub, postgresql }:
+
+stdenv.mkDerivation rec {
+  pname = "pg-safeupdate";
+  version = "1.2";
+
+  buildInputs = [ postgresql ];
+
+  src = fetchFromGitHub {
+    owner  = "eradman";
+    repo   = pname;
+    rev    = version;
+    sha256 = "010m57jcv5v8pyfm1cqs3a306y750lvnvla9m5d98v5vdx3349jg";
+  };
+
+  installPhase = ''
+    mkdir -p $out/bin # for buildEnv, see https://github.com/NixOS/nixpkgs/issues/22653
+    install -D safeupdate.so -t $out/lib
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A simple extension to PostgreSQL that requires criteria for UPDATE and DELETE";
+    homepage    = "https://github.com/eradman/pg-safeupdate";
+    platforms   = postgresql.meta.platforms;
+    license     = licenses.postgresql;
+  };
+}
diff --git a/pkgs/servers/sql/postgresql/packages.nix b/pkgs/servers/sql/postgresql/packages.nix
index f433a652dd95..d54b05f8744f 100644
--- a/pkgs/servers/sql/postgresql/packages.nix
+++ b/pkgs/servers/sql/postgresql/packages.nix
@@ -46,4 +46,6 @@ self: super: {
     pgrouting = super.callPackage ./ext/pgrouting.nix { };
 
     pg_partman = super.callPackage ./ext/pg_partman.nix { };
+
+    pg_safeupdate = super.callPackage ./ext/pg_safeupdate.nix { };
 }