diff options
-rw-r--r-- | pkgs/development/interpreters/python/catch_conflicts/README.md | 13 | ||||
-rw-r--r-- | pkgs/development/interpreters/python/catch_conflicts/catch_conflicts.py (renamed from pkgs/development/interpreters/python/catch_conflicts.py) | 0 | ||||
-rw-r--r-- | pkgs/development/interpreters/python/mk-python-derivation.nix | 9 |
3 files changed, 17 insertions, 5 deletions
diff --git a/pkgs/development/interpreters/python/catch_conflicts/README.md b/pkgs/development/interpreters/python/catch_conflicts/README.md new file mode 100644 index 000000000000..d144b80e3385 --- /dev/null +++ b/pkgs/development/interpreters/python/catch_conflicts/README.md @@ -0,0 +1,13 @@ + + +catch_conflicts.py +================== + +The file catch_conflicts.py is in a subdirectory because, if it isn't, the +/nix/store/ directory is added to sys.path causing a delay when building. + +Pointers: + +- https://docs.python.org/3/library/sys.html#sys.path + +- https://github.com/NixOS/nixpkgs/pull/23600 diff --git a/pkgs/development/interpreters/python/catch_conflicts.py b/pkgs/development/interpreters/python/catch_conflicts/catch_conflicts.py index bb82900c65a9..bb82900c65a9 100644 --- a/pkgs/development/interpreters/python/catch_conflicts.py +++ b/pkgs/development/interpreters/python/catch_conflicts/catch_conflicts.py diff --git a/pkgs/development/interpreters/python/mk-python-derivation.nix b/pkgs/development/interpreters/python/mk-python-derivation.nix index f30bd175daac..5d710fcad882 100644 --- a/pkgs/development/interpreters/python/mk-python-derivation.nix +++ b/pkgs/development/interpreters/python/mk-python-derivation.nix @@ -79,9 +79,10 @@ python.stdenv.mkDerivation (builtins.removeAttrs attrs ["disabled"] // { postFixup = '' wrapPythonPrograms '' + lib.optionalString catchConflicts '' - # check if we have two packages with the same name in closure and fail - # this shouldn't happen, something went wrong with dependencies specs - ${python.interpreter} ${./catch_conflicts.py} + # Check if we have two packages with the same name in the closure and fail. + # If this happens, something went wrong with the dependencies specs. + # Intentionally kept in a subdirectory, see catch_conflicts/README.md. + ${python.interpreter} ${./catch_conflicts}/catch_conflicts.py '' + attrs.postFixup or ''''; passthru = { @@ -98,5 +99,3 @@ python.stdenv.mkDerivation (builtins.removeAttrs attrs ["disabled"] // { isBuildPythonPackage = python.meta.platforms; }; }) - - |