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:
parent
8c5f4b8a3b
commit
bfdc832aef
|
@ -42,7 +42,7 @@ let
|
||||||
# consecutive calls to buildEnv and overrides to work as
|
# consecutive calls to buildEnv and overrides to work as
|
||||||
# expected.
|
# expected.
|
||||||
mkBuildEnv = prevArgs: prevExtensionFunctions: lib.makeOverridable (
|
mkBuildEnv = prevArgs: prevExtensionFunctions: lib.makeOverridable (
|
||||||
{ extensions ? ({...}: []), extraConfig ? "", ... }@innerArgs:
|
{ extensions ? ({ enabled, ... }: enabled), extraConfig ? "", ... }@innerArgs:
|
||||||
let
|
let
|
||||||
allArgs = args // prevArgs // innerArgs;
|
allArgs = args // prevArgs // innerArgs;
|
||||||
filteredArgs = builtins.removeAttrs allArgs [ "extensions" "extraConfig" ];
|
filteredArgs = builtins.removeAttrs allArgs [ "extensions" "extraConfig" ];
|
||||||
|
@ -55,8 +55,8 @@ let
|
||||||
allExtensionFunctions = prevExtensionFunctions ++ [ extensions ];
|
allExtensionFunctions = prevExtensionFunctions ++ [ extensions ];
|
||||||
enabledExtensions =
|
enabledExtensions =
|
||||||
builtins.foldl'
|
builtins.foldl'
|
||||||
(state: f:
|
(enabled: f:
|
||||||
f { enabled = state; all = php-packages.extensions; })
|
f { inherit enabled; all = php-packages.extensions; })
|
||||||
[]
|
[]
|
||||||
allExtensionFunctions;
|
allExtensionFunctions;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user