From ec53e861f4facab24083d1d16427847e2e9ad1db Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Thu, 9 Dec 2021 00:19:00 +0100 Subject: postgresqlPackages.plv8: 2.3.15 → 3.0.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit https://github.com/plv8/plv8/blob/v3.0.0/Changes --- pkgs/servers/sql/postgresql/ext/plv8.nix | 16 ++++++++++++++-- pkgs/servers/sql/postgresql/packages.nix | 6 +----- 2 files changed, 15 insertions(+), 7 deletions(-) (limited to 'pkgs/servers/sql/postgresql') diff --git a/pkgs/servers/sql/postgresql/ext/plv8.nix b/pkgs/servers/sql/postgresql/ext/plv8.nix index a47ce613da6..6f5411340e4 100644 --- a/pkgs/servers/sql/postgresql/ext/plv8.nix +++ b/pkgs/servers/sql/postgresql/ext/plv8.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation rec { pname = "plv8"; - version = "2.3.15"; + version = "3.0.0"; nativeBuildInputs = [ perl ]; buildInputs = [ v8 postgresql ]; @@ -11,13 +11,18 @@ stdenv.mkDerivation rec { owner = "plv8"; repo = "plv8"; rev = "v${version}"; - sha256 = "1cv94n49gq2b377gqyq7pjjzw98czv4mwl3sx97y18c20zwp6rk3"; + sha256 = "KJz8wnGcTXnVn6umpP+UquuJTtQrkBTJ33rB/JIH4kU="; }; makefile = "Makefile.shared"; buildFlags = [ "all" ]; + makeFlags = [ + # Nixpkgs build a v8 monolith instead of separate v8_libplatform. + "V8_OUTDIR=${v8}/lib" + ]; + installFlags = [ # PGXS only supports installing to postgresql prefix so we need to redirect this "DESTDIR=${placeholder "out"}" @@ -25,6 +30,8 @@ stdenv.mkDerivation rec { preConfigure = '' patchShebangs ./generate_upgrade.sh + substituteInPlace generate_upgrade.sh \ + --replace " 2.3.10)" " 2.3.10 2.3.11 2.3.12 2.3.13 2.3.14 2.3.15)" ''; postInstall = '' @@ -35,6 +42,11 @@ stdenv.mkDerivation rec { rmdir "$out/nix/store"/* "$out/nix/store" "$out/nix" ''; + # Without this, PostgreSQL will crash at runtime. + # The flags are only included in Makefile, not Makefile.shared. + # https://github.com/plv8/plv8/pull/469 + NIX_CFLAGS_COMPILE = "-DJSONB_DIRECT_CONVERSION -DV8_COMPRESS_POINTERS=1 -DV8_31BIT_SMIS_ON_64BIT_ARCH=1"; + meta = with lib; { description = "V8 Engine Javascript Procedural Language add-on for PostgreSQL"; homepage = "https://plv8.github.io/"; diff --git a/pkgs/servers/sql/postgresql/packages.nix b/pkgs/servers/sql/postgresql/packages.nix index 1986ed68199..e751ae621f3 100644 --- a/pkgs/servers/sql/postgresql/packages.nix +++ b/pkgs/servers/sql/postgresql/packages.nix @@ -26,11 +26,7 @@ self: super: { plr = super.callPackage ./ext/plr.nix { }; - plv8 = super.callPackage ./ext/plv8.nix { - v8 = super.callPackage ../../../development/libraries/v8/plv8_6_x.nix { - python = self.python2; - }; - }; + plv8 = super.callPackage ./ext/plv8.nix { }; pgjwt = super.callPackage ./ext/pgjwt.nix { }; -- cgit 1.4.1