nixpkgs/pkgs/build-support/writers/aliases.nix
2024-08-18 06:31:14 -07:00

36 lines
1.2 KiB
Nix

lib: prev:
let
# Removing recurseForDerivation prevents derivations of aliased attribute
# set to appear while listing all the packages available.
removeRecurseForDerivations = alias:
if alias.recurseForDerivations or false then
lib.removeAttrs alias ["recurseForDerivations"]
else alias;
# Disabling distribution prevents top-level aliases for non-recursed package
# sets from building on Hydra.
removeDistribute = alias:
if lib.isDerivation alias then
lib.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.";
})