diff options
Diffstat (limited to 'pkgs/development/interpreters/php/default.nix')
-rw-r--r-- | pkgs/development/interpreters/php/default.nix | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/pkgs/development/interpreters/php/default.nix b/pkgs/development/interpreters/php/default.nix index 4b112de1f0e7..b56824c77238 100644 --- a/pkgs/development/interpreters/php/default.nix +++ b/pkgs/development/interpreters/php/default.nix @@ -42,7 +42,7 @@ let # consecutive calls to buildEnv and overrides to work as # expected. mkBuildEnv = prevArgs: prevExtensionFunctions: lib.makeOverridable ( - { extensions ? ({...}: []), extraConfig ? "", ... }@innerArgs: + { extensions ? ({ enabled, ... }: enabled), extraConfig ? "", ... }@innerArgs: let allArgs = args // prevArgs // innerArgs; filteredArgs = builtins.removeAttrs allArgs [ "extensions" "extraConfig" ]; @@ -55,8 +55,8 @@ let allExtensionFunctions = prevExtensionFunctions ++ [ extensions ]; enabledExtensions = builtins.foldl' - (state: f: - f { enabled = state; all = php-packages.extensions; }) + (enabled: f: + f { inherit enabled; all = php-packages.extensions; }) [] allExtensionFunctions; @@ -195,9 +195,10 @@ let hardeningDisable = [ "bindnow" ]; - preConfigure = '' - # Don't record the configure flags since this causes unnecessary - # runtime dependencies + preConfigure = + # Don't record the configure flags since this causes unnecessary + # runtime dependencies + '' for i in main/build-defs.h.in scripts/php-config.in; do substituteInPlace $i \ --replace '@CONFIGURE_COMMAND@' '(omitted)' \ @@ -206,7 +207,14 @@ let done 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 if test -f $src/genfiles; then |