aboutsummaryrefslogtreecommitdiff
path: root/pkgs/top-level/release-lib.nix
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2013-11-04 23:31:08 +0100
committerEelco Dolstra <eelco.dolstra@logicblox.com>2013-11-05 00:06:10 +0100
commita2cbc77e4f1cf55a9c142d07377f67b0f83985ec (patch)
tree81934d578f6fd86d09443bdc9b3ce2c0cd42aeef /pkgs/top-level/release-lib.nix
parent8867304b5e8bab1741b5b32d7a503d58fccf055e (diff)
Only show/build a package on the platforms listed in meta.platforms
The function ‘mkDerivation’ now checks whether the current platform type is included in a package's meta.platform field. If not, it throws an exception: $ nix-build -A linux --argstr system x86_64-darwin error: user-thrown exception: the package ‘linux-3.10.15’ is not supported on ‘x86_64-darwin’ These packages also no longer show up in ‘nix-env -qa’ output. This means, for instance, that the number of packages shown on x86_64-freebsd has dropped from 9268 to 4764. Since meta.platforms was also used to prevent Hydra from building some packages, there now is a new attribute meta.hydraPlatforms listing the platforms on which Hydra should build the package (which defaults to meta.platforms).
Diffstat (limited to 'pkgs/top-level/release-lib.nix')
-rw-r--r--pkgs/top-level/release-lib.nix8
1 files changed, 3 insertions, 5 deletions
diff --git a/pkgs/top-level/release-lib.nix b/pkgs/top-level/release-lib.nix
index 3280df09dd54..e2f5309ced33 100644
--- a/pkgs/top-level/release-lib.nix
+++ b/pkgs/top-level/release-lib.nix
@@ -119,14 +119,12 @@ rec {
# May fail as much as it wishes, we will catch the error.
processPackage = attrSet:
- if attrSet ? recurseForDerivations && attrSet.recurseForDerivations then
+ if attrSet.recurseForDerivations or false then
packagesWithMetaPlatform attrSet
- else if attrSet ? recurseForRelease && attrSet.recurseForRelease then
+ else if attrSet.recurseForRelease or false then
packagesWithMetaPlatform attrSet
else
- if attrSet ? meta && attrSet.meta ? platforms
- then attrSet.meta.platforms
- else [];
+ attrSet.meta.hydraPlatforms or (attrSet.meta.platforms or []);
/* Common platform groups on which to test packages. */