aliases: don't distribute on Hydra

This commit is contained in:
Nikolay Amiantov 2017-05-27 20:44:00 +03:00
parent addb96c323
commit 2d0a7c4eee
2 changed files with 17 additions and 5 deletions

View file

@ -17,6 +17,11 @@ rec {
drv // { meta = (drv.meta or {}) // newAttrs; };
/* Disable Hydra builds of given derivation.
*/
dontDistribute = drv: addMetaAttrs { hydraPlatforms = []; } drv;
/* Change the symbolic name of a package for presentation purposes
(i.e., so that nix-env users can tell them apart).
*/

View file

@ -5,18 +5,25 @@ with self;
let
# Removing recurseForDerivation prevents derivations of aliased attribute
# set to appear while listing all the packages available.
removeRecurseForDerivations = _n: alias: with lib;
removeRecurseForDerivations = alias: with lib;
if alias.recurseForDerivations or false then
removeAttrs alias ["recurseForDerivations"]
else alias;
doNotDisplayTwice = aliases:
lib.mapAttrs removeRecurseForDerivations aliases;
# Disabling distribution prevents top-level aliases for non-recursed package
# sets from building on Hydra.
removeDistribute = alias: with lib;
if isDerivation alias then
dontDistribute alias
else alias;
mapAliases = aliases:
lib.mapAttrs (n: alias: removeDistribute (removeRecurseForDerivations alias)) aliases;
in
### Deprecated aliases - for backward compatibility
doNotDisplayTwice rec {
mapAliases (rec {
accounts-qt = libsForQt5.accounts-qt; # added 2015-12-19
adobeReader = adobe-reader;
aircrackng = aircrack-ng; # added 2016-01-14
@ -156,4 +163,4 @@ doNotDisplayTwice rec {
ocaml_4_02 = ocamlPackages_4_02.ocaml;
ocaml_4_03 = ocamlPackages_4_03.ocaml;
ocaml = ocamlPackages.ocaml;
})
}))