diff --git a/pkgs/servers/sql/postgresql/generic.nix b/pkgs/servers/sql/postgresql/generic.nix index 906d3094c399..15a85c2a9960 100644 --- a/pkgs/servers/sql/postgresql/generic.nix +++ b/pkgs/servers/sql/postgresql/generic.nix @@ -366,6 +366,7 @@ let postPatch = '' substituteInPlace "src/Makefile.global.in" --subst-var out + substituteInPlace "src/common/config_info.c" --subst-var dev cat ${./pg_config.env.mk} >> src/common/Makefile ''; @@ -373,7 +374,12 @@ let '' moveToOutput "bin/ecpg" "$dev" moveToOutput "lib/pgxs" "$dev" - + '' + + lib.optionalString (stdenv'.buildPlatform.canExecute stdenv'.hostPlatform) '' + mkdir -p "$dev/nix-support" + "$out/bin/pg_config" > "$dev/nix-support/pg_config.expected" + '' + + '' rm "$out/bin/pg_config" make -C src/common pg_config.env install -D src/common/pg_config.env "$dev/nix-support/pg_config.env" diff --git a/pkgs/servers/sql/postgresql/pg_config.nix b/pkgs/servers/sql/postgresql/pg_config.nix index 04b71f6935af..20544cdb0614 100644 --- a/pkgs/servers/sql/postgresql/pg_config.nix +++ b/pkgs/servers/sql/postgresql/pg_config.nix @@ -1,7 +1,9 @@ { + diffutils, lib, replaceVarsWith, runtimeShell, + stdenv, # PostgreSQL package finalPackage, }: @@ -15,4 +17,12 @@ replaceVarsWith { inherit runtimeShell; postgresql-dev = lib.getDev finalPackage; }; + nativeCheckInputs = [ + diffutils + ]; + postCheck = '' + if [ -e ${lib.getDev finalPackage}/nix-support/pg_config.expected ]; then + diff ${lib.getDev finalPackage}/nix-support/pg_config.expected <($out/bin/pg_config) + fi + ''; }