python3-module.sh (2135B)
1# 2# This helper is for templates installing python3-only modules. 3# 4 5do_build() { 6 if [ -n "$CROSS_BUILD" ]; then 7 PYPREFIX="$XBPS_CROSS_BASE" 8 CFLAGS+=" -I${XBPS_CROSS_BASE}/${py3_inc} -I${XBPS_CROSS_BASE}/usr/include" 9 LDFLAGS+=" -L${XBPS_CROSS_BASE}/${py3_lib} -L${XBPS_CROSS_BASE}/usr/lib" 10 CC="${XBPS_CROSS_TRIPLET}-gcc -pthread $CFLAGS $LDFLAGS" 11 LDSHARED="${CC} -shared $LDFLAGS" 12 for f in ${XBPS_CROSS_BASE}/${py3_lib}/_sysconfigdata_*; do 13 f=${f##*/} 14 _PYTHON_SYSCONFIGDATA_NAME=${f%.py} 15 done 16 env CC="$CC" LDSHARED="$LDSHARED" \ 17 PYPREFIX="$PYPREFIX" CFLAGS="$CFLAGS" \ 18 PYTHONPATH=${XBPS_CROSS_BASE}/${py3_lib} \ 19 _PYTHON_SYSCONFIGDATA_NAME="$_PYTHON_SYSCONFIGDATA_NAME" \ 20 LDFLAGS="$LDFLAGS" python3 setup.py build ${make_build_args} 21 else 22 python3 setup.py build ${make_build_args} 23 fi 24} 25 26do_check() { 27 if python3 -m pytest --help >/dev/null 2>&1; then 28 python3 -m pytest ${make_check_args} ${make_check_target} 29 else 30 # Fall back to deprecated setup.py test orchestration without pytest 31 if [ -z "$make_check_target" ]; then 32 if ! python3 setup.py --help test >/dev/null 2>&1; then 33 msg_warn "No command 'test' defined by setup.py.\n" 34 return 0 35 fi 36 fi 37 38 : ${make_check_target:=test} 39 python3 setup.py ${make_check_target} ${make_check_args} 40 fi 41} 42 43do_install() { 44 if [ -n "$CROSS_BUILD" ]; then 45 PYPREFIX="$XBPS_CROSS_BASE" 46 CFLAGS+=" -I${XBPS_CROSS_BASE}/${py3_inc} -I${XBPS_CROSS_BASE}/usr/include" 47 LDFLAGS+=" -L${XBPS_CROSS_BASE}/${py3_lib} -L${XBPS_CROSS_BASE}/usr/lib" 48 CC="${XBPS_CROSS_TRIPLET}-gcc -pthread $CFLAGS $LDFLAGS" 49 LDSHARED="${CC} -shared $LDFLAGS" 50 for f in ${XBPS_CROSS_BASE}/${py3_lib}/_sysconfigdata_*; do 51 f=${f##*/} 52 _PYTHON_SYSCONFIGDATA_NAME=${f%.py} 53 done 54 env CC="$CC" LDSHARED="$LDSHARED" \ 55 PYPREFIX="$PYPREFIX" CFLAGS="$CFLAGS" \ 56 PYTHONPATH=${XBPS_CROSS_BASE}/${py3_lib} \ 57 _PYTHON_SYSCONFIGDATA_NAME="$_PYTHON_SYSCONFIGDATA_NAME" \ 58 LDFLAGS="$LDFLAGS" python3 setup.py \ 59 install --prefix=/usr --root=${DESTDIR} ${make_install_args} 60 else 61 python3 setup.py install --prefix=/usr --root=${DESTDIR} ${make_install_args} 62 fi 63}