77 lines
2.0 KiB
Bash
77 lines
2.0 KiB
Bash
# Template file for 'python3-numpy'
|
|
pkgname=python3-numpy
|
|
version=1.23.1
|
|
revision=1
|
|
wrksrc="numpy-${version}"
|
|
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=9758c4b29ac20e84056a66109ae18401e0cc59a880590a9055aac6fd6c98aa91
|
|
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
|
|
}
|