Merge pull request #32542 from FRidh/bytecode

buildPythonPackage: remove bytecode from bin folder
This commit is contained in:
Frederik Rietdijk 2017-12-11 09:45:50 +01:00 committed by GitHub
commit 44f46a3293
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -40,6 +40,12 @@
# Skip wrapping of python programs altogether
, dontWrapPythonPrograms ? false
# Remove bytecode from bin folder.
# When a Python script has the extension `.py`, bytecode is generated
# Typically, executables in bin have no extension, so no bytecode is generated.
# However, some packages do provide executables with extensions, and thus bytecode is generated.
, removeBinBytecode ? true
, meta ? {}
, passthru ? {}
@ -77,6 +83,11 @@ python.stdenv.mkDerivation (builtins.removeAttrs attrs [
postFixup = lib.optionalString (!dontWrapPythonPrograms) ''
wrapPythonPrograms
'' + lib.optionalString removeBinBytecode ''
if [ -d "$out/bin" ]; then
rm -rf "$out/bin/__pycache__" # Python 3
find "$out/bin" -type f -name "*.pyc" -delete # Python 2
fi
'' + lib.optionalString catchConflicts ''
# Check if we have two packages with the same name in the closure and fail.
# If this happens, something went wrong with the dependencies specs.