mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-10-01 10:07:42 +03:00
38 lines
1.1 KiB
Nix
38 lines
1.1 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
|
||
|
})
|