Init, adding corrade,magnum,magnum-plugins,magnum-integration,magnum-extras, and magnum-examples 2025.47_1
This commit is contained in:
53
common/build-helper/numpy.sh
Normal file
53
common/build-helper/numpy.sh
Normal file
@@ -0,0 +1,53 @@
|
||||
#
|
||||
# numpy - build-helper for packages that compile against python3-numpy
|
||||
#
|
||||
# This build-helper makes sure packages can find python3-numpy libraries and
|
||||
# headers on the target architecture rather than the host, as well as making
|
||||
# sure the gfortran cross compiler is properly identified.
|
||||
|
||||
# Even for cross compilation, numpy should be available on the host to ensure
|
||||
# that the host interpreter doesn't complain about missing deps
|
||||
if [[ $hostmakedepends != *"python3-numpy"* ]]; then
|
||||
hostmakedepends+=" python3-numpy"
|
||||
fi
|
||||
|
||||
[ -z "$CROSS_BUILD" ] && return 0
|
||||
|
||||
if [[ $makedepends != *"python3-numpy"* ]]; then
|
||||
makedepends+=" python3-numpy"
|
||||
fi
|
||||
|
||||
# python3-setuptools finds numpy libs and headers on the host first;
|
||||
# adding search paths up front allows the target to take priority
|
||||
CFLAGS+=" -I${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/_core/include"
|
||||
LDFLAGS+=" -L${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/_core/lib"
|
||||
LDFLAGS+=" -L${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/random/lib"
|
||||
|
||||
# distutils from python3-numpy looks to environment variables F77 and
|
||||
# F90 rather than the XBPS-set FC
|
||||
export F77="${FC}"
|
||||
export F90="${FC}"
|
||||
|
||||
# When compiling and linking FORTRAN, distutils from python3-numpy
|
||||
# refuses respect any linker name except "gfortran"; symlink to the
|
||||
# cross-compiler to that the right linker and compiler will be used
|
||||
if _gfortran=$(command -v "${FC}"); then
|
||||
ln -sf "${_gfortran}" "${XBPS_WRAPPERDIR}/gfortran"
|
||||
fi
|
||||
unset _gfortran
|
||||
|
||||
# Write a secondary meson cross file for numpy configuration
|
||||
if [[ "${build_helper}" = *meson* ]]; then
|
||||
_npy_meson_cross="${XBPS_WRAPPERDIR}/meson/xbps_numpy.cross"
|
||||
_cross_py_site="${XBPS_CROSS_BASE}/${py3_sitelib}"
|
||||
|
||||
if [ ! -e "${_npy_meson_cross}" ] || [ -n "$XBPS_BUILD_FORCEMODE" ]; then
|
||||
mkdir -p "${XBPS_WRAPPERDIR}/meson"
|
||||
cat > "${_npy_meson_cross}" <<-EOF
|
||||
[properties]
|
||||
numpy-include-dir = '${_cross_py_site}/numpy/_core/include'
|
||||
pythran-include-dir = '${_cross_py_site}/pythran'
|
||||
EOF
|
||||
fi
|
||||
unset _npy_meson_cross _cross_py_site
|
||||
fi
|
||||
Reference in New Issue
Block a user