summaryrefslogtreecommitdiffstats
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.nix20
1 files changed, 20 insertions, 0 deletions
diff --git a/maintainers/scripts/eval-release.nix b/maintainers/scripts/eval-release.nix
new file mode 100644
index 000000000000..64dbbd15cf38
--- /dev/null
+++ b/maintainers/scripts/eval-release.nix
@@ -0,0 +1,20 @@
+# Evaluate `release.nix' like Hydra would (i.e. call each job
+# attribute with the expected `system' argument). Too bad
+# nix-instantiate can't to do this.
+
+let
+
+ lib = (import ../.. {}).lib;
+
+ rel = removeAttrs (import ../../pkgs/top-level/release.nix) ["tarball"];
+
+ maybe = x: let y = builtins.tryEval x; in if y.success then y.value else null;
+
+ call = attrs: lib.flip lib.mapAttrs attrs
+ (n: v: builtins.trace n (
+ if builtins.isFunction v then maybe (v { system = "i686-linux"; })
+ else if builtins.isAttrs v then call v
+ else null
+ ));
+
+in call rel