changeset 16:f02a08eefd82

Allow to build some CFFI ports to build again with current PyPy3: the internal PyPy3 directly layout has changed
author Franz Glasner <fzglas.hg@dom66.de>
date Mon, 03 Oct 2022 11:37:45 +0200
parents 3e54ae4e5d8b
children dd6054092884
files bsd.pypy.cffi.mk
diffstat 1 files changed, 15 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/bsd.pypy.cffi.mk	Mon Oct 03 11:37:07 2022 +0200
+++ b/bsd.pypy.cffi.mk	Mon Oct 03 11:37:45 2022 +0200
@@ -6,13 +6,17 @@
 BUILD_DEPENDS+=	${PYTHON_IMPL}:lang/${PYTHON_IMPL}
 RUN_DEPENDS+=	${PYTHON_IMPL}:lang/${PYTHON_IMPL}
 
-PLIST_FILES=	${PYPY_DIR}/lib_pypy/${CFFI_MODULE}_cffi.${PYPY_CFFI_VER}.so
-
 CFFI_MODULE?=	_${PORTNAME}
 
 FLAVORS=	pypy pypy3
 FLAVOR?=	${FLAVORS:[1]}
 
+.if ${FLAVOR} == pypy
+PLIST_FILES=	${PYPY_DIR}/lib_pypy/${CFFI_MODULE}_cffi.${PYPY_CFFI_VER}.so
+.else  # pypy3
+PLIST_FILES=	${PYPY_DIR}/lib/${PYTHON_IMPL_MINOR}/${CFFI_MODULE}_cffi.${PYPY_CFFI_VER}.so
+.endif
+
 PYTHON_IMPL=	${FLAVOR}
 PYTHON_PORTVERSION=	${DISTVERSION}
 PYTHON_PKGNAMEPREFIX=	${PYTHON_IMPL}-
@@ -21,10 +25,19 @@
 .include "${.CURDIR}/../../lang/pypy/bsd.pypy.mk"
 
 do-build:
+.if ${FLAVOR} == pypy
 	${CP} ${LOCALBASE}/${PYPY_DIR}/lib_pypy/${CFFI_MODULE}_build.py ${WRKDIR}/${PORTNAME}.py
+.else     # pypy3
+	${CP} ${LOCALBASE}/${PYPY_DIR}/lib/${PYTHON_IMPL_MINOR}/${CFFI_MODULE}_build.py ${WRKDIR}/${PORTNAME}.py
+.endif
 	(cd ${WRKDIR}; \
 		${PYTHON_CMD} -c "from ${PORTNAME} import ${CFFI_NAME} as ffi; ffi.compile('${WRKDIR}');")
 
 do-install:
+.if ${FLAVOR} == pypy
 	${MKDIR} ${STAGEDIR}${PREFIX}/${PYPY_DIR}/lib_pypy/`dirname ${CFFI_MODULE}`/
 	${INSTALL_LIB} ${WRKDIR}/${CFFI_MODULE}_cffi.${PYPY_CFFI_VER}.so ${STAGEDIR}${PREFIX}/${PYPY_DIR}/lib_pypy/`dirname ${CFFI_MODULE}`/
+.else  # pypy3
+	${MKDIR} ${STAGEDIR}${PREFIX}/${PYPY_DIR}/lib/${PYTHON_IMPL_MINOR}/`dirname ${CFFI_MODULE}`/
+	${INSTALL_LIB} ${WRKDIR}/${CFFI_MODULE}_cffi.${PYPY_CFFI_VER}.so ${STAGEDIR}${PREFIX}/${PYPY_DIR}/lib/${PYTHON_IMPL_MINOR}/`dirname ${CFFI_MODULE}`/
+.endif