From 66512b9b1ffcf600e4e21c175ae904e837365586 Mon Sep 17 00:00:00 2001 From: aszlig Date: Sat, 3 Feb 2018 06:42:02 +0100 Subject: release.nix: Exclude broken packages from set While we now evaluate broken packages and they fail to build, this is still not very nice because it will still break the generic channel. So let's do this a bit differently and actually exclude these packages without running into an eval error. We evaluate the derivation and later check whether meta.broken is set, which has the advantage that we only kick out packages that are *directly* marked as broken rather than excluding packages that have a broken flag in one of their dependencies. Signed-off-by: aszlig Cc: @Profpatsch --- release.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'release.nix') diff --git a/release.nix b/release.nix index a3d220f4..81f0d44e 100644 --- a/release.nix +++ b/release.nix @@ -60,10 +60,11 @@ let }; packagePlatforms = mapAttrs (name: value: let + brokenOr = if value.meta.broken or false then [] else id; platforms = value.meta.hydraPlatforms or (value.meta.platforms or []); isRecursive = value.recurseForDerivations or false || value.recurseForRelease or false; - result = if isDerivation value then platforms + result = if isDerivation value then brokenOr platforms else if isRecursive then packagePlatforms value else []; tried = builtins.tryEval result; -- cgit 1.4.1