diff --git a/pkgs/build-support/trivial-builders/default.nix b/pkgs/build-support/trivial-builders/default.nix index 96cc43157d38..4be06b5c4913 100644 --- a/pkgs/build-support/trivial-builders/default.nix +++ b/pkgs/build-support/trivial-builders/default.nix @@ -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"