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 00000000000..b835141e2ca --- /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 f433a652dd9..d54b05f8744 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 { }; }