![]() This changes the non-legacy version of pythonCatchConflictsHook to recursively scan the output of the target derivation as well as its propagatedBuildInputs for duplicate dependencies. Previously, we did scan sys.path but did prove problematic as it produced false positives i.e. when build-time dependencies of hooks - such as setuptools in pythonCatchConflictsHook itself - where mistakenly flagged as duplicates; even though the are not included in the outputs of the target dervation. As all python runtime-dependencies are currently passed via propagatedBuildInputs in nixpkgs, scanning that plus site-packages seems sufficient to catch all conflicts that matter at runtime and less likely to produce false positives. The legacyHook in catch_conflicts_py2.py needs to be migrated as well, if it's still needed. |
||
---|---|---|
.. | ||
catch_conflicts | ||
conda | ||
cpython | ||
hooks | ||
manylinux | ||
pypy | ||
python2 | ||
rustpython | ||
tests | ||
update-python-libraries | ||
default.nix | ||
mk-python-derivation.nix | ||
passthrufun.nix | ||
python-packages-base.nix | ||
run_setup.py | ||
setup-hook.nix | ||
setup-hook.sh | ||
sitecustomize.py | ||
tests.nix | ||
with-packages.nix | ||
wrap-python.nix | ||
wrap.sh | ||
wrapper.nix |