nixpkgs-suyu/pkgs/top-level/python-aliases.nix
2021-06-01 16:30:48 +02:00

40 lines
1.3 KiB
Nix

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
google_api_python_client = google-api-python-client; # added 2021-03-19
googleapis_common_protos = googleapis-common-protos; # added 2021-03-19
mechanicalsoup = MechanicalSoup; # added 2021-06-01
})