mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2025-02-16 23:57:11 +00:00
community/openblas to 0.3.21-4
This commit is contained in:
parent
88875146cd
commit
3605bfc7e1
1 changed files with 65 additions and 27 deletions
|
@ -3,35 +3,62 @@
|
|||
|
||||
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
|
||||
# - set build targets
|
||||
# - clear Makefile.arm (bad cflags overrides)
|
||||
# - fix library symlinking
|
||||
|
||||
pkgname=openblas
|
||||
pkgbase=openblas
|
||||
pkgname=(openblas openblas64)
|
||||
_pkgname=OpenBLAS
|
||||
pkgver=0.3.21
|
||||
pkgrel=1
|
||||
pkgrel=4
|
||||
_blasver=3.9.0
|
||||
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=('4625c8e6ccfa9120281fd714d3f6b7c3ba2265470c1be76121d6b25dc3dacb899d26e5d9a417ddc616d23909f1411495aa995ef8d8d6df8511cd5cefbabcb1c5')
|
||||
makedepends=('cmake' 'perl' 'gcc-fortran')
|
||||
#checkdepends=('cblas')
|
||||
source=(${_pkgname}-v${pkgver}.tar.gz::https://github.com/xianyi/OpenBLAS/archive/v${pkgver}.tar.gz
|
||||
https://github.com/xianyi/OpenBLAS/commit/7e97dddb.patch)
|
||||
sha512sums=('4625c8e6ccfa9120281fd714d3f6b7c3ba2265470c1be76121d6b25dc3dacb899d26e5d9a417ddc616d23909f1411495aa995ef8d8d6df8511cd5cefbabcb1c5'
|
||||
'fd5b31176a073e9fad95b99d801be2350c6b957595b89f649f84cc7f938177a4d725f7c29f5e785c5441bcd89b5a2b6ddb9e77357dce1fe58fa9814cc8c1ea34')
|
||||
|
||||
prepare() {
|
||||
# Fix libm linkage https://github.com/xianyi/OpenBLAS/issues/3892
|
||||
patch -d $_pkgname-$pkgver -p1 < 7e97dddb.patch
|
||||
}
|
||||
|
||||
build() {
|
||||
cd $_pkgname-$pkgver
|
||||
[[ $CARCH == "aarch64" ]] && CORE="ARMV8"
|
||||
[[ $CARCH == "armv7h" ]] && CORE="ARMV7"
|
||||
|
||||
truncate -s 0 Makefile.arm
|
||||
[[ $CARCH == "aarch64" ]] && CONFIG="TARGET=ARMV8"
|
||||
[[ $CARCH == "armv7h" ]] && CONFIG="TARGET=ARMV7"
|
||||
cmake -B build -S $_pkgname-$pkgver \
|
||||
-DCMAKE_INSTALL_PREFIX=/usr \
|
||||
-DBUILD_SHARED_LIBS=ON \
|
||||
-DBUILD_WITHOUT_LAPACK=ON \
|
||||
-DBUILD_WITHOUT_CBLAS=ON \
|
||||
-DBUILD_TESTING=OFF \
|
||||
-DNO_AFFINITY=ON \
|
||||
-DUSE_OPENMP=1 \
|
||||
-DNO_WARMUP=1 \
|
||||
-DCORE=$CORE \
|
||||
-DNUM_THREADS=64 \
|
||||
-DDYNAMIC_ARCH=ON
|
||||
cmake --build build
|
||||
|
||||
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
|
||||
cmake -B build64 -S $_pkgname-$pkgver \
|
||||
-DCMAKE_INSTALL_PREFIX=/usr \
|
||||
-DBUILD_SHARED_LIBS=ON \
|
||||
-DBUILD_WITHOUT_LAPACK=ON \
|
||||
-DBUILD_WITHOUT_CBLAS=ON \
|
||||
-DBUILD_TESTING=OFF \
|
||||
-DNO_AFFINITY=ON \
|
||||
-DUSE_OPENMP=1 \
|
||||
-DNO_WARMUP=1 \
|
||||
-DCORE=$CORE \
|
||||
-DNUM_THREADS=64 \
|
||||
-DDYNAMIC_ARCH=ON \
|
||||
-DINTERFACE64=1
|
||||
cmake --build build64
|
||||
}
|
||||
|
||||
check() {
|
||||
|
@ -40,21 +67,32 @@ check() {
|
|||
#make CFLAGS="$CPPFLAGS $CFLAGS -lcblas" TARGET=CORE2 tests
|
||||
}
|
||||
|
||||
package() {
|
||||
cd $_pkgname-$pkgver
|
||||
package_openblas() {
|
||||
provides=("blas=$_blasver")
|
||||
conflicts=('blas')
|
||||
|
||||
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
|
||||
DESTDIR="$pkgdir" cmake --install build
|
||||
install -Dm644 $_pkgname-$pkgver/LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
|
||||
|
||||
cd "$pkgdir"/usr/lib/
|
||||
ln -s $(readlink "libopenblas.so.3") libblas.so
|
||||
ln -s $(readlink "libopenblas.so.3") 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 libopenblas.so.${pkgver%.*} libblas.so
|
||||
ln -s libopenblas.so.${pkgver%.*} libblas.so.3
|
||||
ln -s openblas.pc "$pkgdir"/usr/lib/pkgconfig/blas.pc
|
||||
}
|
||||
|
||||
rmdir "$pkgdir"/usr/bin
|
||||
package_openblas64() {
|
||||
pkgdesc+=" (64-bit integers)"
|
||||
provides=("blas64=$_blasver")
|
||||
conflicts=('blas64')
|
||||
|
||||
DESTDIR="$pkgdir" cmake --install build64
|
||||
install -Dm644 $_pkgname-$pkgver/LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
|
||||
|
||||
cd "$pkgdir"/usr/lib/
|
||||
ln -s libopenblas_64.so.${pkgver%.*} libblas64.so
|
||||
ln -s libopenblas_64.so.${pkgver%.*} libblas64.so.3
|
||||
ln -s libopenblas_64.so.${pkgver%.*} libopenblas64_.so # Needed by julia
|
||||
ln -s openblas64.pc "$pkgdir"/usr/lib/pkgconfig/blas64.pc
|
||||
}
|
||||
|
||||
# vim:set ts=2 sw=2 et:
|
||||
|
|
Loading…
Reference in a new issue