php.buildEnv: Let enabled extensions to pass through by default

If only extraConfig is specified in buildEnv, keep the currently
enabled extensions active. Brought up in #89011.
wip/yesman
talyz 4 years ago
parent 8c5f4b8a3b
commit bfdc832aef
No known key found for this signature in database
GPG Key ID: 2DED2151F4671A2B
  1. 6
      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;

Loading…
Cancel
Save