Mercurial > hgrepos > FreeBSD > ports > PyPy
comparison bsd.pypy.cffi.mk @ 25:ee6885d5bdcb
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.
| author | Franz Glasner <f.glasner@feldmann-mg.com> |
|---|---|
| date | Wed, 05 Oct 2022 17:22:18 +0200 |
| parents | 246c2f328231 |
| children | 6cddc8f64f05 |
comparison
equal
deleted
inserted
replaced
| 24:d2d396c79e9f | 25:ee6885d5bdcb |
|---|---|
| 9 CFFI_MODULE?= _${PORTNAME} | 9 CFFI_MODULE?= _${PORTNAME} |
| 10 | 10 |
| 11 FLAVORS= pypy pypy3 | 11 FLAVORS= pypy pypy3 |
| 12 FLAVOR?= ${FLAVORS:[1]} | 12 FLAVOR?= ${FLAVORS:[1]} |
| 13 | 13 |
| 14 .if ${FLAVOR} == pypy | |
| 15 PLIST_FILES= ${PYPY_DIR}/lib_pypy/${CFFI_MODULE}_cffi.${PYPY_CFFI_VER}.so | |
| 16 .else # pypy3 | |
| 17 PLIST_FILES= ${PYPY_DIR}/lib/${PYTHON_IMPL_MINOR}/${CFFI_MODULE}_cffi.${PYPY_CFFI_VER}.so | |
| 18 .endif | |
| 19 | |
| 20 PYTHON_IMPL= ${FLAVOR} | 14 PYTHON_IMPL= ${FLAVOR} |
| 21 PYTHON_PORTVERSION= ${DISTVERSION} | 15 PYTHON_PORTVERSION= ${DISTVERSION} |
| 22 PYTHON_PKGNAMEPREFIX= ${PYTHON_IMPL}- | 16 PYTHON_PKGNAMEPREFIX= ${PYTHON_IMPL}- |
| 23 PYTHON_CMD= ${LOCALBASE}/bin/${PYTHON_IMPL} | 17 PYTHON_CMD= ${LOCALBASE}/bin/${PYTHON_IMPL} |
| 24 | 18 |
| 25 .include "${.CURDIR}/../../lang/pypy/bsd.pypy.mk" | 19 .include "${.CURDIR}/../../lang/pypy/bsd.pypy.mk" |
| 26 | 20 |
| 21 .if ${FLAVOR} == pypy || ${PORT_OPTIONS:MFORPYIMPL37} | |
| 22 PLIST_FILES= ${PYPY_DIR}/lib_pypy/${CFFI_MODULE}_cffi.${PYPY_CFFI_VER}.so | |
| 23 .else # pypy3 | |
| 24 PLIST_FILES= ${PYPY_DIR}/lib/${PYTHON_IMPL_MINOR}/${CFFI_MODULE}_cffi.${PYPY_CFFI_VER}.so | |
| 25 .endif | |
| 26 | |
| 27 do-build: | 27 do-build: |
| 28 .if ${FLAVOR} == pypy | 28 .if ${FLAVOR} == pypy || ${PORT_OPTIONS:MFORPYIMPL37} |
| 29 ${CP} ${LOCALBASE}/${PYPY_DIR}/lib_pypy/${CFFI_MODULE}_build.py ${WRKDIR}/${PORTNAME}.py | 29 ${CP} ${LOCALBASE}/${PYPY_DIR}/lib_pypy/${CFFI_MODULE}_build.py ${WRKDIR}/${PORTNAME}.py |
| 30 .else # pypy3 | 30 .else # newer pypy3 |
| 31 ${CP} ${LOCALBASE}/${PYPY_DIR}/lib/${PYTHON_IMPL_MINOR}/${CFFI_MODULE}_build.py ${WRKDIR}/${PORTNAME}.py | 31 ${CP} ${LOCALBASE}/${PYPY_DIR}/lib/${PYTHON_IMPL_MINOR}/${CFFI_MODULE}_build.py ${WRKDIR}/${PORTNAME}.py |
| 32 .endif | 32 .endif |
| 33 (cd ${WRKDIR}; \ | 33 (cd ${WRKDIR}; \ |
| 34 ${PYTHON_CMD} -c "from ${PORTNAME} import ${CFFI_NAME} as ffi; ffi.compile('${WRKDIR}');") | 34 ${PYTHON_CMD} -c "from ${PORTNAME} import ${CFFI_NAME} as ffi; ffi.compile('${WRKDIR}');") |
| 35 | 35 |
| 36 do-install: | 36 do-install: |
| 37 .if ${FLAVOR} == pypy | 37 .if ${FLAVOR} == pypy || ${PORT_OPTIONS:MFORPYIMPL37} |
| 38 ${MKDIR} ${STAGEDIR}${PREFIX}/${PYPY_DIR}/lib_pypy/`dirname ${CFFI_MODULE}`/ | 38 ${MKDIR} ${STAGEDIR}${PREFIX}/${PYPY_DIR}/lib_pypy/`dirname ${CFFI_MODULE}`/ |
| 39 ${INSTALL_LIB} ${WRKDIR}/${CFFI_MODULE}_cffi.${PYPY_CFFI_VER}.so ${STAGEDIR}${PREFIX}/${PYPY_DIR}/lib_pypy/`dirname ${CFFI_MODULE}`/ | 39 ${INSTALL_LIB} ${WRKDIR}/${CFFI_MODULE}_cffi.${PYPY_CFFI_VER}.so ${STAGEDIR}${PREFIX}/${PYPY_DIR}/lib_pypy/`dirname ${CFFI_MODULE}`/ |
| 40 .else # pypy3 | 40 .else # newer pypy3 |
| 41 ${MKDIR} ${STAGEDIR}${PREFIX}/${PYPY_DIR}/lib/${PYTHON_IMPL_MINOR}/`dirname ${CFFI_MODULE}`/ | 41 ${MKDIR} ${STAGEDIR}${PREFIX}/${PYPY_DIR}/lib/${PYTHON_IMPL_MINOR}/`dirname ${CFFI_MODULE}`/ |
| 42 ${INSTALL_LIB} ${WRKDIR}/${CFFI_MODULE}_cffi.${PYPY_CFFI_VER}.so ${STAGEDIR}${PREFIX}/${PYPY_DIR}/lib/${PYTHON_IMPL_MINOR}/`dirname ${CFFI_MODULE}`/ | 42 ${INSTALL_LIB} ${WRKDIR}/${CFFI_MODULE}_cffi.${PYPY_CFFI_VER}.so ${STAGEDIR}${PREFIX}/${PYPY_DIR}/lib/${PYTHON_IMPL_MINOR}/`dirname ${CFFI_MODULE}`/ |
| 43 .endif | 43 .endif |
