From 73a1f269c3075e1a4e62f8953069a5ed96fe4ea5 Mon Sep 17 00:00:00 2001 From: Anish Pallati Date: Thu, 24 Sep 2026 03:44:21 -0400 Subject: [PATCH] postgresqlPackages.pgroonga: 4.0.5 -> 4.0.9 Signed-off-by: Anish Pallati --- pkgs/servers/sql/postgresql/ext/pgroonga.nix | 59 +++++++++++++++++--- 1 file changed, 52 insertions(+), 7 deletions(-) diff --git a/pkgs/servers/sql/postgresql/ext/pgroonga.nix b/pkgs/servers/sql/postgresql/ext/pgroonga.nix index 8dcca959985a..5149605db401 100644 --- a/pkgs/servers/sql/postgresql/ext/pgroonga.nix +++ b/pkgs/servers/sql/postgresql/ext/pgroonga.nix @@ -2,37 +2,82 @@ fetchFromGitHub, groonga, lib, + meson, msgpack-c, + ninja, pkg-config, postgresql, postgresqlBuildExtension, + ruby, + stdenvNoCC, xxhash, }: postgresqlBuildExtension (finalAttrs: { pname = "pgroonga"; - version = "4.0.5"; + version = "4.0.9"; src = fetchFromGitHub { owner = "pgroonga"; repo = "pgroonga"; tag = finalAttrs.version; - hash = "sha256-PwUnjwqnmoWQ9kKZuKsAVzVBRyKvT+aexrm5eeRiRIQ="; + hash = "sha256-ADHrHCUrpu5aCAU84QyLkmDDJ6QwICLsL6M8o/OMWxU="; }; - nativeBuildInputs = [ pkg-config ]; + nativeBuildInputs = [ + meson + ninja + pkg-config + ]; buildInputs = [ msgpack-c groonga xxhash ]; - makeFlags = [ - "HAVE_XXHASH=1" - "HAVE_MSGPACK=1" - "MSGPACK_PACKAGE_NAME=msgpack-c" + mesonFlags = [ + (lib.mesonEnable "message_pack" true) + # tests need pgroonga installed on a running server, run in passthru.tests.regression + (lib.mesonBool "test" false) ]; + # postgresqlBuildExtension moves files out of DESTDIR in postInstall + mesonInstallFlags = [ "--destdir=${placeholder "out"}" ]; + + passthru.tests.regression = stdenvNoCC.mkDerivation { + pname = "${finalAttrs.pname}-regression"; + inherit (finalAttrs) version src; + + nativeBuildInputs = [ ruby ]; + + dontConfigure = true; + + buildPhase = '' + runHook preBuild + + patchShebangs test/short-pgappname + ruby test/prepare.rb schedule + # the expected parallel plan depends on the planner's index size estimate + sed -i '/declarative-partitioning\/builtin/d' schedule + # fails intermittently + sed -i '/function\/wal-apply\/delete$/d' schedule + + ${lib.getDev postgresql}/lib/pgxs/src/test/regress/pg_regress \ + --bindir=${postgresql.withPackages (_: [ finalAttrs.finalPackage ])}/bin \ + --inputdir=. \ + --outputdir=. \ + --temp-instance=./tmp_check \ + --encoding=UTF8 \ + --launcher=test/short-pgappname \ + --load-extension=pgroonga \ + --schedule=schedule + + runHook postBuild + ''; + + installPhase = "touch $out"; + }; + meta = { description = "PostgreSQL extension to use Groonga as the index"; longDescription = ''