diff --git a/lib.nix b/lib.nix index dd1e2640a..ed94b2e61 100644 --- a/lib.nix +++ b/lib.nix @@ -17,7 +17,16 @@ let lib.strings.toLower (lib.strings.concatStringsSep "-" partsWithoutSeparator); # Normalize an entire attrset of packages - normalizePackageSet = lib.attrsets.mapAttrs' (name: value: lib.attrsets.nameValuePair (normalizePackageName name) value); + normalizePackageSet = packageSet: lib.attrsets.mapAttrs' + (name: value: + let normalizedName = normalizePackageName name; in + if (builtins.hasAttr normalizedName packageSet) then + # Prevent infinite recursion for aliases in nixpkgs/pkgs/top-level/python-aliases.nix + lib.attrsets.nameValuePair name value + else + lib.attrsets.nameValuePair normalizedName value + ) + packageSet; # Get a full semver pythonVersion from a python derivation getPythonVersion = python: