diff options
Diffstat (limited to 'nixpkgs/pkgs/build-support/writers/aliases.nix')
-rw-r--r-- | nixpkgs/pkgs/build-support/writers/aliases.nix | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/build-support/writers/aliases.nix b/nixpkgs/pkgs/build-support/writers/aliases.nix new file mode 100644 index 000000000000..fb108a6fd857 --- /dev/null +++ b/nixpkgs/pkgs/build-support/writers/aliases.nix @@ -0,0 +1,35 @@ +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."; +}) |