summary refs log tree commit diff
path: root/maintainers/scripts/eval-release.nix
diff options
context:
space:
mode:
Diffstat (limited to 'maintainers/scripts/eval-release.nix')
-rw-r--r--maintainers/scripts/eval-release.nix17
1 files changed, 9 insertions, 8 deletions
diff --git a/maintainers/scripts/eval-release.nix b/maintainers/scripts/eval-release.nix
index 4bd2b0f1fa8b..bb9572cbc795 100644
--- a/maintainers/scripts/eval-release.nix
+++ b/maintainers/scripts/eval-release.nix
@@ -1,7 +1,7 @@
 # Evaluate `release.nix' like Hydra would.  Too bad nix-instantiate
 # can't to do this.
 
-with import ../../pkgs/lib;
+with import ../../lib;
 
 let
   trace = if builtins.getEnv "VERBOSE" == "1" then builtins.trace else (x: y: y);
@@ -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 
+      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