nixpkgs/pkgs/top-level/python-aliases.nix

38 lines
1.1 KiB
Nix
Raw Normal View History

2021-03-15 00:00:14 +00:00
lib: self: super:
with self;
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
# python-packages.nix.
checkInPkgs = n: alias: if builtins.hasAttr n super
then throw "Alias ${n} is still in python-packages.nix"
else alias;
mapAliases = aliases:
lib.mapAttrs (n: alias: removeDistribute
(removeRecurseForDerivations
(checkInPkgs n alias)))
aliases;
in
### Deprecated aliases - for backward compatibility
mapAliases ({
smart_open = smart-open; # added 2021-03-14
})