void-packages/srcpkgs/python3-numpy/template

76 lines
2.0 KiB
Bash

# Template file for 'python3-numpy'
pkgname=python3-numpy
version=1.23.5
revision=1
build_style=python3-module
hostmakedepends="python3-setuptools python3-Cython gcc-fortran"
makedepends="python3-devel
$(vopt_if openblas 'openblas-devel' 'lapack-devel cblas-devel')"
depends="python3-setuptools"
short_desc="Fast and sophisticated array facility to Python3"
maintainer="Andrew J. Hesford <ajh@sideband.org>"
license="BSD-3-Clause"
homepage="https://www.numpy.org/"
distfiles="https://github.com/numpy/numpy/archive/v${version}.tar.gz"
checksum=a60dec2d648b5e4348fe919a1f0cc5384825b676e7fa9388be14792b19f995a6
alternatives="numpy:f2py:/usr/bin/f2py3"
# Tests do not function propery in a build directory
make_check="no"
build_options="openblas"
case "$XBPS_TARGET_MACHINE" in
x86_64*|i686*|aarch64*|armv[67]*|ppc64*)
# Prefer accelerated routines where available
build_options_default="openblas"
;;
*) ;;
esac
if [ "$build_option_openblas" ]; then
case "$XBPS_TARGET_MACHINE" in
ppc64*) ;;
ppc*) broken="segfaults";;
esac
fi
# SVML AVX-512 functions have very limited support; disble for now
export NPY_DISABLE_SVML=1
post_patch() {
case "${XBPS_TARGET_MACHINE}" in
armv5tel-musl)
cp "${FILESDIR}/fenv-constants.h" numpy/core/src/npymath/
patch -Np0 -i "${FILESDIR}/fenv-constants.patch"
;;
esac
if [ "$XBPS_TARGET_LIBC" = musl ] ; then
vsed -i 's|"backtrace",||' numpy/core/setup_common.py
fi
}
pre_build() {
# Build numpy in parallel
make_build_args+=" ${makejobs}"
# Find the right linear algebra subroutines on the target arch
: > site.cfg
for _blaslib in $(vopt_if openblas openblas "lapack blas"); do
cat >> site.cfg <<-EOF
[$_blaslib]
libraries = ${_blaslib}
include_dirs = ${XBPS_CROSS_BASE}/usr/include
library_dirs = ${XBPS_CROSS_BASE}/usr/lib
runtime_library_dirs = ${XBPS_CROSS_BASE}/usr/lib
EOF
done
}
post_install() {
rm ${DESTDIR}/usr/bin/f2py
rm ${DESTDIR}/${py3_sitelib}/numpy/LICENSE.txt
vlicense LICENSE.txt LICENSE
}