git: 3d836b2bf312 - main - devel/py-wheel044: move under setuptools vendor directory

From: Charlie Li <vishwin_at_FreeBSD.org>
Date: Sun, 04 May 2025 00:18:42 UTC
The branch main has been updated by vishwin:

URL: https://cgit.FreeBSD.org/ports/commit/?id=3d836b2bf312553993d0520cc0a0739fe9d598fa

commit 3d836b2bf312553993d0520cc0a0739fe9d598fa
Author:     Charlie Li <vishwin@FreeBSD.org>
AuthorDate: 2025-04-17 19:58:32 +0000
Commit:     Charlie Li <vishwin@FreeBSD.org>
CommitDate: 2025-05-04 00:17:51 +0000

    devel/py-wheel044: move under setuptools vendor directory
    
    Only possible because setuptools already vendors its own circular
    dependencies. The site/path configuration is such that this always
    follows ${PYTHON_SITELIBDIR}, so anything there always takes
    precedence.
    
    PR: 285997
---
 devel/py-wheel/Makefile    |  2 --
 devel/py-wheel044/Makefile | 15 +++++++++++++--
 2 files changed, 13 insertions(+), 4 deletions(-)

diff --git a/devel/py-wheel/Makefile b/devel/py-wheel/Makefile
index 2ccabff14619..30a7cd696e76 100644
--- a/devel/py-wheel/Makefile
+++ b/devel/py-wheel/Makefile
@@ -19,6 +19,4 @@ USE_PYTHON=	allflavors autoplist concurrent pep517
 EXTRACT_CMD=	${SETENV} LC_ALL=en_US.UTF-8 /usr/bin/bsdtar
 NO_ARCH=	yes
 
-CONFLICTS_INSTALL=	py*-wheel044
-
 .include <bsd.port.mk>
diff --git a/devel/py-wheel044/Makefile b/devel/py-wheel044/Makefile
index 870d4b327e74..91f2a06f8b82 100644
--- a/devel/py-wheel044/Makefile
+++ b/devel/py-wheel044/Makefile
@@ -1,5 +1,6 @@
 PORTNAME=	wheel
 PORTVERSION=	0.44.0
+PORTREVISION=	1
 CATEGORIES=	devel
 MASTER_SITES=	PYPI
 PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
@@ -16,13 +17,23 @@ BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}flit-core>=3.8:devel/py-flit-core@${PY_FLA
 USES=		python
 USE_PYTHON=	allflavors autoplist concurrent pep517
 
-CONFLICTS_INSTALL=	${PYTHON_PKGNAMEPREFIX}wheel
 PORTSCOUT=	ignore:1
 
 # see https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=268500
 EXTRACT_CMD=	${SETENV} LC_ALL=en_US.UTF-8 /usr/bin/bsdtar
 NO_ARCH=	yes
 
-CONFLICTS_INSTALL=	py*-wheel
+post-install:
+# move everything under setuptools vendor directory
+	@${MKDIR} ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/setuptools/_vendor
+	@${MV} ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/${PORTNAME:C|[-_]+|_|g}-${DISTVERSION}*.dist-info \
+		${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/${PORTNAME:C|[-_]+|_|g} \
+		${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/setuptools/_vendor
+	@${REINPLACE_CMD} -e 's|${PYTHONPREFIX_SITELIBDIR:S;${PREFIX}/;;}/${PORTNAME:C|[-_]+|_|g}|${PYTHONPREFIX_SITELIBDIR:S;${PREFIX}/;;}/setuptools/_vendor/${PORTNAME:C|[-_]+|_|g}|g' \
+		-e 's|bin/|@comment bin/|' \
+		${_PYTHONPKGLIST}
+# add .pth so setuptools build knows we exist
+	@${ECHO_CMD} setuptools/_vendor > ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/${PORTNAME}${PKGNAMESUFFIX}.pth
+	@${ECHO_CMD} ${PYTHONPREFIX_SITELIBDIR:S;${PREFIX}/;;}/${PORTNAME}${PKGNAMESUFFIX}.pth >> ${_PYTHONPKGLIST}
 
 .include <bsd.port.mk>