From 1a54459c105754304f5036757b497011e9b8f7ec Mon Sep 17 00:00:00 2001 From: Ivan Trubach Date: Thu, 15 Jun 2023 05:50:06 +0300 Subject: [PATCH] rubyPackages.pg: use pkg-config instead of pg_config This change forces pg native extension to use pkg-config to locate libpq instead of running pg_config. It also removes an unnecessary reference to postgresql package since build flags are embedded in the output at `$out/${ruby.gemPath}/build_info/*`. --- pkgs/development/ruby-modules/gem-config/default.nix | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/pkgs/development/ruby-modules/gem-config/default.nix b/pkgs/development/ruby-modules/gem-config/default.nix index 22794da25167..a9eb1f96ab84 100644 --- a/pkgs/development/ruby-modules/gem-config/default.nix +++ b/pkgs/development/ruby-modules/gem-config/default.nix @@ -573,9 +573,14 @@ in }; pg = attrs: { - buildFlags = [ - "--with-pg-config=${postgresql}/bin/pg_config" - ]; + # Force pkg-config lookup for libpq. + # See https://github.com/ged/ruby-pg/blob/6629dec6656f7ca27619e4675b45225d9e422112/ext/extconf.rb#L34-L55 + # + # Note that setting --with-pg-config=${postgresql}/bin/pg_config would add + # an unnecessary reference to the entire postgresql package. + buildFlags = [ "--with-pg-config=ignore" ]; + nativeBuildInputs = [ pkg-config ]; + buildInputs = [ postgresql ]; }; psych = attrs: {