Due to a change in pip the unpacked wheels are no longer reproducible. We recompile the bytecode to cleanup this error. https://github.com/NixOS/nixpkgs/issues/81441wip/yesman
parent
a7ea828f09
commit
818cf7827b
@ -0,0 +1,24 @@ |
||||
# Setup hook for recompiling bytecode. |
||||
# https://github.com/NixOS/nixpkgs/issues/81441 |
||||
echo "Sourcing python-recompile-bytecode-hook.sh" |
||||
|
||||
# Remove all bytecode from the $out output. Then, recompile only site packages folder |
||||
# Note this effectively duplicates `python-remove-bin-bytecode`, but long-term |
||||
# this hook should be removed again. |
||||
|
||||
pythonRecompileBytecodePhase () { |
||||
# TODO: consider other outputs than $out |
||||
|
||||
items="$(find "$out" -name "@bytecodeName@")" |
||||
if [[ -n $items ]]; then |
||||
for pycache in $items; do |
||||
rm -rf "$pycache" |
||||
done |
||||
fi |
||||
|
||||
find "$out"/@pythonSitePackages@ -name "*.py" -exec @pythonInterpreter@ -OO -m compileall @compileArgs@ {} + |
||||
} |
||||
|
||||
if [ -z "${dontUsePythonRecompileBytecode-}" ]; then |
||||
postPhases+=" pythonRecompileBytecodePhase" |
||||
fi |
Loading…
Reference in new issue