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.
This commit is contained in:
talyz 2020-05-29 00:32:12 +02:00
parent 8c5f4b8a3b
commit bfdc832aef
No known key found for this signature in database
GPG key ID: 2DED2151F4671A2B

View file

@ -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;