diff options
author | aszlig <aszlig@nix.build> | 2018-02-03 06:42:02 +0100 |
---|---|---|
committer | aszlig <aszlig@nix.build> | 2018-02-03 06:42:02 +0100 |
commit | 66512b9b1ffcf600e4e21c175ae904e837365586 (patch) | |
tree | f07659b8a7a6d557852a9abdd038d71944ea9af4 /release.nix | |
parent | e7136782e1a8116aec0c938521750e80e6a82772 (diff) |
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 <aszlig@nix.build> Cc: @Profpatsch
Diffstat (limited to 'release.nix')
-rw-r--r-- | release.nix | 3 |
1 files changed, 2 insertions, 1 deletions
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; |