devel/py-gpep517: add

Alternative PEP-517 build frontend, originally from Gentoo

Despite the requires-python specifier, this does work on 3.7.
This commit is contained in:
Charlie Li 2023-03-27 00:45:29 -04:00
parent 35fec87867
commit a4d616aff9
No known key found for this signature in database
GPG key ID: FEB7852BE29B3E87
4 changed files with 62 additions and 0 deletions

View file

@ -4663,6 +4663,7 @@
SUBDIR += py-google-pasta
SUBDIR += py-google-re2
SUBDIR += py-googleapis-common-protos
SUBDIR += py-gpep517
SUBDIR += py-gpxpy
SUBDIR += py-grab
SUBDIR += py-graphene

51
devel/py-gpep517/Makefile Normal file
View file

@ -0,0 +1,51 @@
PORTNAME= gpep517
DISTVERSION= 13
CATEGORIES= devel python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
MAINTAINER= python@FreeBSD.org
COMMENT= Python package builder and installer for non-pip-centric world
WWW= https://github.com/projg2/gpep517
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}installer>=0.5:devel/py-installer@${PY_FLAVOR}
TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}flit-core>=3.2:devel/py-flit-core@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}hatchling>0:devel/py-hatchling@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pdm-pep517>0:devel/py-pdm-pep517@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}poetry-core>0:devel/py-poetry-core@${PY_FLAVOR} \
${PY_SETUPTOOLS} \
${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
USES= python
USE_PYTHON= allflavors autoplist concurrent pep517 pytest
PEP517_BUILD_DEPEND= ${PYTHON_PKGNAMEPREFIX}flit-core>=3.2:devel/py-flit-core@${PY_FLAVOR}
PEP517_BUILD_CMD= ${PYTHON_CMD} -m flit_core.wheel
NO_ARCH= yes
.include <bsd.port.pre.mk>
.if ${PYTHON_REL} < 31100
BUILD_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}tomli>=1.2.3:textproc/py-tomli@${PY_FLAVOR}
RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}tomli>=1.2.3:textproc/py-tomli@${PY_FLAVOR}
.endif
post-patch:
@${REINPLACE_CMD} '/requires-python/d' ${WRKSRC}/pyproject.toml
pre-test:
.for i in flit_core hatchling pdm.pep517 poetry.core setuptools-legacy setuptools
@${LN} -s ${TEST_WRKSRC}/test/test-pkg/testpkg \
${TEST_WRKSRC}/test/integration/${i}/testpkg
.endfor
post-test:
.for i in flit_core hatchling pdm.pep517 poetry.core setuptools-legacy setuptools
@${RM} ${TEST_WRKSRC}/test/integration/${i}/testpkg
.endfor
.include <bsd.port.post.mk>

View file

@ -0,0 +1,3 @@
TIMESTAMP = 1679878249
SHA256 (gpep517-13.tar.gz) = 4ba0d7f0c943e599ebf3df77d43147313d80cdffa75aacc46beef72f7af44c89
SIZE (gpep517-13.tar.gz) = 19244

View file

@ -0,0 +1,7 @@
gpep517 is a minimal tool to aid building wheels for Python packages
through PEP 517-compliant build systems and installing them. The
tool originated from Gentoo with its primary goals being absolutely
minimal dependency footprint to ease clean bootstrap without bundling
dependencies, and clean separation of functions to aid external
package managers. It is the tool of choice for a world that does
not revolve around pip and venvs.