void-packages/srcpkgs/openblas/template
Andrew J. Hesford 722054111e Revert "openblas: update to 0.3.19."
Python code built around python3-numpy and python3-scipy (both linked
with openblas) began emitting warnings after the 0.3.19 update:

    /usr/lib/python3.10/concurrent/futures/thread.py:58:
        RuntimeWarning: overflow encountered in multiply
            result = self.fn(*self.args, **self.kwargs)

that broke program behavior in an Azure VM environment using Intel Xeon
Platinum 8272CL CPUs; the problem was not seen on an AMD Ryzen 5 3600 or
an Intel Core i7-9750H. Downgrading openblas while leaving the rest of
the stack untouched eliminates the problem.

Unfortunately, I do not yet have a proof of concept that can be shared
publicly or more detail about the specific failure, but let's revert to
the last known good version until a specific cause can be identified.

This reverts commit 4f34f570ff.
2021-12-22 23:41:21 -05:00

53 lines
1.7 KiB
Bash

# Template file for 'openblas'
pkgname=openblas
reverts="0.3.19_1"
version=0.3.18
revision=2
wrksrc="OpenBLAS-${version}"
build_style=gnu-makefile
make_build_args="HOSTCC=gcc USE_OPENMP=1"
make_install_args="OPENBLAS_INCLUDE_DIR=\$(PREFIX)/include/openblas"
hostmakedepends="perl gcc-fortran"
makedepends="libgomp-devel"
short_desc="Optimized BLAS (Basic Linear Algebra Subprograms) based on GotoBLAS2"
maintainer="Andrew J. Hesford <ajh@sideband.org>"
license="BSD-3-Clause"
homepage="https://www.openblas.net/"
changelog="https://raw.githubusercontent.com/xianyi/OpenBLAS/v${version}/Changelog.txt"
distfiles="https://github.com/xianyi/OpenBLAS/archive/v${version}.tar.gz"
checksum=1632c1e8cca62d8bed064b37747e331a1796fc46f688626337362bf0d16aeadb
case "$XBPS_TARGET_MACHINE" in
ppc64*) ;;
ppc*) broken="crashes during build";;
esac
case "${XBPS_TARGET_MACHINE}" in
armv5*) make_build_args+=" TARGET=ARMV5" ;;
armv6*) make_build_args+=" TARGET=ARMV6" ;;
armv7*) make_build_args+=" TARGET=ARMV7" ;;
aarch64*) make_build_args+=" TARGET=ARMV8 DYNAMIC_ARCH=1" ;;
i686*) make_build_args+=" BINARY=32 TARGET=GENERIC DYNAMIC_ARCH=1" ;;
x86_64*) make_build_args+=" BINARY=64 TARGET=GENERIC DYNAMIC_ARCH=1" ;;
ppc64le*) make_build_args+=" TARGET=POWER8 DYNAMIC_ARCH=1" ;;
ppc64*) make_build_args+=" TARGET=PPC970MP" ;; # dynamic arch broken for <power6
ppc*) make_build_args+=" TARGET=PPCG4" ;;
mips*) broken="Not supported" ;;
*) broken="Add your CPU" ;;
esac
post_install() {
vlicense LICENSE
}
openblas-devel_package() {
depends="${sourcepkg}>=${version}_${revision}"
short_desc+=" - development files"
pkg_install() {
vmove usr/include/openblas
vmove usr/lib/cmake
vmove usr/lib/pkgconfig
vmove "usr/lib/*.a"
vmove usr/lib/libopenblas.so
}
}