Files
extra/lapack/PKGBUILD
2025-06-22 20:39:04 -05:00

113 lines
3.1 KiB
Bash

# Maintainer: Jesus E. <heckyel@riseup.net>
pkgbase=lapack
pkgname=(lapack blas cblas lapacke lapack-doc)
pkgver=3.9.0
_debver=$pkgver
_debrel=3
pkgrel=2
url='https://www.netlib.org/lapack'
pkgdesc="Linear Algebra PACKage"
makedepends=(gcc-fortran cmake python doxygen quilt)
arch=(i686 x86_64)
license=(Modified-BSD)
source=($pkgbase-$pkgver.tar.gz::"https://github.com/Reference-LAPACK/lapack/archive/v$pkgver.tar.gz"
"https://deb.debian.org/debian/pool/main/l/lapack/lapack_${_debver}-${_debrel}+deb11u1.debian.tar.xz"
"lapacke-missing-symbols.patch")
sha512sums=('424956ad941a60a4b71e0d451ad48db12a692f8a71a90f3ca7f71d6ecc1922f392746ea84df1c47a46577ed2db32e9e47ec44ad248207c5ac7da179becb712ef'
'7919ce67169ffae66af2baa1ab91186bb4e3ecaf3812bc6284b493d51f2abc688c5371fdb7b303535c52e38e0c9ed3f8ec6a643b524d6c027595601b08d7a6b1'
'7964addb97716b24a0d9ea375c826925256a0efe82547921e0e5867cc12f2b611d626232c0e26d26cdaeea9fd36674ed5275407ad7efcc060c673cde0082c3a6')
prepare() {
cd $pkgbase-$pkgver
if [[ ${pkgver%.*} = ${_debver%.*} ]]; then
# Debian patches
export QUILT_PATCHES=debian/patches
export QUILT_REFRESH_ARGS='-p ab --no-timestamps --no-index'
export QUILT_DIFF_ARGS='--no-timestamps'
mv "$srcdir"/debian .
# Doesn't apply
rm -v debian/patches/python3.patch || true
quilt push -av
else
# https://github.com/Reference-LAPACK/lapack/issues/365
patch -p1 -i $srcdir/lapacke-missing-symbols.patch
fi
}
build() {
cmake \
-S $pkgbase-$pkgver \
-B build \
-DCMAKE_SKIP_RPATH=ON \
-DBUILD_SHARED_LIBS=ON \
-DBUILD_TESTING=OFF \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_Fortran_COMPILER=gfortran \
-DLAPACKE_WITH_TMG=ON \
-DCBLAS=ON \
-DBUILD_DEPRECATED=ON
make -C build
# build man pages
cd $pkgname-$pkgver
doxygen DOCS/Doxyfile_man
}
package_lapack() {
depends=(blas)
cd build
make DESTDIR="$pkgdir" install
rm -r "$pkgdir"/usr/lib/{libblas.*,libcblas.*,liblapacke.*}
rm -r "$pkgdir"/usr/lib/pkgconfig/{blas.*,cblas.*,lapacke.*}
rm -r "$pkgdir"/usr/lib/cmake/{cblas*,lapacke*}
rm -r "$pkgdir"/usr/include
install -Dm644 $srcdir/$pkgbase-$pkgver/LICENSE -t "$pkgdir/usr/share/licenses/$pkgname"
}
package_blas() {
pkgdesc="Basic Linear Algebra Subprograms"
depends=(gcc-libs)
cd build/BLAS
make DESTDIR="$pkgdir" install
install -Dm644 $srcdir/$pkgbase-$pkgver/LICENSE -t "$pkgdir/usr/share/licenses/$pkgname"
}
package_cblas() {
pkgdesc="C interface to BLAS"
depends=(blas)
cd build/CBLAS
make DESTDIR="$pkgdir" install
install -Dm644 $srcdir/$pkgbase-$pkgver/LICENSE -t "$pkgdir/usr/share/licenses/$pkgname"
}
package_lapacke() {
pkgdesc="C interface to LAPACK"
depends=(lapack)
cd build/LAPACKE
make DESTDIR="$pkgdir" install
install -Dm644 $srcdir/$pkgbase-$pkgver/LICENSE -t "$pkgdir/usr/share/licenses/$pkgname"
}
package_lapack-doc() {
pkgdesc="Man pages for BLAS/LAPACK"
mkdir -p "$pkgdir"/usr/share
cp -r lapack-$pkgver/DOCS/man "$pkgdir"/usr/share
install -Dm644 $srcdir/$pkgbase-$pkgver/LICENSE -t "$pkgdir/usr/share/licenses/$pkgname"
}