Bug 200018 is caused by the .pyc/.pyo files installed by devel/py-pykde4
containing references to the stage directory in them. When
editors/kate-plugin-pate is built by a user with write-access to those
PyKDE4 .pyc/.pyo files, they are rewritten automatically by Python to point
to their current location, which most of the times is different from the
staging location of where devel/py-pykde4 was built. This at the very least
leads to a filesystem violation in Poudriere.
The fix I landed upstream involves making kdelibs's PythonCompile.py accept
a --destination-dir parameter with the directory we want to register in the
.pyc/.pyo files, just like several ports do in their build or post-install
targets by calling Python's compileall.py module with -d.
The patches in files/ look somewhat confusing because we already patch
PythonMacros.cmake to build .pyo files and had to integrate the other
patches into it. At least I have added some context to
patch-cmake_modules_PythonMacros.cmake to reduce the confusion.
Bump PORTREVISION in affected ports:
- devel/py-pykde4: Install .pyc/.pyo files with ${STAGEDIR} in them.
- games/kajongg: The plist now includes .pyo files, and was adjusted to work
with Python 3 in the future if necessary.
- x11/kdelibs4: Install new CMake files.
- x11/plasma-scriptengine-python: Install .pyc/.pyo files with ${STAGEDIR}
in them.
PR: 200018
MFH: 2015Q4