From a1896739f6c7beced9d6a99b3e7aae8570eb4179 Mon Sep 17 00:00:00 2001 From: Wolfgang Walther Date: Fri, 8 Mar 2024 23:23:46 +0100 Subject: [PATCH 1/5] postgresql.pkgs: remove broken conditions for legacy versions PostgreSQL older than v12 is not in nixpkgs anymore, so marking those as still broken in that case doesn't make sense anymore. --- pkgs/servers/sql/postgresql/ext/periods.nix | 1 - pkgs/servers/sql/postgresql/ext/pg_auto_failover.nix | 1 - pkgs/servers/sql/postgresql/ext/pg_embedding.nix | 1 - pkgs/servers/sql/postgresql/ext/pg_net.nix | 1 - pkgs/servers/sql/postgresql/ext/plpgsql_check.nix | 1 - pkgs/servers/sql/postgresql/ext/postgis.nix | 1 - pkgs/servers/sql/postgresql/ext/promscale_extension.nix | 3 +-- pkgs/servers/sql/postgresql/ext/timescaledb_toolkit.nix | 2 +- 8 files changed, 2 insertions(+), 9 deletions(-) diff --git a/pkgs/servers/sql/postgresql/ext/periods.nix b/pkgs/servers/sql/postgresql/ext/periods.nix index 102f80cf8d71..422d6ddaf2b3 100644 --- a/pkgs/servers/sql/postgresql/ext/periods.nix +++ b/pkgs/servers/sql/postgresql/ext/periods.nix @@ -25,6 +25,5 @@ stdenv.mkDerivation rec { maintainers = with maintainers; [ ivan ]; platforms = postgresql.meta.platforms; license = licenses.postgresql; - broken = versionOlder postgresql.version "9.5"; }; } diff --git a/pkgs/servers/sql/postgresql/ext/pg_auto_failover.nix b/pkgs/servers/sql/postgresql/ext/pg_auto_failover.nix index 51b7d4fd70fa..d5766e62da5a 100644 --- a/pkgs/servers/sql/postgresql/ext/pg_auto_failover.nix +++ b/pkgs/servers/sql/postgresql/ext/pg_auto_failover.nix @@ -28,6 +28,5 @@ stdenv.mkDerivation rec { maintainers = [ maintainers.marsam ]; platforms = postgresql.meta.platforms; license = licenses.postgresql; - broken = versionOlder postgresql.version "10"; }; } diff --git a/pkgs/servers/sql/postgresql/ext/pg_embedding.nix b/pkgs/servers/sql/postgresql/ext/pg_embedding.nix index a39dcd537275..e858d6f0c5d0 100644 --- a/pkgs/servers/sql/postgresql/ext/pg_embedding.nix +++ b/pkgs/servers/sql/postgresql/ext/pg_embedding.nix @@ -25,6 +25,5 @@ stdenv.mkDerivation rec { maintainers = with maintainers; [ ivan ]; platforms = postgresql.meta.platforms; license = licenses.asl20; - broken = versionOlder postgresql.version "12"; }; } diff --git a/pkgs/servers/sql/postgresql/ext/pg_net.nix b/pkgs/servers/sql/postgresql/ext/pg_net.nix index 8ef3182ebeb6..a86f53eeef05 100644 --- a/pkgs/servers/sql/postgresql/ext/pg_net.nix +++ b/pkgs/servers/sql/postgresql/ext/pg_net.nix @@ -30,6 +30,5 @@ stdenv.mkDerivation rec { maintainers = with maintainers; [ thoughtpolice ]; platforms = postgresql.meta.platforms; license = licenses.postgresql; - broken = versionOlder postgresql.version "12"; }; } diff --git a/pkgs/servers/sql/postgresql/ext/plpgsql_check.nix b/pkgs/servers/sql/postgresql/ext/plpgsql_check.nix index 9e8b02c993f2..c2c974a8d872 100644 --- a/pkgs/servers/sql/postgresql/ext/plpgsql_check.nix +++ b/pkgs/servers/sql/postgresql/ext/plpgsql_check.nix @@ -41,7 +41,6 @@ stdenv.mkDerivation rec { changelog = "https://github.com/okbob/plpgsql_check/releases/tag/v${version}"; platforms = postgresql.meta.platforms; license = licenses.mit; - broken = versionOlder postgresql.version "12"; maintainers = [ maintainers.marsam ]; }; } diff --git a/pkgs/servers/sql/postgresql/ext/postgis.nix b/pkgs/servers/sql/postgresql/ext/postgis.nix index 1a5058375d5a..87333fe97504 100644 --- a/pkgs/servers/sql/postgresql/ext/postgis.nix +++ b/pkgs/servers/sql/postgresql/ext/postgis.nix @@ -83,6 +83,5 @@ stdenv.mkDerivation rec { license = licenses.gpl2; maintainers = with maintainers; teams.geospatial.members ++ [ marcweber ]; inherit (postgresql.meta) platforms; - broken = versionOlder postgresql.version "12"; }; } diff --git a/pkgs/servers/sql/postgresql/ext/promscale_extension.nix b/pkgs/servers/sql/postgresql/ext/promscale_extension.nix index e031bb4c021b..80de9315d985 100644 --- a/pkgs/servers/sql/postgresql/ext/promscale_extension.nix +++ b/pkgs/servers/sql/postgresql/ext/promscale_extension.nix @@ -54,7 +54,6 @@ buildPgxExtension rec { license = licenses.unfree; # as it needs to be used with timescaledb, simply use the condition from there - broken = versionOlder postgresql.version "12" - || versionAtLeast postgresql.version "15"; + broken = versionAtLeast postgresql.version "15"; }; } diff --git a/pkgs/servers/sql/postgresql/ext/timescaledb_toolkit.nix b/pkgs/servers/sql/postgresql/ext/timescaledb_toolkit.nix index 4f0e02059adf..77dd41db7f6d 100644 --- a/pkgs/servers/sql/postgresql/ext/timescaledb_toolkit.nix +++ b/pkgs/servers/sql/postgresql/ext/timescaledb_toolkit.nix @@ -62,6 +62,6 @@ in license = licenses.asl20; # as it needs to be used with timescaledb, simply use the condition from there - broken = versionOlder postgresql.version "12" || stdenv.isDarwin; + broken = stdenv.isDarwin; }; } From a69f3706c7361b51ad3a991bdf689ff64751ae74 Mon Sep 17 00:00:00 2001 From: Wolfgang Walther Date: Fri, 8 Mar 2024 23:27:49 +0100 Subject: [PATCH 2/5] postgresql_12.pkgs.pg_repack: fix build This failed because libxcrypt, which pg12 is linked against, was missing as a build input. In general, this is an indication that this extension needs the same build inputs that postgresql was built with - so we just pass those instead. This makes similar build failures less likely in the future. --- pkgs/servers/sql/postgresql/ext/pg_repack.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/servers/sql/postgresql/ext/pg_repack.nix b/pkgs/servers/sql/postgresql/ext/pg_repack.nix index e29918373c77..c265ae39ca46 100644 --- a/pkgs/servers/sql/postgresql/ext/pg_repack.nix +++ b/pkgs/servers/sql/postgresql/ext/pg_repack.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation (finalAttrs: { pname = "pg_repack"; version = "1.5.0"; - buildInputs = [ postgresql openssl zlib readline ]; + buildInputs = postgresql.buildInputs ++ [ postgresql ]; src = fetchFromGitHub { owner = "reorg"; From f58132cb157d226b024418c0643994f2d31f2800 Mon Sep 17 00:00:00 2001 From: Wolfgang Walther Date: Fri, 8 Mar 2024 23:30:12 +0100 Subject: [PATCH 3/5] postgresql.pkgs.repmgr: fix build on linux This failed because libpam, which postgresql is now linked against, was missing as a build input. In general, this is an indication that this extension needs the same build inputs that postgresql was built with - so we just pass those instead. This makes similar build failures less likely in the future. --- pkgs/servers/sql/postgresql/ext/repmgr.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pkgs/servers/sql/postgresql/ext/repmgr.nix b/pkgs/servers/sql/postgresql/ext/repmgr.nix index 93f607671579..e4e8c5afdb24 100644 --- a/pkgs/servers/sql/postgresql/ext/repmgr.nix +++ b/pkgs/servers/sql/postgresql/ext/repmgr.nix @@ -24,8 +24,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ flex ]; - buildInputs = [ postgresql openssl zlib readline curl json_c ] - ++ lib.optionals (stdenv.isLinux && lib.versionOlder postgresql.version "13") [ libxcrypt ]; + buildInputs = postgresql.buildInputs ++ [ postgresql curl json_c ]; installPhase = '' mkdir -p $out/{bin,lib,share/postgresql/extension} From 5a57e16d64748330ed7722ecb07d22f93ed967b2 Mon Sep 17 00:00:00 2001 From: Wolfgang Walther Date: Fri, 8 Mar 2024 23:30:43 +0100 Subject: [PATCH 4/5] postgresql.pkgs.pg_auto_failover: fix build on linux This failed because libpam, which postgresql is now linked against, was missing as a build input. In general, this is an indication that this extension needs the same build inputs that postgresql was built with - so we just pass those instead. This makes similar build failures less likely in the future. --- pkgs/servers/sql/postgresql/ext/pg_auto_failover.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pkgs/servers/sql/postgresql/ext/pg_auto_failover.nix b/pkgs/servers/sql/postgresql/ext/pg_auto_failover.nix index d5766e62da5a..ad3c6895b2ae 100644 --- a/pkgs/servers/sql/postgresql/ext/pg_auto_failover.nix +++ b/pkgs/servers/sql/postgresql/ext/pg_auto_failover.nix @@ -11,8 +11,7 @@ stdenv.mkDerivation rec { sha256 = "sha256-OIWykfFbVskrkPG/zSmZtZjc+W956KSfIzK7f5QOqpI="; }; - buildInputs = [ postgresql openssl zlib readline libkrb5 ] - ++ lib.optionals (stdenv.isLinux && lib.versionOlder postgresql.version "13") [ libxcrypt ]; + buildInputs = postgresql.buildInputs ++ [ postgresql ]; installPhase = '' install -D -t $out/bin src/bin/pg_autoctl/pg_autoctl From 81c32a6b3337d961a27bb9ac92f175b31e209d28 Mon Sep 17 00:00:00 2001 From: Wolfgang Walther Date: Fri, 8 Mar 2024 23:33:04 +0100 Subject: [PATCH 5/5] postgresql.pkgs.plv8: 3.1.5 -> 3.1.10 https://github.com/plv8/plv8/blob/v3.1.10/Changes 3.1.10 is currently not the latest version - 3.2.2 is. However, the 3.2 branch needs more changes to build successfully. The update to 3.1.10 makes this package build with postgresql_16 for now. --- .../ext/plv8/0001-build-Allow-using-V8-from-system.patch | 2 +- pkgs/servers/sql/postgresql/ext/plv8/default.nix | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/servers/sql/postgresql/ext/plv8/0001-build-Allow-using-V8-from-system.patch b/pkgs/servers/sql/postgresql/ext/plv8/0001-build-Allow-using-V8-from-system.patch index 74e4eb1922de..05f607911f20 100644 --- a/pkgs/servers/sql/postgresql/ext/plv8/0001-build-Allow-using-V8-from-system.patch +++ b/pkgs/servers/sql/postgresql/ext/plv8/0001-build-Allow-using-V8-from-system.patch @@ -5,7 +5,7 @@ index 38879cc..6e78eeb 100644 @@ -20,6 +20,7 @@ OBJS = $(SRCS:.cc=.o) MODULE_big = plv8-$(PLV8_VERSION) EXTENSION = plv8 - PLV8_DATA = plv8.control plv8--$(PLV8_VERSION).sql $(wildcard upgrade/*.sql) + PLV8_DATA = plv8.control plv8--$(PLV8_VERSION).sql +USE_SYSTEM_V8 = 0 diff --git a/pkgs/servers/sql/postgresql/ext/plv8/default.nix b/pkgs/servers/sql/postgresql/ext/plv8/default.nix index 2c4989711cce..241aa610c8f9 100644 --- a/pkgs/servers/sql/postgresql/ext/plv8/default.nix +++ b/pkgs/servers/sql/postgresql/ext/plv8/default.nix @@ -12,13 +12,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "plv8"; - version = "3.1.5"; + version = "3.1.10"; src = fetchFromGitHub { owner = "plv8"; repo = "plv8"; rev = "v${finalAttrs.version}"; - hash = "sha256-LodC2eQJSm5fLckrjm2RuejZhmOyQMJTv9b0iPCnzKQ="; + hash = "sha256-g1A/XPC0dX2360Gzvmo9/FSQnM6Wt2K4eR0pH0p9fz4="; }; patches = [