Merge: [Backport release-24.11] postgresqlPackages: enable update scripts and update many packages (#357398)

This commit is contained in:
Maximilian Bosch 2024-11-20 19:06:54 +01:00 committed by GitHub
commit bca81a31fe
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
27 changed files with 149 additions and 119 deletions

View File

@ -60,70 +60,88 @@
lib, lib,
stdenv, stdenv,
postgresql, postgresql,
nix-update-script,
}: }:
args: args:
let let
buildPostgresqlExtension = finalAttrs: prevAttrs: { buildPostgresqlExtension =
buildInputs = [ postgresql ] ++ prevAttrs.buildInputs or [ ]; finalAttrs:
{
enableUpdateScript ? true,
...
}@prevAttrs:
{
passthru =
prevAttrs.passthru or { }
// lib.optionalAttrs enableUpdateScript {
updateScript =
prevAttrs.passthru.updateScript or (nix-update-script (
lib.optionalAttrs (lib.hasInfix "unstable" prevAttrs.version) {
extraArgs = [ "--version=branch" ];
}
));
};
installFlags = [ buildInputs = [ postgresql ] ++ prevAttrs.buildInputs or [ ];
"DESTDIR=${placeholder "out"}"
] ++ prevAttrs.installFlags or [ ];
postInstall = installFlags = [
'' "DESTDIR=${placeholder "out"}"
# DESTDIR + pg_config install the files into ] ++ prevAttrs.installFlags or [ ];
# /nix/store/<extension>/nix/store/<postgresql>/...
# We'll now remove the /nix/store/<postgresql> part:
if [[ -d "$out${postgresql}" ]]; then
cp -alt "$out" "$out${postgresql}"/*
rm -r "$out${postgresql}"
fi
if [[ -d "$out${postgresql.dev}" ]]; then postInstall =
mkdir -p "''${dev:-$out}" ''
cp -alt "''${dev:-$out}" "$out${postgresql.dev}"/* # DESTDIR + pg_config install the files into
rm -r "$out${postgresql.dev}" # /nix/store/<extension>/nix/store/<postgresql>/...
fi # We'll now remove the /nix/store/<postgresql> part:
if [[ -d "$out${postgresql}" ]]; then
cp -alt "$out" "$out${postgresql}"/*
rm -r "$out${postgresql}"
fi
if [[ -d "$out${postgresql.lib}" ]]; then if [[ -d "$out${postgresql.dev}" ]]; then
mkdir -p "''${lib:-$out}" mkdir -p "''${dev:-$out}"
cp -alt "''${lib:-$out}" "$out${postgresql.lib}"/* cp -alt "''${dev:-$out}" "$out${postgresql.dev}"/*
rm -r "$out${postgresql.lib}" rm -r "$out${postgresql.dev}"
fi fi
if [[ -d "$out${postgresql.doc}" ]]; then if [[ -d "$out${postgresql.lib}" ]]; then
mkdir -p "''${doc:-$out}" mkdir -p "''${lib:-$out}"
cp -alt "''${doc:-$out}" "$out${postgresql.doc}"/* cp -alt "''${lib:-$out}" "$out${postgresql.lib}"/*
rm -r "$out${postgresql.doc}" rm -r "$out${postgresql.lib}"
fi fi
if [[ -d "$out${postgresql.man}" ]]; then if [[ -d "$out${postgresql.doc}" ]]; then
mkdir -p "''${man:-$out}" mkdir -p "''${doc:-$out}"
cp -alt "''${man:-$out}" "$out${postgresql.man}"/* cp -alt "''${doc:-$out}" "$out${postgresql.doc}"/*
rm -r "$out${postgresql.man}" rm -r "$out${postgresql.doc}"
fi fi
# In some cases (postgis) parts of the install script if [[ -d "$out${postgresql.man}" ]]; then
# actually work "OK", before we add DESTDIR, so some mkdir -p "''${man:-$out}"
# files end up in cp -alt "''${man:-$out}" "$out${postgresql.man}"/*
# /nix/store/<extension>/nix/store/<extension>/... rm -r "$out${postgresql.man}"
if [[ -d "$out$out" ]]; then fi
cp -alt "$out" "$out$out"/*
rm -r "$out$out"
fi
if [[ -d "$out/nix/store" ]]; then # In some cases (postgis) parts of the install script
if ! rmdir "$out/nix/store" "$out/nix"; then # actually work "OK", before we add DESTDIR, so some
find "$out/nix" # files end up in
nixErrorLog 'Found left-overs in $out/nix/store, make sure to move them into $out properly.' # /nix/store/<extension>/nix/store/<extension>/...
exit 1 if [[ -d "$out$out" ]]; then
fi cp -alt "$out" "$out$out"/*
fi rm -r "$out$out"
'' fi
+ prevAttrs.postInstall or "";
}; if [[ -d "$out/nix/store" ]]; then
if ! rmdir "$out/nix/store" "$out/nix"; then
find "$out/nix"
nixErrorLog 'Found left-overs in $out/nix/store, make sure to move them into $out properly.'
exit 1
fi
fi
''
+ prevAttrs.postInstall or "";
};
in in
stdenv.mkDerivation (lib.extends buildPostgresqlExtension (lib.toFunction args)) stdenv.mkDerivation (lib.extends buildPostgresqlExtension (lib.toFunction args))

View File

@ -28,6 +28,7 @@ buildPostgresqlExtension rec {
"PERL=${perl}/bin/perl" "PERL=${perl}/bin/perl"
]; ];
enableUpdateScript = false;
passthru.tests = stdenv.mkDerivation { passthru.tests = stdenv.mkDerivation {
inherit version src; inherit version src;

View File

@ -36,6 +36,7 @@ buildPostgresqlExtension (finalAttrs: {
runHook postPatch runHook postPatch
''; '';
enableUpdateScript = false;
passthru.tests.extension = postgresqlTestExtension { passthru.tests.extension = postgresqlTestExtension {
inherit (finalAttrs) finalPackage; inherit (finalAttrs) finalPackage;
sql = '' sql = ''

View File

@ -9,13 +9,13 @@
buildPostgresqlExtension rec { buildPostgresqlExtension rec {
pname = "citus"; pname = "citus";
version = "12.1.2"; version = "12.1.6";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "citusdata"; owner = "citusdata";
repo = "citus"; repo = "citus";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-0uYNMLAYigtGlDRvOEkQeC5i58QfXcdSVjTQwWVFX+8="; hash = "sha256-PYABH4e5Wp5hMvEQMRHjPL7gDVu8Wud6d+BzrBBMjIQ=";
}; };
buildInputs = [ buildInputs = [
@ -30,7 +30,7 @@ buildPostgresqlExtension rec {
broken = versionOlder postgresql.version "14" || broken = versionOlder postgresql.version "14" ||
# PostgreSQL 17 support issue upstream: https://github.com/citusdata/citus/issues/7708 # PostgreSQL 17 support issue upstream: https://github.com/citusdata/citus/issues/7708
# Check after next package update. # Check after next package update.
(versionAtLeast postgresql.version "17" && version == "12.1.2"); (versionAtLeast postgresql.version "17" && version == "12.1.6");
description = "Distributed PostgreSQL as an extension"; description = "Distributed PostgreSQL as an extension";
homepage = "https://www.citusdata.com/"; homepage = "https://www.citusdata.com/";
changelog = "https://github.com/citusdata/citus/blob/${src.rev}/CHANGELOG.md"; changelog = "https://github.com/citusdata/citus/blob/${src.rev}/CHANGELOG.md";

View File

@ -2,7 +2,7 @@
buildPostgresqlExtension rec { buildPostgresqlExtension rec {
pname = "cstore_fdw"; pname = "cstore_fdw";
version = "unstable-2022-03-08"; version = "1.7.0-unstable-2021-03-08";
nativeBuildInputs = [ protobufc ]; nativeBuildInputs = [ protobufc ];

View File

@ -10,21 +10,24 @@
buildPostgresqlExtension (finalAttrs: { buildPostgresqlExtension (finalAttrs: {
pname = "h3-pg"; pname = "h3-pg";
version = "4.1.3"; version = "4.1.4";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "zachasme"; owner = "zachasme";
repo = "h3-pg"; repo = "h3-pg";
rev = "v${finalAttrs.version}"; rev = "v${finalAttrs.version}";
hash = "sha256-nkaDZ+JuMtsGUJVx70DD2coLrmc/T8/cNov7pfNF1Eg="; hash = "sha256-uZ4XI/VXRr636CI1r24D6ykPQqO5qZNxNQLUQKmoPtg=";
}; };
postPatch = '' postPatch = ''
substituteInPlace CMakeLists.txt \ substituteInPlace CMakeLists.txt \
--replace "add_subdirectory(cmake/h3)" "include_directories(${lib.getDev h3_4}/include/h3)" --replace-fail "add_subdirectory(cmake/h3)" "include_directories(${lib.getDev h3_4}/include/h3)"
'' + lib.optionalString stdenv.hostPlatform.isDarwin '' '' + lib.optionalString stdenv.hostPlatform.isDarwin ''
substituteInPlace cmake/AddPostgreSQLExtension.cmake \ substituteInPlace cmake/AddPostgreSQLExtension.cmake \
--replace "INTERPROCEDURAL_OPTIMIZATION TRUE" "" --replace-fail "INTERPROCEDURAL_OPTIMIZATION TRUE" ""
# Commented upstream: https://github.com/zachasme/h3-pg/pull/141/files#r1844970927
substituteInPlace cmake/FindPostgreSQL.cmake \
--replace-fail 'list(APPEND PostgreSQL_INCLUDE_DIRS "/usr/local/include")' ""
''; '';
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -2,7 +2,7 @@
buildPostgresqlExtension rec { buildPostgresqlExtension rec {
pname = "jsonb_deep_sum"; pname = "jsonb_deep_sum";
version = "unstable-2021-12-24"; version = "0-unstable-2021-12-24";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "furstenheim"; owner = "furstenheim";

View File

@ -10,13 +10,13 @@
buildPostgresqlExtension (finalAttrs: { buildPostgresqlExtension (finalAttrs: {
pname = "postgresql-lantern"; pname = "postgresql-lantern";
version = "0.4.1"; version = "0.5.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "lanterndata"; owner = "lanterndata";
repo = "lantern"; repo = "lantern";
rev = "v${finalAttrs.version}"; rev = "v${finalAttrs.version}";
hash = "sha256-V8W61hELXeaVvNZgRUcckFlCMWis7NENlRKySxsK/L8="; hash = "sha256-IsDD/um5pVvbzin8onf45DQVszl+Id/pJSQ2iijgHmg=";
fetchSubmodules = true; fetchSubmodules = true;
}; };

View File

@ -2,13 +2,13 @@
buildPostgresqlExtension rec { buildPostgresqlExtension rec {
pname = "periods"; pname = "periods";
version = "1.2.2"; version = "1.2.3";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "xocolatl"; owner = "xocolatl";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-ezt+MtDqPM8OmJCD6oQTS644l+XHZoxuivq0PUIXOY8="; sha256 = "sha256-97v6+WNDcYb/KivlE/JBlRIZ3gYHj68AlK0fylp1cPo=";
}; };
meta = with lib; { meta = with lib; {

View File

@ -2,23 +2,15 @@
buildPostgresqlExtension rec { buildPostgresqlExtension rec {
pname = "pg_bigm"; pname = "pg_bigm";
version = "1.2-20200228"; version = "1.2-20240606";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "pgbigm"; owner = "pgbigm";
repo = "pg_bigm"; repo = "pg_bigm";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-3lspEglVWzEUTiRIWqW0DpQe8gDn9R/RxsWuI9znYc8="; hash = "sha256-5Uy1DmGZR4WdtRUvNdZ5b9zBHJUb9idcEzW20rkreBs=";
}; };
patches = [
# Fix compatibility with PostgreSQL 16. Remove with the next release.
(fetchpatch {
url = "https://github.com/pgbigm/pg_bigm/commit/2a9d783c52a1d7a2eb414da6f091f6035da76edf.patch";
hash = "sha256-LuMpSUPnT8cPChQfA9sJEKP4aGpsbN5crfTKLnDzMN8=";
})
];
makeFlags = [ "USE_PGXS=1" ]; makeFlags = [ "USE_PGXS=1" ];
meta = with lib; { meta = with lib; {

View File

@ -44,6 +44,8 @@ buildPostgresqlExtension {
substituteInPlace Makefile --replace "LDFLAGS+=-Wl,--build-id" "" substituteInPlace Makefile --replace "LDFLAGS+=-Wl,--build-id" ""
''; '';
enableUpdateScript = false;
meta = with lib; { meta = with lib; {
description = "Extension to tweak PostgreSQL execution plans using so-called 'hints' in SQL comments"; description = "Extension to tweak PostgreSQL execution plans using so-called 'hints' in SQL comments";
homepage = "https://github.com/ossc-db/pg_hint_plan"; homepage = "https://github.com/ossc-db/pg_hint_plan";

View File

@ -2,7 +2,7 @@
buildPostgresqlExtension rec { buildPostgresqlExtension rec {
pname = "pg_net"; pname = "pg_net";
version = "0.8.0"; version = "0.13.0";
buildInputs = [ curl ]; buildInputs = [ curl ];
@ -10,7 +10,7 @@ buildPostgresqlExtension rec {
owner = "supabase"; owner = "supabase";
repo = pname; repo = pname;
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-ZPsRPWV1G3lMM2mT+H139Wvgoy8QnmeUbzEnGeDJmZA="; hash = "sha256-FRaTZPCJQPYAFmsJg22hYJJ0+gH1tMdDQoCQgiqEnaA=";
}; };
env.NIX_CFLAGS_COMPILE = "-Wno-error"; env.NIX_CFLAGS_COMPILE = "-Wno-error";

View File

@ -9,7 +9,7 @@
buildPostgresqlExtension (finalAttrs: { buildPostgresqlExtension (finalAttrs: {
pname = "pg_repack"; pname = "pg_repack";
version = "1.5.0"; version = "1.5.1";
buildInputs = postgresql.buildInputs; buildInputs = postgresql.buildInputs;
@ -17,7 +17,7 @@ buildPostgresqlExtension (finalAttrs: {
owner = "reorg"; owner = "reorg";
repo = "pg_repack"; repo = "pg_repack";
rev = "ver_${finalAttrs.version}"; rev = "ver_${finalAttrs.version}";
sha256 = "sha256-do80phyMxwcRIkYyUt9z02z7byNQhK+pbSaCUmzG+4c="; sha256 = "sha256-wJwy4qIt6/kgWqT6HbckUVqDayDkixqHpYiC1liLERw=";
}; };
passthru.tests = { passthru.tests = {

View File

@ -1,8 +1,8 @@
{ stdenv, lib, fetchFromGitHub, fetchpatch, postgresql, unstableGitUpdater, buildPostgresqlExtension }: { stdenv, lib, fetchFromGitHub, fetchpatch, postgresql, buildPostgresqlExtension }:
buildPostgresqlExtension { buildPostgresqlExtension {
pname = "pg_similarity"; pname = "pg_similarity";
version = "1.0-unstable-2021-01-12"; version = "pg_similarity_1_0-unstable-2021-01-12";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "eulerto"; owner = "eulerto";
@ -23,8 +23,6 @@ buildPostgresqlExtension {
makeFlags = [ "USE_PGXS=1" ]; makeFlags = [ "USE_PGXS=1" ];
passthru.updateScript = unstableGitUpdater {};
meta = { meta = {
description = "Extension to support similarity queries on PostgreSQL"; description = "Extension to support similarity queries on PostgreSQL";
longDescription = '' longDescription = ''

View File

@ -1,16 +1,17 @@
{ lib, stdenv, fetchFromGitHub, postgresql, postgresqlTestExtension, buildPostgresqlExtension }: { lib, stdenv, fetchFromGitHub, postgresql, postgresqlTestExtension, buildPostgresqlExtension, nix-update-script }:
buildPostgresqlExtension (finalAttrs: { buildPostgresqlExtension (finalAttrs: {
pname = "pg_squeeze"; pname = "pg_squeeze";
version = "1.7.0"; version = "${builtins.replaceStrings ["_"] ["."] (lib.strings.removePrefix "REL" finalAttrs.src.rev)}";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "cybertec-postgresql"; owner = "cybertec-postgresql";
repo = "pg_squeeze"; repo = "pg_squeeze";
rev = "REL${builtins.replaceStrings ["."] ["_"] finalAttrs.version}"; rev = "REL1_7_0";
hash = "sha256-Kh1wSOvV5Rd1CG/na3yzbWzvaR8SJ6wmTZOnM+lbgik="; hash = "sha256-Kh1wSOvV5Rd1CG/na3yzbWzvaR8SJ6wmTZOnM+lbgik=";
}; };
passthru.updateScript = nix-update-script { extraArgs = [ "--version-regex=REL(.*)" ]; };
passthru.tests.extension = postgresqlTestExtension { passthru.tests.extension = postgresqlTestExtension {
inherit (finalAttrs) finalPackage; inherit (finalAttrs) finalPackage;
postgresqlExtraSettings = '' postgresqlExtraSettings = ''

View File

@ -7,13 +7,13 @@
buildPostgresqlExtension rec { buildPostgresqlExtension rec {
pname = "pg_uuidv7"; pname = "pg_uuidv7";
version = "1.5.0"; version = "1.6.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "fboulnois"; owner = "fboulnois";
repo = "pg_uuidv7"; repo = "pg_uuidv7";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-oVyRtjl3KsD3j96qvQb8bFLMhoWO81OudOL4wVXrjzI="; hash = "sha256-lG6dCnbLALnfQc4uclqXXXfYjK/WXLV0lo5I8l1E5p4=";
}; };
meta = with lib; { meta = with lib; {

View File

@ -43,6 +43,8 @@ buildPostgresqlExtension {
makeFlags = [ "USE_PGXS=1" ]; makeFlags = [ "USE_PGXS=1" ];
enableUpdateScript = false;
meta = with lib; { meta = with lib; {
description = "Open Source PostgreSQL Audit Logging"; description = "Open Source PostgreSQL Audit Logging";
homepage = "https://github.com/pgaudit/pgaudit"; homepage = "https://github.com/pgaudit/pgaudit";

View File

@ -8,13 +8,13 @@
buildPostgresqlExtension rec { buildPostgresqlExtension rec {
pname = "pgmq"; pname = "pgmq";
version = "1.4.4"; version = "1.4.5";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "tembo-io"; owner = "tembo-io";
repo = "pgmq"; repo = "pgmq";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-z+8/BqIlHwlMnuIzMz6eylmYbSmhtsNt7TJf/CxbdVw="; hash = "sha256-ynco5t/z7+IPEynuY1wtSaoVloMr6z7UYn4byZecOhg=";
}; };
sourceRoot = "${src.name}/pgmq-extension"; sourceRoot = "${src.name}/pgmq-extension";

View File

@ -1,18 +1,21 @@
{ lib, stdenv, fetchurl, pkg-config, postgresql, msgpack-c, groonga, buildPostgresqlExtension }: { lib, stdenv, fetchFromGitHub, pkg-config, postgresql, msgpack-c, groonga, buildPostgresqlExtension, xxHash }:
buildPostgresqlExtension rec { buildPostgresqlExtension rec {
pname = "pgroonga"; pname = "pgroonga";
version = "3.2.3"; version = "3.2.4";
src = fetchurl { src = fetchFromGitHub {
url = "https://packages.groonga.org/source/${pname}/${pname}-${version}.tar.gz"; owner = "pgroonga";
hash = "sha256-k9+DgiLzU2cA3jvw3pMF7/FmDGxsCYtAOaUtf2LMTnw="; repo = "pgroonga";
rev = "${version}";
hash = "sha256-ZHACMsQ+hneU68Y2jOpz16Mo0jzgXKaVSCZ/qAqCDdI=";
}; };
nativeBuildInputs = [ pkg-config ]; nativeBuildInputs = [ pkg-config ];
buildInputs = [ msgpack-c groonga ]; buildInputs = [ msgpack-c groonga xxHash ];
makeFlags = [ makeFlags = [
"HAVE_XXHASH=1"
"HAVE_MSGPACK=1" "HAVE_MSGPACK=1"
"MSGPACK_PACKAGE_NAME=msgpack-c" "MSGPACK_PACKAGE_NAME=msgpack-c"
]; ];

View File

@ -2,7 +2,7 @@
buildPostgresqlExtension rec { buildPostgresqlExtension rec {
pname = "pgrouting"; pname = "pgrouting";
version = "3.6.3"; version = "3.7.0";
nativeBuildInputs = [ cmake perl ]; nativeBuildInputs = [ cmake perl ];
buildInputs = [ boost ]; buildInputs = [ boost ];
@ -11,7 +11,7 @@ buildPostgresqlExtension rec {
owner = "pgRouting"; owner = "pgRouting";
repo = "pgrouting"; repo = "pgrouting";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-VCoapUM7Vh4W1DUE/gWQ9YIRLbw63XlOWsgajJW+XNU="; hash = "sha256-IwH8bEdyJyPMFYtCfWLRr+jVmS5sOr5QFOhGykGPYh4=";
}; };
meta = with lib; { meta = with lib; {

View File

@ -2,13 +2,13 @@
buildPostgresqlExtension rec { buildPostgresqlExtension rec {
pname = "pgsql-http"; pname = "pgsql-http";
version = "1.6.0"; version = "1.6.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "pramsey"; owner = "pramsey";
repo = "pgsql-http"; repo = "pgsql-http";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-CPHfx7vhWfxkXsoKTzyFuTt47BPMvzi/pi1leGcuD60="; hash = "sha256-C8eqi0q1dnshUAZjIsZFwa5FTYc7vmATF3vv2CReWPM=";
}; };
buildInputs = [ curl ]; buildInputs = [ curl ];

View File

@ -2,13 +2,13 @@
buildPostgresqlExtension rec { buildPostgresqlExtension rec {
pname = "pgvector"; pname = "pgvector";
version = "0.6.2"; version = "0.8.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "pgvector"; owner = "pgvector";
repo = "pgvector"; repo = "pgvector";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-r+TpFJg6WrMn0L2B7RpmSRvw3XxpHzMRtpFWDCzLvgs="; hash = "sha256-JsZV+I4eRMypXTjGmjCtMBXDVpqTIPHQa28ogXncE/Q=";
}; };
meta = with lib; { meta = with lib; {

View File

@ -2,13 +2,13 @@
buildPostgresqlExtension (finalAttrs: { buildPostgresqlExtension (finalAttrs: {
pname = "plpgsql-check"; pname = "plpgsql-check";
version = "2.7.5"; version = "2.7.12";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "okbob"; owner = "okbob";
repo = "plpgsql_check"; repo = "plpgsql_check";
rev = "v${finalAttrs.version}"; rev = "v${finalAttrs.version}";
hash = "sha256-CD/G/wX6o+mC6gowlpFe1DdJWyh3cB9wxSsW2GXrENE="; hash = "sha256-sLakN4595z+Smt7oaK7IPIJZp/JIGwL5UB4OXQek7JU=";
}; };
passthru.tests.extension = postgresqlTestExtension { passthru.tests.extension = postgresqlTestExtension {

View File

@ -2,12 +2,12 @@
buildPostgresqlExtension rec { buildPostgresqlExtension rec {
pname = "plr"; pname = "plr";
version = "8.4.7"; version = "${builtins.replaceStrings ["_"] ["."] (lib.strings.removePrefix "REL" src.rev)}";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "postgres-plr"; owner = "postgres-plr";
repo = "plr"; repo = "plr";
rev = "REL${builtins.replaceStrings ["."] ["_"] version}"; rev = "REL8_4_7";
sha256 = "sha256-PdvFEmtKfLT/xfaf6obomPR5hKC9F+wqpfi1heBphRk="; sha256 = "sha256-PdvFEmtKfLT/xfaf6obomPR5hKC9F+wqpfi1heBphRk=";
}; };

View File

@ -1,5 +1,5 @@
{ {
fetchurl, fetchFromGitHub,
lib, lib,
stdenv, stdenv,
perl, perl,
@ -22,6 +22,10 @@
jitSupport, jitSupport,
llvm, llvm,
buildPostgresqlExtension, buildPostgresqlExtension,
autoconf,
automake,
libtool,
which,
}: }:
let let
@ -36,9 +40,11 @@ buildPostgresqlExtension (finalAttrs: {
"doc" "doc"
]; ];
src = fetchurl { src = fetchFromGitHub {
url = "https://download.osgeo.org/postgis/source/postgis-${finalAttrs.version}.tar.gz"; owner = "postgis";
hash = "sha256-ymmKIswrKzRnrE4GO0OihBPzAE3dUFvczddMVqZH9RA="; repo = "postgis";
rev = "${finalAttrs.version}";
hash = "sha256-wh7Lav2vnKzGWuSvvMFvAaGV7ynD+KgPsFUgujdtzlA=";
}; };
buildInputs = [ buildInputs = [
@ -51,8 +57,12 @@ buildPostgresqlExtension (finalAttrs: {
pcre2.dev pcre2.dev
] ++ lib.optional stdenv.hostPlatform.isDarwin libiconv; ] ++ lib.optional stdenv.hostPlatform.isDarwin libiconv;
nativeBuildInputs = [ nativeBuildInputs = [
autoconf
automake
libtool
perl perl
pkg-config pkg-config
which
] ++ lib.optional jitSupport llvm; ] ++ lib.optional jitSupport llvm;
dontDisableStatic = true; dontDisableStatic = true;
@ -70,7 +80,7 @@ buildPostgresqlExtension (finalAttrs: {
setOutputFlags = false; setOutputFlags = false;
preConfigure = '' preConfigure = ''
sed -i 's@/usr/bin/file@${file}/bin/file@' configure ./autogen.sh
''; '';
configureFlags = [ configureFlags = [

View File

@ -10,13 +10,13 @@
buildPostgresqlExtension rec { buildPostgresqlExtension rec {
pname = "repmgr"; pname = "repmgr";
version = "5.4.1"; version = "5.5.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "EnterpriseDB"; owner = "EnterpriseDB";
repo = "repmgr"; repo = "repmgr";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-OaEoP1BajVW9dt8On9Ppf8IXmAk47HHv8zKw3WlsLHw="; sha256 = "sha256-8G2CzzkWTKEglpUt1Gr7d/DuHJvCIEjsbYDMl3Zt3cs=";
}; };
nativeBuildInputs = [ flex ]; nativeBuildInputs = [ flex ];
@ -29,9 +29,6 @@ buildPostgresqlExtension rec {
license = licenses.postgresql; license = licenses.postgresql;
platforms = postgresql.meta.platforms; platforms = postgresql.meta.platforms;
maintainers = with maintainers; [ zimbatm ]; maintainers = with maintainers; [ zimbatm ];
# PostgreSQL 17 support issue upstream: https://github.com/EnterpriseDB/repmgr/issues/856
# Check after next package update.
broken = versionAtLeast postgresql.version "17" && version == "5.4.1";
}; };
} }

View File

@ -8,12 +8,14 @@
buildPostgresqlExtension rec { buildPostgresqlExtension rec {
pname = "wal2json"; pname = "wal2json";
version = "2.6"; version = "${builtins.replaceStrings [ "_" ] [ "." ] (
lib.strings.removePrefix "wal2json_" src.rev
)}";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "eulerto"; owner = "eulerto";
repo = "wal2json"; repo = "wal2json";
rev = "wal2json_${builtins.replaceStrings [ "." ] [ "_" ] version}"; rev = "wal2json_2_6";
sha256 = "sha256-+QoACPCKiFfuT2lJfSUmgfzC5MXf75KpSoc2PzPxKyM="; sha256 = "sha256-+QoACPCKiFfuT2lJfSUmgfzC5MXf75KpSoc2PzPxKyM=";
}; };
@ -24,7 +26,7 @@ buildPostgresqlExtension rec {
meta = with lib; { meta = with lib; {
description = "PostgreSQL JSON output plugin for changeset extraction"; description = "PostgreSQL JSON output plugin for changeset extraction";
homepage = "https://github.com/eulerto/wal2json"; homepage = "https://github.com/eulerto/wal2json";
changelog = "https://github.com/eulerto/wal2json/releases/tag/wal2json_${version}"; changelog = "https://github.com/eulerto/wal2json/releases/tag/${src.rev}";
maintainers = with maintainers; [ euank ]; maintainers = with maintainers; [ euank ];
platforms = postgresql.meta.platforms; platforms = postgresql.meta.platforms;
license = licenses.bsd3; license = licenses.bsd3;