comparison bsd.pypy.cffi.mk @ 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 5797a1bc38cb
children 8730245d6754
comparison
equal deleted inserted replaced
15:3e54ae4e5d8b 16:f02a08eefd82
4 DISTFILES= 4 DISTFILES=
5 5
6 BUILD_DEPENDS+= ${PYTHON_IMPL}:lang/${PYTHON_IMPL} 6 BUILD_DEPENDS+= ${PYTHON_IMPL}:lang/${PYTHON_IMPL}
7 RUN_DEPENDS+= ${PYTHON_IMPL}:lang/${PYTHON_IMPL} 7 RUN_DEPENDS+= ${PYTHON_IMPL}:lang/${PYTHON_IMPL}
8 8
9 PLIST_FILES= ${PYPY_DIR}/lib_pypy/${CFFI_MODULE}_cffi.${PYPY_CFFI_VER}.so
10
11 CFFI_MODULE?= _${PORTNAME} 9 CFFI_MODULE?= _${PORTNAME}
12 10
13 FLAVORS= pypy pypy3 11 FLAVORS= pypy pypy3
14 FLAVOR?= ${FLAVORS:[1]} 12 FLAVOR?= ${FLAVORS:[1]}
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
15 19
16 PYTHON_IMPL= ${FLAVOR} 20 PYTHON_IMPL= ${FLAVOR}
17 PYTHON_PORTVERSION= ${DISTVERSION} 21 PYTHON_PORTVERSION= ${DISTVERSION}
18 PYTHON_PKGNAMEPREFIX= ${PYTHON_IMPL}- 22 PYTHON_PKGNAMEPREFIX= ${PYTHON_IMPL}-
19 PYTHON_CMD= ${LOCALBASE}/bin/${PYTHON_IMPL} 23 PYTHON_CMD= ${LOCALBASE}/bin/${PYTHON_IMPL}
20 24
21 .include "${.CURDIR}/../../lang/pypy/bsd.pypy.mk" 25 .include "${.CURDIR}/../../lang/pypy/bsd.pypy.mk"
22 26
23 do-build: 27 do-build:
28 .if ${FLAVOR} == pypy
24 ${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
31 ${CP} ${LOCALBASE}/${PYPY_DIR}/lib/${PYTHON_IMPL_MINOR}/${CFFI_MODULE}_build.py ${WRKDIR}/${PORTNAME}.py
32 .endif
25 (cd ${WRKDIR}; \ 33 (cd ${WRKDIR}; \
26 ${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}');")
27 35
28 do-install: 36 do-install:
37 .if ${FLAVOR} == pypy
29 ${MKDIR} ${STAGEDIR}${PREFIX}/${PYPY_DIR}/lib_pypy/`dirname ${CFFI_MODULE}`/ 38 ${MKDIR} ${STAGEDIR}${PREFIX}/${PYPY_DIR}/lib_pypy/`dirname ${CFFI_MODULE}`/
30 ${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
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}`/
43 .endif