# HG changeset patch # User Franz Glasner # Date 1664983338 -7200 # Node ID ee6885d5bdcb7926d1652f4531a0ed895b1d7cb9 # Parent d2d396c79e9f095e90641fb8083cd2bb8ab27a26 Allow to build CFFI extensions for PyPy3.7 also. PyPy3.7 has the same directory layout as PyPy2.7. PyPy3.8 has a new layout which is more similar to CPython. NOTE: PyPy3.9 will also name its shared library implementation with a version information in it. This will allow side-by-side installations. diff -r d2d396c79e9f -r ee6885d5bdcb bsd.pypy.cffi.mk --- a/bsd.pypy.cffi.mk Wed Oct 05 15:29:19 2022 +0200 +++ b/bsd.pypy.cffi.mk Wed Oct 05 17:22:18 2022 +0200 @@ -11,12 +11,6 @@ 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}- @@ -24,20 +18,26 @@ .include "${.CURDIR}/../../lang/pypy/bsd.pypy.mk" +.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 +.if ${FLAVOR} == pypy || ${PORT_OPTIONS:MFORPYIMPL37} ${CP} ${LOCALBASE}/${PYPY_DIR}/lib_pypy/${CFFI_MODULE}_build.py ${WRKDIR}/${PORTNAME}.py -.else # pypy3 +.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 +.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 # pypy3 +.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