applyPatches: simplify src attribute inheritance (#409614)
This commit is contained in:
@@ -1022,6 +1022,12 @@ rec {
|
||||
postPatch ? "",
|
||||
...
|
||||
}@args:
|
||||
assert lib.assertMsg (
|
||||
!args ? meta
|
||||
) "applyPatches will not merge 'meta', change it in 'src' instead";
|
||||
assert lib.assertMsg (
|
||||
!args ? passthru
|
||||
) "applyPatches will not merge 'passthru', change it in 'src' instead";
|
||||
if patches == [ ] && prePatch == "" && postPatch == "" then
|
||||
src # nothing to do, so use original src to avoid additional drv
|
||||
else
|
||||
@@ -1051,19 +1057,17 @@ rec {
|
||||
phases = "unpackPhase patchPhase installPhase";
|
||||
installPhase = "cp -R ./ $out";
|
||||
}
|
||||
# Carry and merge information from the underlying `src` if present.
|
||||
// (optionalAttrs (src ? meta || args ? meta) {
|
||||
meta = src.meta or { } // args.meta or { };
|
||||
# Carry (and merge) information from the underlying `src` if present.
|
||||
// (optionalAttrs (src ? meta) {
|
||||
inherit (src) meta;
|
||||
})
|
||||
// (optionalAttrs (extraPassthru != { } || src ? passthru || args ? passthru) {
|
||||
passthru = extraPassthru // src.passthru or { } // args.passthru or { };
|
||||
// (optionalAttrs (extraPassthru != { } || src ? passthru) {
|
||||
passthru = extraPassthru // src.passthru or { };
|
||||
})
|
||||
# Forward any additional arguments to the derviation
|
||||
// (removeAttrs args [
|
||||
"src"
|
||||
"name"
|
||||
"meta"
|
||||
"passthru"
|
||||
"patches"
|
||||
"prePatch"
|
||||
"postPatch"
|
||||
|
||||
Reference in New Issue
Block a user