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
25 lines
737 B
Makefile
25 lines
737 B
Makefile
# $FreeBSD$
|
|
|
|
PORTNAME= plasma-scriptengine-python
|
|
PORTVERSION= ${KDE4_WORKSPACE_VERSION}
|
|
PORTREVISION= 1
|
|
CATEGORIES= x11 kde
|
|
MASTER_SITES= KDE/${KDE4_BRANCH}/${KDE4_VERSION}/src
|
|
DISTNAME= kde-workspace-${PORTVERSION}
|
|
DIST_SUBDIR= KDE/${PORTVERSION}
|
|
|
|
MAINTAINER= kde@FreeBSD.org
|
|
COMMENT= Plasma scriptengine for Python
|
|
|
|
USE_KDE4= kdelibs kdeprefix pykde4 automoc4
|
|
USE_QT4= qmake_build moc_build uic_build rcc_build
|
|
DISTINFO_FILE= ${PORTSDIR}/x11/kde4-workspace/distinfo
|
|
USES= cmake:outsource python:2 tar:xz
|
|
|
|
CMAKE_SOURCE_PATH= ${WRKSRC}/plasma/generic/scriptengines/python
|
|
|
|
pre-configure:
|
|
${REINPLACE_CMD} -e 's,$${PYTHON_SITE_PACKAGES_DIR},${PYTHONPREFIX_SITELIBDIR},g' \
|
|
${CMAKE_SOURCE_PATH}/CMakeLists.txt
|
|
|
|
.include <bsd.port.mk>
|