diff options
author | Po-Chuan Hsieh <sunpoet@FreeBSD.org> | 2023-02-05 18:16:47 +0000 |
---|---|---|
committer | Po-Chuan Hsieh <sunpoet@FreeBSD.org> | 2023-02-05 18:16:47 +0000 |
commit | de6965254c3a007efcf697c3d455b54d2aeb2383 (patch) | |
tree | a11140f37e080730e179fc2414c9ed5b4d65316c /Mk | |
parent | 973f951b648a14fa1e415a0be0b151ccdd11d6f5 (diff) | |
download | ports-de6965254c3a007efcf697c3d455b54d2aeb2383.tar.gz ports-de6965254c3a007efcf697c3d455b54d2aeb2383.zip |
Mk/Uses/python.mk: Fix USE_PYTHON=pep517: always compile and install bytecode
- While I'm here, use long options for easier reading [1][2]
- Bump PORTREVISION of dependent ports (USE_PYTHON=pep517) for package change
It fixes build_fs_violation of dependent ports in poudriere (with -t flag).
It is also the default behavior of installer [2].
from py-sphinx log:
=>> Checking for staging violations... done
=>> Error: Filesystem touched during stage (files must install to ${STAGEDIR}):
extra: usr/local/lib/python3.9/site-packages/importlib_metadata/__pycache__
=>> Cleaning up wrkdir
from installer documentation:
--compile-bytecode
Possible choices: 0, 1, 2
generate bytecode for the specified optimization level(s) (default=0, 1)
--no-compile-bytecode
don’t generate bytecode for installed modules
Default: False
With hat: python
Reference: https://pypa-build.readthedocs.io/en/stable/ [1]
https://installer.pypa.io/en/stable/cli/installer/ [2]
Diffstat (limited to 'Mk')
-rw-r--r-- | Mk/Uses/python.mk | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/Mk/Uses/python.mk b/Mk/Uses/python.mk index 8ac80fcacd76..6c6c5415c9cc 100644 --- a/Mk/Uses/python.mk +++ b/Mk/Uses/python.mk @@ -179,13 +179,13 @@ # default: ${PYDISTUTILS_PKGNAME:C/[^A-Za-z0-9.]+/_/g}-${PYDISTUTILS_PKGVERSION:C/[^A-Za-z0-9.]+/_/g}-py${PYTHON_VER}.egg-info # # PEP517_BUILD_CMD - Command sequence for a PEP-517 build frontend that builds a wheel. -# default: ${PYTHON_CMD} -m build -n -w +# default: ${PYTHON_CMD} -m build --no-isolation --wheel # # PEP517_BUILD_DEPEND - Port needed to execute ${PEP517_BUILD_CMD}. # default: ${PYTHON_PKGNAMEPREFIX}build>0:devel/py-build@${PY_FLAVOR} # # PEP517_INSTALL_CMD - Command sequence for a PEP-517 install frontend that installs a wheel. -# default: ${PYTHON_CMD} -m installer -d ${STAGEDIR} --no-compile-bytecode ${BUILD_WRKSRC}/dist/${PORTNAME:C/[-_]+/_/g}-${PORTVERSION}-*.whl +# default: ${PYTHON_CMD} -m installer --destdir ${STAGEDIR} ${BUILD_WRKSRC}/dist/${PORTNAME:C|[-_]+|_|g}-${PORTVERSION}-*.whl # # PEP517_INSTALL_DEPEND - Port needed to execute ${PEP517_INSTALL_CMD}. # default: ${PYTHON_PKGNAMEPREFIX}installer>0:devel/py-installer@${PY_FLAVOR} @@ -656,10 +656,10 @@ PYDISTUTILS_EGGINFO?= ${PYDISTUTILS_PKGNAME:C/[^A-Za-z0-9.]+/_/g}-${PYDISTUTILS_ PYDISTUTILS_EGGINFODIR?=${STAGEDIR}${PYTHONPREFIX_SITELIBDIR} # PEP-517 support -PEP517_BUILD_CMD?= ${PYTHON_CMD} -m build -n -w -PEP517_BUILD_DEPEND?= ${PYTHON_PKGNAMEPREFIX}build>0:devel/py-build@${PY_FLAVOR} -PEP517_INSTALL_CMD?= ${PYTHON_CMD} -m installer -d ${STAGEDIR} --no-compile-bytecode ${BUILD_WRKSRC}/dist/${PORTNAME:C/[-_]+/_/g}-${PORTVERSION}-*.whl -PEP517_INSTALL_DEPEND?= ${PYTHON_PKGNAMEPREFIX}installer>0:devel/py-installer@${PY_FLAVOR} +PEP517_BUILD_CMD?= ${PYTHON_CMD} -m build --no-isolation --wheel +PEP517_BUILD_DEPEND?= ${PYTHON_PKGNAMEPREFIX}build>=0:devel/py-build@${PY_FLAVOR} +PEP517_INSTALL_CMD?= ${PYTHON_CMD} -m installer --destdir ${STAGEDIR} ${BUILD_WRKSRC}/dist/${PORTNAME:C/[-_]+/_/g}-${PORTVERSION}-*.whl +PEP517_INSTALL_DEPEND?= ${PYTHON_PKGNAMEPREFIX}installer>=0:devel/py-installer@${PY_FLAVOR} # nose support . if defined(_PYTHON_FEATURE_NOSE) @@ -858,7 +858,8 @@ do-install: @${SED} -e 's|^|${PYTHONPREFIX_SITELIBDIR}/|' \ -e 's|^${PYTHONPREFIX_SITELIBDIR}/../../../bin/|bin/|' \ -e 's|\,.*$$||' \ - ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/${PORTNAME:C/[-_]+/_/g}-${PORTVERSION}.dist-info/RECORD >> ${_PYTHONPKGLIST} + ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/${PORTNAME:C|[-_]+|_|g}-${PORTVERSION}.dist-info/RECORD >> ${_PYTHONPKGLIST} + @cd ${STAGEDIR}${PREFIX} && ${FIND} lib -name '*.pyc' >> ${_PYTHONPKGLIST} . endif . endif # defined(_PYTHON_FEATURE_PEP517) |