php.buildEnv: Respect override
Make buildEnv take earlier overridden values into account by forwarding all arguments (a merge of generic's arguments, all previous arguments and the current arguments) to the next invocation of buildEnv.
This commit is contained in:
parent
dde5f5f899
commit
abedfadd73
@ -43,12 +43,12 @@ let
|
|||||||
phpWithExtensions = self.withExtensions defaultPhpExtensions;
|
phpWithExtensions = self.withExtensions defaultPhpExtensions;
|
||||||
});
|
});
|
||||||
|
|
||||||
buildEnv = lib.makeOverridable (
|
mkBuildEnv = prevArgs: lib.makeOverridable (
|
||||||
{ extensions ? (_: []), extraConfig ? "", ... }@innerArgs:
|
{ extensions ? (_: []), extraConfig ? "", ... }@innerArgs:
|
||||||
let
|
let
|
||||||
filteredInnerArgs = builtins.removeAttrs innerArgs [ "extensions" "extraConfig" ];
|
allArgs = args // prevArgs // innerArgs;
|
||||||
allArgs = args // filteredInnerArgs;
|
filteredArgs = builtins.removeAttrs allArgs [ "extensions" "extraConfig" ];
|
||||||
php = generic allArgs;
|
php = generic filteredArgs;
|
||||||
|
|
||||||
php-packages = (callPackage ../../../top-level/php-packages.nix {
|
php-packages = (callPackage ../../../top-level/php-packages.nix {
|
||||||
inherit php phpWithExtensions;
|
inherit php phpWithExtensions;
|
||||||
@ -89,7 +89,9 @@ let
|
|||||||
inherit (php) version;
|
inherit (php) version;
|
||||||
nativeBuildInputs = [ makeWrapper ];
|
nativeBuildInputs = [ makeWrapper ];
|
||||||
passthru = {
|
passthru = {
|
||||||
inherit buildEnv withExtensions enabledExtensions;
|
buildEnv = mkBuildEnv allArgs;
|
||||||
|
withExtensions = mkWithExtensions allArgs;
|
||||||
|
inherit enabledExtensions;
|
||||||
inherit (php-packages) packages extensions;
|
inherit (php-packages) packages extensions;
|
||||||
};
|
};
|
||||||
paths = [ php ];
|
paths = [ php ];
|
||||||
@ -106,7 +108,8 @@ let
|
|||||||
in
|
in
|
||||||
phpWithExtensions);
|
phpWithExtensions);
|
||||||
|
|
||||||
withExtensions = extensions: buildEnv { inherit extensions; };
|
mkWithExtensions = prevArgs: extensions:
|
||||||
|
mkBuildEnv prevArgs { inherit extensions; };
|
||||||
|
|
||||||
pcre' = if (lib.versionAtLeast version "7.3") then pcre2 else pcre;
|
pcre' = if (lib.versionAtLeast version "7.3") then pcre2 else pcre;
|
||||||
in
|
in
|
||||||
@ -216,7 +219,8 @@ let
|
|||||||
|
|
||||||
passthru = {
|
passthru = {
|
||||||
enabledExtensions = [];
|
enabledExtensions = [];
|
||||||
inherit buildEnv withExtensions;
|
buildEnv = mkBuildEnv {};
|
||||||
|
withExtensions = mkWithExtensions {};
|
||||||
inherit (php-packages) packages extensions;
|
inherit (php-packages) packages extensions;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user