applyPatches: simplify src attribute inheritance (#409614)

This commit is contained in:
Philip Taron 2025-05-21 20:53:02 -07:00 committed by GitHub
commit a16efe5d2f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -1022,6 +1022,12 @@ rec {
postPatch ? "", postPatch ? "",
... ...
}@args: }@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 if patches == [ ] && prePatch == "" && postPatch == "" then
src # nothing to do, so use original src to avoid additional drv src # nothing to do, so use original src to avoid additional drv
else else
@ -1051,19 +1057,17 @@ rec {
phases = "unpackPhase patchPhase installPhase"; phases = "unpackPhase patchPhase installPhase";
installPhase = "cp -R ./ $out"; installPhase = "cp -R ./ $out";
} }
# Carry and merge information from the underlying `src` if present. # Carry (and merge) information from the underlying `src` if present.
// (optionalAttrs (src ? meta || args ? meta) { // (optionalAttrs (src ? meta) {
meta = src.meta or { } // args.meta or { }; inherit (src) meta;
}) })
// (optionalAttrs (extraPassthru != { } || src ? passthru || args ? passthru) { // (optionalAttrs (extraPassthru != { } || src ? passthru) {
passthru = extraPassthru // src.passthru or { } // args.passthru or { }; passthru = extraPassthru // src.passthru or { };
}) })
# Forward any additional arguments to the derviation # Forward any additional arguments to the derviation
// (removeAttrs args [ // (removeAttrs args [
"src" "src"
"name" "name"
"meta"
"passthru"
"patches" "patches"
"prePatch" "prePatch"
"postPatch" "postPatch"