python/hooks/pythonNamespaces: fix __pycache__ logic

wip/yesman
Jonathan Ringer 4 years ago committed by Jonathan Ringer
parent 95d9ff16f3
commit f5d9dd3050
  1. 3
      pkgs/development/interpreters/python/hooks/default.nix
  2. 13
      pkgs/development/interpreters/python/hooks/python-namespaces-hook.sh

@ -5,6 +5,7 @@
, disabledIf
, isPy3k
, ensureNewerSourcesForZipFilesHook
, findutils
}:
let
@ -94,7 +95,7 @@ in rec {
makeSetupHook {
name = "python-namespaces-hook.sh";
substitutions = {
inherit pythonSitePackages;
inherit pythonSitePackages findutils;
};
} ./python-namespaces-hook.sh) {};

@ -17,17 +17,16 @@ pythonNamespacesHook() {
for pathSegment in ${pathSegments[@]}; do
constructedPath=${constructedPath}/${pathSegment}
pathToRemove=${constructedPath}/__init__.py
pycachePath=${constructedPath}/__pycache__/__init__*
pycachePath=${constructedPath}/__pycache__/
# remove __init__.py
if [ -f "$pathToRemove" ]; then
echo "Removing $pathToRemove"
rm "$pathToRemove"
rm -v "$pathToRemove"
fi
if [ -f "$pycachePath" ]; then
echo "Removing $pycachePath"
rm "$pycachePath"
fi
# remove __pycache__/ entry, can be interpreter specific. E.g. __init__.cpython-38.pyc
# use null characters to perserve potential whitespace in filepath
@findutils@/bin/find $pycachePath -name '__init__*' -print0 | xargs -0 rm -v
done
done

Loading…
Cancel
Save