PKGBUILDs/community/openblas/PKGBUILD
2021-12-20 16:52:31 -05:00

61 lines
2 KiB
Bash

# Maintainer: Felix Yan <felixonmars@archlinux.org>
# Contributor: Giuseppe Borzi <gborzi _AT_ ieee _DOT_ org>
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
# - set build targets
# - clear Makefile.arm (bad cflags overrides)
pkgname=openblas
_pkgname=OpenBLAS
pkgver=0.3.19
pkgrel=1
pkgdesc="An optimized BLAS library based on GotoBLAS2 1.13 BSD"
arch=('x86_64')
url="https://www.openblas.net/"
license=('BSD')
depends=('gcc-libs')
makedepends=('perl' 'gcc-fortran')
checkdepends=('cblas')
provides=('blas=3.9.0')
conflicts=('blas')
source=(${_pkgname}-v${pkgver}.tar.gz::https://github.com/xianyi/OpenBLAS/archive/v${pkgver}.tar.gz)
sha512sums=('1fcbcfefb7744894b0b0c83c6071b342086ca311dc67f5c2745812d61dcc9d31ef7dd5e1215dfb2731ae7197d497dbdf8f8b26a432eb07d41a7db0983eb86a33')
build() {
cd $_pkgname-$pkgver
truncate -s 0 Makefile.arm
[[ $CARCH == "aarch64" ]] && CONFIG="TARGET=ARMV8"
[[ $CARCH == "armv7h" ]] && CONFIG="TARGET=ARMV7" && CFLAGS=`echo $CFLAGS | sed -e 's/vfpv3-d16/neon/'` && CXXFLAGS="$CFLAGS"
[[ $CARCH == "armv6h" ]] && CONFIG="TARGET=ARMV6"
[[ $CARCH == "arm" ]] && CONFIG="TARGET=ARMV5"
make NO_STATIC=1 NO_LAPACK=1 NO_LAPACKE=1 NO_CBLAS=1 NO_AFFINITY=1 USE_OPENMP=1 \
CFLAGS="$CPPFLAGS $CFLAGS" $CONFIG \
NUM_THREADS=64 MAJOR_VERSION=3 libs shared
}
check() {
cd $_pkgname-$pkgver
# TODO
#make CFLAGS="$CPPFLAGS $CFLAGS -lcblas" TARGET=CORE2 tests
}
package() {
cd $_pkgname-$pkgver
make PREFIX="$pkgdir"/usr NUM_THREADS=64 MAJOR_VERSION=3 install
rm -f "$pkgdir"/usr/include/cblas.h "$pkgdir"/usr/include/lapack*
install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
cd "$pkgdir"/usr/lib/
ln -s libopenblasp-r$pkgver.so libblas.so
ln -s libopenblasp-r$pkgver.so libblas.so.3
sed -i -e "s%$pkgdir%%" "$pkgdir"/usr/lib/cmake/openblas/OpenBLASConfig.cmake
sed -i -e "s%$pkgdir%%" "$pkgdir"/usr/lib/pkgconfig/openblas.pc
ln -s openblas.pc "$pkgdir"/usr/lib/pkgconfig/blas.pc
rmdir "$pkgdir"/usr/bin
}
# vim:set ts=2 sw=2 et: