python: add pythonRemoveTestsDirHook

This will automatically remove a top-level "tests"
directory from being installed.
wip/yesman
Jonathan Ringer 4 years ago committed by Frederik Rietdijk
parent fe898d5f76
commit 3973a3c79c
  1. 8
      pkgs/development/interpreters/python/hooks/default.nix
  2. 15
      pkgs/development/interpreters/python/hooks/python-remove-tests-dir-hook.sh
  3. 2
      pkgs/development/interpreters/python/mk-python-derivation.nix
  4. 2
      pkgs/top-level/python-packages.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";

@ -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

@ -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 [

@ -108,7 +108,7 @@ in {
inherit buildSetupcfg;
inherit (callPackage ../development/interpreters/python/hooks { })
eggUnpackHook eggBuildHook eggInstallHook flitBuildHook pipBuildHook pipInstallHook pytestCheckHook pythonCatchConflictsHook pythonImportsCheckHook pythonRemoveBinBytecodeHook setuptoolsBuildHook setuptoolsCheckHook venvShellHook wheelUnpackHook;
eggUnpackHook eggBuildHook eggInstallHook flitBuildHook pipBuildHook pipInstallHook pytestCheckHook pythonCatchConflictsHook pythonImportsCheckHook pythonRemoveBinBytecodeHook pythonRemoveTestsDirHook setuptoolsBuildHook setuptoolsCheckHook venvShellHook wheelUnpackHook;
# helpers

Loading…
Cancel
Save