35 lines
1.1 KiB
Nix
35 lines
1.1 KiB
Nix
|
lib: prev:
|
||
|
|
||
|
let
|
||
|
# Removing recurseForDerivation prevents derivations of aliased attribute
|
||
|
# set to appear while listing all the packages available.
|
||
|
removeRecurseForDerivations =
|
||
|
alias:
|
||
|
with lib;
|
||
|
if alias.recurseForDerivations or false then
|
||
|
removeAttrs alias [ "recurseForDerivations" ]
|
||
|
else
|
||
|
alias;
|
||
|
|
||
|
# 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;
|
||
|
|
||
|
# Make sure that we are not shadowing something from
|
||
|
# writers.
|
||
|
checkInPkgs =
|
||
|
n: alias: if builtins.hasAttr n prev then throw "Alias ${n} is still in writers" else alias;
|
||
|
|
||
|
mapAliases =
|
||
|
aliases:
|
||
|
lib.mapAttrs (
|
||
|
n: alias: removeDistribute (removeRecurseForDerivations (checkInPkgs n alias))
|
||
|
) aliases;
|
||
|
|
||
|
in
|
||
|
mapAliases ({
|
||
|
# Cleanup before 22.05, Added 2021-12-11
|
||
|
writePython2 = "Python 2 is EOL and the use of writers.writePython2 is deprecated.";
|
||
|
writePython2Bin = "Python 2 is EOL and the use of writers.writePython2Bin is deprecated.";
|
||
|
})
|