Make eval-release.nix less picky
It now only checks that each derivation's drvPath attribute evaluates.
Previously it checked everything (via toXML) but that causes
derivations with dubious passthru attribute to fail (see commit
70fee5da11
).
This commit is contained in:
parent
cee6c320b8
commit
2a5098384e
|
@ -10,14 +10,15 @@ let
|
|||
|
||||
# Add the ‘recurseForDerivations’ attribute to ensure that
|
||||
# nix-instantiate recurses into nested attribute sets.
|
||||
recurse = attrs:
|
||||
recurse = path: attrs:
|
||||
if (builtins.tryEval attrs).success then
|
||||
if isDerivation attrs
|
||||
then
|
||||
if (builtins.tryEval attrs.outPath).success
|
||||
then attrs
|
||||
else { }
|
||||
else { recurseForDerivations = true; } // mapAttrs (n: v: recurse v) attrs
|
||||
if (builtins.tryEval attrs.drvPath).success
|
||||
then { inherit (attrs) name drvPath; }
|
||||
else { failed = true; }
|
||||
else { recurseForDerivations = true; } //
|
||||
mapAttrs (n: v: let path' = path ++ [n]; in trace path' (recurse path' v)) attrs
|
||||
else { };
|
||||
|
||||
in recurse rel
|
||||
in recurse [] rel
|
||||
|
|
Loading…
Reference in a new issue