Page MenuHomeFreeBSD

D53433.1774957269.diff
No OneTemporary

Size
6 KB
Referenced Files
None
Subscribers
None

D53433.1774957269.diff

diff --git a/Mk/Uses/python.mk b/Mk/Uses/python.mk
--- a/Mk/Uses/python.mk
+++ b/Mk/Uses/python.mk
@@ -162,10 +162,13 @@
# - Options for the build backend. Must include -C or --config-setting per option.
# default: <empty>
#
-# PEP517_INSTALL_CMD - Command sequence for a PEP-517 install frontend that installs a wheel.
+# PEP517_INSTALL_CMD - Command sequence for a PEP-517 install frontend that installs a wheel.
# default: ${PYTHON_CMD} -m installer --destdir ${STAGEDIR} --prefix ${PREFIX} ${BUILD_WRKSRC}/dist/${PORTNAME:C|[-_]+|_|g}-${DISTVERSION}*.whl
#
-# PEP517_INSTALL_DEPEND - Port needed to execute ${PEP517_INSTALL_CMD}.
+# PEP517_INSTALL_WHEEL_CMD - Command sequence for a PEP-517 wheel file install.
+# default: ${INSTALL_DATA} ${BUILD_WRKSRC}/dist/${PORTNAME:C|[-_]+|_|g}-${DISTVERSION}*.whl ${PYTHON_WHEELSDIR}
+#
+# PEP517_INSTALL_DEPEND - Port needed to execute ${PEP517_INSTALL_CMD}.
# default: ${PYTHON_PKGNAMEPREFIX}installer>=0:devel/py-installer@${PY_FLAVOR}
#
# PYSETUP - Name of the setup script used by the distutils
@@ -188,6 +191,10 @@
# - Pass this command to distutils on build stage.
# default: build
#
+# PYDISTUTILS_BUILD_WHEEL_TARGET
+# - Pass this command to distutils on build wheel stage.
+# default: bdist_wheel
+#
# PYDISTUTILS_INSTALL_TARGET
# - Pass this command to distutils on install stage.
# default: install
@@ -200,10 +207,18 @@
# - Arguments to build with distutils.
# default: <empty>
#
+# PYDISTUTILS_BUILDWHEELARGS
+# - Arguments to build wheel with distutils.
+# default: <empty>
+#
# PYDISTUTILS_INSTALLARGS
# - Arguments to install with distutils.
# default: -c -O1 --prefix=${PREFIX} --single-version-externally-managed --root=${STAGEDIR}
#
+# PYDISTUTILS_INSTALL_WHEEL_CMD
+# - Command sequence for a distutils wheel file install.
+# default: ${INSTALL_DATA} ${BUILD_WRKSRC}/dist/*.whl ${PYTHON_WHEELSDIR}
+#
# PYDISTUTILS_EGGINFO
# - Canonical name for egg-info.
# default: ${PYDISTUTILS_PKGNAME:C/[^A-Za-z0-9.]+/_/g}-${PYDISTUTILS_PKGVERSION:C/[^A-Za-z0-9.]+/_/g}-py${PYTHON_VER}.egg-info
@@ -269,6 +284,12 @@
# unless you know what you do.
# default: ${PYTHON_LIBDIR}/site-packages
#
+# PYTHON_WHEELSDIR - Location of the Python wheel files installation directory.
+# default: /var/cache/python-wheels
+#
+# PYTHON_INSTALL_WHEELS - Can be defined in make.conf to have the port install
+# the built wheel into ${PYTHON_WHEELSDIR}.
+#
# There are PREFIX-clean variants of the PYTHON_*DIR variables above.
# They are meant to be used by ports instead of the above variables, so the
# ports respect ${PREFIX} (unless USE_PYTHON=pythonprefix is specified).
@@ -615,6 +636,8 @@
PYTHONPREFIX_LIBDIR= ${PYTHON_LIBDIR:S;${PYTHONBASE};${PREFIX};}
PYTHONPREFIX_SITELIBDIR= ${PYTHON_SITELIBDIR:S;${PYTHONBASE};${PREFIX};}
+PYTHON_WHEELSDIR?= /var/cache/python-wheels
+
# Used for recording the installed files.
_PYTHONPKGLIST= ${WRKDIR}/.PLIST.pymodtmp
@@ -709,12 +732,16 @@
. if defined(_PYTHON_FEATURE_DISTUTILS) && \
${_CURRENTPORT} != ${PYTHON_PKGNAMEPREFIX}setuptools && \
${_CURRENTPORT} != ${PYTHON_PKGNAMEPREFIX}setuptools58 && \
- ${_CURRENTPORT} != ${PYTHON_PKGNAMEPREFIX}setuptools44
+ ${_CURRENTPORT} != ${PYTHON_PKGNAMEPREFIX}setuptools44 && \
+ ${_CURRENTPORT} != ${PYTHON_PKGNAMEPREFIX}wheel
. if ${PYTHON_VER} == 2.7
BUILD_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}setuptools44>0:devel/py-setuptools44@${PY_FLAVOR}
RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}setuptools44>0:devel/py-setuptools44@${PY_FLAVOR}
. else
BUILD_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}setuptools>=63.1.0:devel/py-setuptools@${PY_FLAVOR}
+. if defined(PYTHON_INSTALL_WHEELS)
+BUILD_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
+. endif
. endif
. endif
@@ -741,6 +768,7 @@
exec(compile(open(__file__, 'rb').read().replace(b'\\r\\n', b'\\n'), __file__, 'exec'))"
PYDISTUTILS_CONFIGUREARGS?= # empty
PYDISTUTILS_BUILDARGS?= # empty
+PYDISTUTILS_BUILDWHEELARGS?= # empty
PYDISTUTILS_INSTALLARGS?= -c -O1 --prefix=${PREFIX}
. if defined(_PYTHON_FEATURE_DISTUTILS)
. if !defined(PYDISTUTILS_INSTALLNOSINGLE)
@@ -751,6 +779,8 @@
PYDISTUTILS_INSTALLARGS:= --record ${_PYTHONPKGLIST} \
${PYDISTUTILS_INSTALLARGS}
+PYDISTUTILS_INSTALL_WHEEL_CMD?= ${INSTALL_DATA} ${BUILD_WRKSRC}/dist/*.whl ${PYTHON_WHEELSDIR}
+
PYDISTUTILS_PKGNAME?= ${PORTNAME}
PYDISTUTILS_PKGVERSION?=${PORTVERSION}
PYDISTUTILS_EGGINFO?= ${PYDISTUTILS_PKGNAME:C/[^A-Za-z0-9.]+/_/g}-${PYDISTUTILS_PKGVERSION:C/[^A-Za-z0-9.]+/_/g}-py${PYTHON_VER}.egg-info
@@ -760,6 +790,7 @@
PEP517_BUILD_CMD?= ${PYTHON_CMD} -m build --no-isolation --wheel ${PEP517_BUILD_CONFIG_SETTING}
PEP517_BUILD_DEPEND?= ${PYTHON_PKGNAMEPREFIX}build>=0:devel/py-build@${PY_FLAVOR}
PEP517_INSTALL_CMD?= ${PYTHON_CMD} -m installer --destdir ${STAGEDIR} --prefix ${PREFIX} ${BUILD_WRKSRC}/dist/${PORTNAME:C|[-_]+|_|g}-${DISTVERSION}*.whl
+PEP517_INSTALL_WHEEL_CMD?= ${INSTALL_DATA} ${BUILD_WRKSRC}/dist/${PORTNAME:C|[-_]+|_|g}-${DISTVERSION}*.whl ${PYTHON_WHEELSDIR}
PEP517_INSTALL_DEPEND?= ${PYTHON_PKGNAMEPREFIX}installer>=0:devel/py-installer@${PY_FLAVOR}
# nose support
@@ -944,6 +975,7 @@
# py-distutils support
PYDISTUTILS_CONFIGURE_TARGET?= config
PYDISTUTILS_BUILD_TARGET?= build
+PYDISTUTILS_BUILD_WHEEL_TARGET?= bdist_wheel
PYDISTUTILS_INSTALL_TARGET?= install
. if defined(_PYTHON_FEATURE_DISTUTILS)
@@ -958,11 +990,18 @@
. if !target(do-build)
do-build:
@(cd ${BUILD_WRKSRC}; ${SETENVI} ${WRK_ENV} ${MAKE_ENV} ${PYTHON_CMD} ${PYDISTUTILS_SETUP} ${PYDISTUTILS_BUILD_TARGET} ${PYDISTUTILS_BUILDARGS})
+. if defined(PYTHON_INSTALL_WHEELS)
+ @(cd ${BUILD_WRKSRC}; ${SETENVI} ${WRK_ENV} ${MAKE_ENV} ${PYTHON_CMD} ${PYDISTUTILS_SETUP} ${PYDISTUTILS_BUILD_WHEEL_TARGET} ${PYDISTUTILS_BUILDWHEELARGS})
+. endif
. endif
. if !target(do-install)
do-install:
@(cd ${INSTALL_WRKSRC}; ${SETENVI} ${WRK_ENV} ${MAKE_ENV} ${PYTHON_CMD} ${PYDISTUTILS_SETUP} ${PYDISTUTILS_INSTALL_TARGET} ${PYDISTUTILS_INSTALLARGS})
+. if defined(PYTHON_INSTALL_WHEELS)
+ @${MKDIR} ${PYTHON_WHEELSDIR}
+ @(cd ${INSTALL_WRKSRC}; ${SETENVI} ${WRK_ENV} ${MAKE_ENV} ${PYDISTUTILS_INSTALL_WHEEL_CMD})
+. endif
. endif
. endif # defined(_PYTHON_FEATURE_DISTUTILS)
@@ -988,6 +1027,10 @@
do-install:
@${MKDIR} ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}
@cd ${INSTALL_WRKSRC} && ${SETENVI} ${WRK_ENV} ${MAKE_ENV} ${PEP517_INSTALL_CMD}
+. if defined(PYTHON_INSTALL_WHEELS)
+ @${MKDIR} ${PYTHON_WHEELSDIR}
+ @cd ${INSTALL_WRKSRC} && ${SETENVI} ${WRK_ENV} ${MAKE_ENV} ${PEP517_INSTALL_WHEEL_CMD}
+. endif
@${PYTHON_CMD} -B ${PORTSDIR}/Mk/Scripts/strip_RECORD.py \
${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/${PORTNAME:C|[-_]+|_|g}-${DISTVERSION}*.dist-info/RECORD >> ${_PYTHONPKGLIST}
@${REINPLACE_CMD} \

File Metadata

Mime Type
text/plain
Expires
Tue, Mar 31, 11:41 AM (9 h, 27 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
28234582
Default Alt Text
D53433.1774957269.diff (6 KB)

Event Timeline