diff options
author | Jonathan Ringer <jonringer117@gmail.com> | 2020-03-02 09:37:05 -0800 |
---|---|---|
committer | Frederik Rietdijk <freddyrietdijk@fridh.nl> | 2020-03-03 20:01:00 +0100 |
commit | 3973a3c79c255db358a82f1ffc88dc2cda0f03d6 (patch) | |
tree | f4841d3a18e878505b58c3a43a07a4059814f2d4 /pkgs/development/interpreters/python | |
parent | fe898d5f76131477e6fe5bdeda90d07bac682751 (diff) | |
download | nixlib-3973a3c79c255db358a82f1ffc88dc2cda0f03d6.tar nixlib-3973a3c79c255db358a82f1ffc88dc2cda0f03d6.tar.gz nixlib-3973a3c79c255db358a82f1ffc88dc2cda0f03d6.tar.bz2 nixlib-3973a3c79c255db358a82f1ffc88dc2cda0f03d6.tar.lz nixlib-3973a3c79c255db358a82f1ffc88dc2cda0f03d6.tar.xz nixlib-3973a3c79c255db358a82f1ffc88dc2cda0f03d6.tar.zst nixlib-3973a3c79c255db358a82f1ffc88dc2cda0f03d6.zip |
python: add pythonRemoveTestsDirHook
This will automatically remove a top-level "tests" directory from being installed.
Diffstat (limited to 'pkgs/development/interpreters/python')
3 files changed, 25 insertions, 0 deletions
diff --git a/pkgs/development/interpreters/python/hooks/default.nix b/pkgs/development/interpreters/python/hooks/default.nix index 159637ae9d5f..47690320e81e 100644 --- a/pkgs/development/interpreters/python/hooks/default.nix +++ b/pkgs/development/interpreters/python/hooks/default.nix @@ -94,6 +94,14 @@ in rec { name = "python-remove-bin-bytecode-hook"; } ./python-remove-bin-bytecode-hook.sh) {}; + pythonRemoveTestsDirHook = callPackage ({ }: + makeSetupHook { + name = "python-remove-tests-dir-hook"; + substitutions = { + inherit pythonSitePackages; + }; + } ./python-remove-tests-dir-hook.sh) {}; + setuptoolsBuildHook = callPackage ({ setuptools, wheel }: makeSetupHook { name = "setuptools-setup-hook"; diff --git a/pkgs/development/interpreters/python/hooks/python-remove-tests-dir-hook.sh b/pkgs/development/interpreters/python/hooks/python-remove-tests-dir-hook.sh new file mode 100644 index 000000000000..83bea786db6d --- /dev/null +++ b/pkgs/development/interpreters/python/hooks/python-remove-tests-dir-hook.sh @@ -0,0 +1,15 @@ +# Clean up top-level tests directory in site-package installation. +echo "Sourcing python-remove-tests-dir-hook" + +pythonRemoveTestsDir() { + echo "Executing pythonRemoveTestsDir" + + rm -rf $out/@pythonSitePackages@/tests + + echo "Finished executing pythonRemoveTestsDir" +} + +if [ -z "${dontUsePythonRemoveTestsDir-}" ]; then + postFixupHooks+=(pythonRemoveTestsDir) +fi + diff --git a/pkgs/development/interpreters/python/mk-python-derivation.nix b/pkgs/development/interpreters/python/mk-python-derivation.nix index 020298cc8e9f..180bc63857c2 100644 --- a/pkgs/development/interpreters/python/mk-python-derivation.nix +++ b/pkgs/development/interpreters/python/mk-python-derivation.nix @@ -17,6 +17,7 @@ , pythonCatchConflictsHook , pythonImportsCheckHook , pythonRemoveBinBytecodeHook +, pythonRemoveTestsDirHook , setuptoolsBuildHook , setuptoolsCheckHook , wheelUnpackHook @@ -108,6 +109,7 @@ let python wrapPython ensureNewerSourcesForZipFilesHook # move to wheel installer (pip) or builder (setuptools, flit, ...)? + pythonRemoveTestsDirHook ] ++ lib.optionals catchConflicts [ setuptools pythonCatchConflictsHook ] ++ lib.optionals removeBinBytecode [ |