php < 7.4: Fix validation of PKG_CONFIG var

They were assuming it is an absolute path, but it (conventionally) can
be something to look up on the PATH too.

Fixes #90202
This commit is contained in:
John Ericson 2020-06-13 19:05:15 +00:00
parent 41dc003692
commit c1b9f86cdd

View file

@ -195,9 +195,10 @@ let
hardeningDisable = [ "bindnow" ]; hardeningDisable = [ "bindnow" ];
preConfigure = '' preConfigure =
# Don't record the configure flags since this causes unnecessary # Don't record the configure flags since this causes unnecessary
# runtime dependencies # runtime dependencies
''
for i in main/build-defs.h.in scripts/php-config.in; do for i in main/build-defs.h.in scripts/php-config.in; do
substituteInPlace $i \ substituteInPlace $i \
--replace '@CONFIGURE_COMMAND@' '(omitted)' \ --replace '@CONFIGURE_COMMAND@' '(omitted)' \
@ -206,7 +207,14 @@ let
done done
export EXTENSION_DIR=$out/lib/php/extensions export EXTENSION_DIR=$out/lib/php/extensions
''
# PKG_CONFIG need not be a relative path
+ lib.optionalString (! lib.versionAtLeast version "7.4") ''
for i in $(find . -type f -name "*.m4"); do
substituteInPlace $i \
--replace 'test -x "$PKG_CONFIG"' 'type -P "$PKG_CONFIG" >/dev/null'
done
'' + ''
./buildconf --copy --force ./buildconf --copy --force
if test -f $src/genfiles; then if test -f $src/genfiles; then