mkDerivation: make allowedReference/allowedRequisites nullable when __structuredAttrs is true (#462141)

This commit is contained in:
Philip Taron
2026-02-13 13:44:52 +00:00
committed by GitHub
2 changed files with 17 additions and 2 deletions
+7 -2
View File
@@ -15,6 +15,7 @@ let
elemAt
extendDerivation
filter
filterAttrs
getDev
head
imap1
@@ -709,8 +710,12 @@ let
];
}
// (
let
attrsOutputChecks = makeOutputChecks attrs;
attrsOutputChecksFiltered = filterAttrs (_: v: v != null) attrsOutputChecks;
in
if !__structuredAttrs then
makeOutputChecks attrs
attrsOutputChecks
else
{
outputChecks = builtins.listToAttrs (
@@ -719,7 +724,7 @@ let
value =
let
raw = zipAttrsWith (_: builtins.concatLists) [
(makeOutputChecks attrs)
attrsOutputChecksFiltered
(makeOutputChecks attrs.outputChecks.${name} or { })
];
in
+10
View File
@@ -68,6 +68,16 @@ let
}).pname;
expected = "hello-no-final-attrs-overridden";
};
structuredAttrs-allowedRequisites-nullability = {
expr =
lib.hasPrefix builtins.storeDir
(pkgs.stdenv.mkDerivation {
__structuredAttrs = true;
inherit (pkgs.hello) pname version src;
allowedRequisites = null;
}).drvPath;
expected = true;
};
};
test-extendMkDerivation =