Page MenuHomeFreeBSD

D58848.id184077.diff
No OneTemporary

D58848.id184077.diff

diff --git a/devel/py-pyyaml/Makefile b/devel/py-pyyaml/Makefile
--- a/devel/py-pyyaml/Makefile
+++ b/devel/py-pyyaml/Makefile
@@ -1,5 +1,6 @@
PORTNAME= pyyaml
DISTVERSION= 6.0.3
+PORTREVISION= 1
CATEGORIES= devel python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
@@ -12,7 +13,7 @@
LICENSE_FILE= ${WRKSRC}/LICENSE
USES= cpe localbase python
-USE_PYTHON= autoplist concurrent cython distutils
+USE_PYTHON= autoplist concurrent cython pep517 pytest
OPTIONS_DEFINE= LIBYAML EXAMPLES
OPTIONS_DEFAULT=LIBYAML
@@ -22,23 +23,53 @@
.include <bsd.port.pre.mk>
+BUILD_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
+
.if ${PORT_OPTIONS:MLIBYAML}
-PYDISTUTILS_SETUP+= --with-libyaml
-PYDISTUTILS_BUILD_TARGET= build_ext
-PYDISTUTILS_BUILDARGS+= --include-dirs=${LOCALBASE}/include \
- --library-dirs=${LOCALBASE}/lib
+PEP517_BUILD_CONFIG_SETTING= --config-json '{"pyyaml_build_config": "{\"include_dirs\": [\"${LOCALBASE}/include\"], \"library_dirs\": [\"${LOCALBASE}/lib\"]}"}'
+MAKE_ENV+= PYYAML_FORCE_LIBYAML=1
.else
-PYDISTUTILS_SETUP+= --without-libyaml
+MAKE_ENV+= PYYAML_FORCE_LIBYAML=0
NO_ARCH= yes
.endif
+# setup.py's NAME is "PyYAML" (mixed-case), unlike PORTNAME; :tl on PORTNAME
+# would not reconstruct it, so it must be spelled out literally
+# incorporating the mixed-case portion of name normalisation
+# https://packaging.python.org/en/latest/specifications/name-normalization/
+# https://packaging.python.org/en/latest/specifications/binary-distribution-format/#escaping-and-unicode
+PYWHEEL_NAME= PyYAML
+
+PEP517_INSTALL_CMD= ${PYTHON_CMD} -m installer --destdir ${STAGEDIR} \
+ --prefix ${PREFIX} \
+ ${BUILD_WRKSRC}/dist/${PYWHEEL_NAME}-${DISTVERSION}*.whl
+
+do-install:
+ @${MKDIR} ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}
+ @cd ${INSTALL_WRKSRC} && ${SETENVI} ${WRK_ENV} ${MAKE_ENV} ${PEP517_INSTALL_CMD}
+ @${PYTHON_CMD} -B ${PORTSDIR}/Mk/Scripts/strip_RECORD.py \
+ ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/${PYWHEEL_NAME}-${DISTVERSION}*.dist-info/RECORD >> ${_PYTHONPKGLIST}
+ @${REINPLACE_CMD} \
+ -e '/\.pyc$$/d' \
+ -e 's|^|${PYTHONPREFIX_SITELIBDIR}/|' \
+ -e 's|^${PYTHONPREFIX_SITELIBDIR}/../../../etc/|etc/|' \
+ -e 's|^${PYTHONPREFIX_SITELIBDIR}/../../../bin/|bin/|' \
+ -e 's|^${PYTHONPREFIX_SITELIBDIR}/../../../include/|include/|' \
+ -e 's|^${PYTHONPREFIX_SITELIBDIR}/../../../lib/|lib/|' \
+ -e 's|^${PYTHONPREFIX_SITELIBDIR}/../../../libdata/|libdata/|' \
+ -e 's|^${PYTHONPREFIX_SITELIBDIR}/../../../libexec/|libexec/|' \
+ -e 's|^${PYTHONPREFIX_SITELIBDIR}/../../../man/|man/|' \
+ -e 's|^${PYTHONPREFIX_SITELIBDIR}/../../../sbin/|sbin/|' \
+ -e 's|^${PYTHONPREFIX_SITELIBDIR}/../../../share/|share/|' \
+ ${_PYTHONPKGLIST}
+ @cd ${STAGEDIR}${PREFIX} && ${FIND} lib -name '*.pyc' >> ${_PYTHONPKGLIST}
+
post-install-EXAMPLES-on:
@(cd ${WRKSRC}/examples && ${COPYTREE_SHARE} . ${STAGEDIR}${EXAMPLESDIR}/)
post-install-LIBYAML-on:
@${STRIP_CMD} ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/yaml/_yaml*.so
-do-test:
- @cd ${WRKSRC} && ${PYTHON_CMD} ${PYDISTUTILS_SETUP} test
-
.include <bsd.port.post.mk>
+

File Metadata

Mime Type
text/plain
Expires
Fri, Aug 28, 6:47 AM (43 m, 13 s)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
36805020
Default Alt Text
D58848.id184077.diff (3 KB)

Event Timeline