mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-02-23 12:34:15 +00:00
php: support two- and zero-argument overrideAttrs forms (#356870)
This commit is contained in:
commit
ecdda28a3a
@ -37,7 +37,7 @@ let
|
|||||||
, hash ? null
|
, hash ? null
|
||||||
, extraPatches ? [ ]
|
, extraPatches ? [ ]
|
||||||
, packageOverrides ? (final: prev: { })
|
, packageOverrides ? (final: prev: { })
|
||||||
, phpAttrsOverrides ? (attrs: { })
|
, phpAttrsOverrides ? (final: prev: { })
|
||||||
, pearInstallPhar ? (callPackage ./install-pear-nozlib-phar.nix { })
|
, pearInstallPhar ? (callPackage ./install-pear-nozlib-phar.nix { })
|
||||||
|
|
||||||
# Sapi flags
|
# Sapi flags
|
||||||
@ -63,16 +63,6 @@ let
|
|||||||
}@args:
|
}@args:
|
||||||
|
|
||||||
let
|
let
|
||||||
# Compose two functions of the type expected by 'overrideAttrs'
|
|
||||||
# into one where changes made in the first are available to the second.
|
|
||||||
composeOverrides =
|
|
||||||
f: g: attrs:
|
|
||||||
let
|
|
||||||
fApplied = f attrs;
|
|
||||||
attrs' = attrs // fApplied;
|
|
||||||
in
|
|
||||||
fApplied // g attrs';
|
|
||||||
|
|
||||||
# buildEnv wraps php to provide additional extensions and
|
# buildEnv wraps php to provide additional extensions and
|
||||||
# configuration. Its usage is documented in
|
# configuration. Its usage is documented in
|
||||||
# doc/languages-frameworks/php.section.md.
|
# doc/languages-frameworks/php.section.md.
|
||||||
@ -153,7 +143,8 @@ let
|
|||||||
overrideAttrs =
|
overrideAttrs =
|
||||||
f:
|
f:
|
||||||
let
|
let
|
||||||
newPhpAttrsOverrides = composeOverrides (filteredArgs.phpAttrsOverrides or (attrs: { })) f;
|
phpAttrsOverrides = filteredArgs.phpAttrsOverrides or (final: prev: { });
|
||||||
|
newPhpAttrsOverrides = lib.composeExtensions (lib.toExtension phpAttrsOverrides) (lib.toExtension f);
|
||||||
php = generic (filteredArgs // { phpAttrsOverrides = newPhpAttrsOverrides; });
|
php = generic (filteredArgs // { phpAttrsOverrides = newPhpAttrsOverrides; });
|
||||||
in
|
in
|
||||||
php.buildEnv { inherit extensions extraConfig; };
|
php.buildEnv { inherit extensions extraConfig; };
|
||||||
@ -342,7 +333,7 @@ let
|
|||||||
overrideAttrs =
|
overrideAttrs =
|
||||||
f:
|
f:
|
||||||
let
|
let
|
||||||
newPhpAttrsOverrides = composeOverrides phpAttrsOverrides f;
|
newPhpAttrsOverrides = lib.composeExtensions (lib.toExtension phpAttrsOverrides) (lib.toExtension f);
|
||||||
php = generic (args // { phpAttrsOverrides = newPhpAttrsOverrides; });
|
php = generic (args // { phpAttrsOverrides = newPhpAttrsOverrides; });
|
||||||
in
|
in
|
||||||
php;
|
php;
|
||||||
@ -359,8 +350,9 @@ let
|
|||||||
outputsToInstall = [ "out" "dev" ];
|
outputsToInstall = [ "out" "dev" ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
final = attrs // (lib.toExtension phpAttrsOverrides) final attrs;
|
||||||
in
|
in
|
||||||
attrs // phpAttrsOverrides attrs
|
final
|
||||||
);
|
);
|
||||||
in
|
in
|
||||||
generic
|
generic
|
||||||
|
Loading…
Reference in New Issue
Block a user