diff lang/pypy2/bsd.pypy.cffi.mk @ 65:9e9df3f25e7d

Move the old imported pypy repo into the lang/pypy2 folder
author Franz Glasner <fzglas.hg@dom66.de>
date Fri, 12 Jan 2024 09:18:14 +0100
parents bsd.pypy.cffi.mk@b0ce0cf90f22
children b907e948fed9
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/pypy2/bsd.pypy.cffi.mk	Fri Jan 12 09:18:14 2024 +0100
@@ -0,0 +1,60 @@
+# NOTE: Also includes bsd.pypy.mk and (indirectly) bsd.port.pre.mk
+
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+DISTFILES=
+
+BUILD_DEPENDS+=	${PYTHON_IMPL}:lang/${PYTHON_IMPL}
+RUN_DEPENDS+=	${PYTHON_IMPL}:lang/${PYTHON_IMPL}
+
+CFFI_MODULE?=	_${PORTNAME}
+
+FLAVORS=	pypy pypy3
+FLAVOR?=	${FLAVORS:[1]}
+
+PYTHON_IMPL=	${FLAVOR}
+PYTHON_PORTVERSION=	${DISTVERSION}
+PYTHON_PKGNAMEPREFIX=	${PYTHON_IMPL}-
+PYTHON_CMD=	${LOCALBASE}/bin/${PYTHON_IMPL}
+
+.include "${.CURDIR}/../../lang/pypy/bsd.pypy.mk"
+
+#
+# Check that this port's build selected option FORPYIMPL37, FORPYIMPL38, FORPYIMPL39 or FORPYIMPL310
+# is compatible to the corresponding build option of the installed pypy3.
+#
+.if ${FLAVOR} == pypy3 && exists(${LOCALBASE}/bin/pypy3)
+_PYPY_SC_PLATSTDLIB=	${:!${LOCALBASE}/bin/pypy3 -c 'import sysconfig; print(sysconfig.get_path("platstdlib"))'!}
+.  if ${PORT_OPTIONS:MFORPYIMPL37}
+.    if ${_PYPY_SC_PLATSTDLIB:T} != lib_pypy
+IGNORE=		Port option mismatch: must match FORPYIMPLxx of the installed lang/pypy3
+.    endif
+.  else
+.    if ${_PYPY_SC_PLATSTDLIB:T} != ${PYTHON_IMPL_MINOR}
+IGNORE=		Port option mismatch: must match FORPYIMPLxx of the installed lang/pypy3
+.    endif
+.  endif
+.endif
+
+.if ${FLAVOR} == pypy || ${PORT_OPTIONS:MFORPYIMPL37}
+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
+
+do-build:
+.if ${FLAVOR} == pypy || ${PORT_OPTIONS:MFORPYIMPL37}
+	${CP} ${LOCALBASE}/${PYPY_DIR}/lib_pypy/${CFFI_MODULE}_build.py ${WRKDIR}/${PORTNAME}.py
+.else     # newer 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 || ${PORT_OPTIONS:MFORPYIMPL37}
+	${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  # newer 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