initial import
This commit is contained in:
112
lapack/PKGBUILD
Normal file
112
lapack/PKGBUILD
Normal file
@@ -0,0 +1,112 @@
|
||||
# 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"
|
||||
}
|
||||
138
lapack/lapacke-missing-symbols.patch
Normal file
138
lapack/lapacke-missing-symbols.patch
Normal file
@@ -0,0 +1,138 @@
|
||||
From 87536aa3c8bb0af00f66088fb6ac05d87509e011 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?S=C3=A9bastien=20Villemot?= <sebastien@debian.org>
|
||||
Date: Sat, 23 Nov 2019 12:22:20 +0100
|
||||
Subject: [PATCH] Restore missing prototypes for deprecated LAPACK functions
|
||||
|
||||
Some LAPACK functions prototypes were inadvertedly dropped in 3.9.0. As a
|
||||
consequence, LAPACKE has several unresolved symbols.
|
||||
|
||||
Closes #365
|
||||
---
|
||||
LAPACKE/include/lapack.h | 100 +++++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 100 insertions(+)
|
||||
|
||||
diff --git a/LAPACKE/include/lapack.h b/LAPACKE/include/lapack.h
|
||||
index 3f425325f..5c131d844 100644
|
||||
--- a/LAPACKE/include/lapack.h
|
||||
+++ b/LAPACKE/include/lapack.h
|
||||
@@ -1842,6 +1842,28 @@ void LAPACK_zgeqlf(
|
||||
lapack_complex_double* work, lapack_int const* lwork,
|
||||
lapack_int* info );
|
||||
|
||||
+#define LAPACK_sgeqpf LAPACK_GLOBAL(sgeqpf,SGEQPF)
|
||||
+void LAPACK_sgeqpf( lapack_int* m, lapack_int* n, float* a, lapack_int* lda,
|
||||
+ lapack_int* jpvt, float* tau, float* work,
|
||||
+ lapack_int *info );
|
||||
+
|
||||
+#define LAPACK_dgeqpf LAPACK_GLOBAL(dgeqpf,DGEQPF)
|
||||
+void LAPACK_dgeqpf( lapack_int* m, lapack_int* n, double* a, lapack_int* lda,
|
||||
+ lapack_int* jpvt, double* tau, double* work,
|
||||
+ lapack_int *info );
|
||||
+
|
||||
+#define LAPACK_cgeqpf LAPACK_GLOBAL(cgeqpf,CGEQPF)
|
||||
+void LAPACK_cgeqpf( lapack_int* m, lapack_int* n, lapack_complex_float* a,
|
||||
+ lapack_int* lda, lapack_int* jpvt,
|
||||
+ lapack_complex_float* tau, lapack_complex_float* work,
|
||||
+ float* rwork, lapack_int *info );
|
||||
+
|
||||
+#define LAPACK_zgeqpf LAPACK_GLOBAL(zgeqpf,ZGEQPF)
|
||||
+void LAPACK_zgeqpf( lapack_int* m, lapack_int* n, lapack_complex_double* a,
|
||||
+ lapack_int* lda, lapack_int* jpvt,
|
||||
+ lapack_complex_double* tau, lapack_complex_double* work,
|
||||
+ double* rwork, lapack_int *info );
|
||||
+
|
||||
#define LAPACK_cgeqp3 LAPACK_GLOBAL(cgeqp3,CGEQP3)
|
||||
void LAPACK_cgeqp3(
|
||||
lapack_int const* m, lapack_int const* n,
|
||||
@@ -3617,6 +3639,47 @@ void LAPACK_zggrqf(
|
||||
lapack_complex_double* work, lapack_int const* lwork,
|
||||
lapack_int* info );
|
||||
|
||||
+#define LAPACK_sggsvd LAPACK_GLOBAL(sggsvd,SGGSVD)
|
||||
+lapack_int LAPACKE_sggsvd( int matrix_layout, char jobu, char jobv, char jobq,
|
||||
+ lapack_int m, lapack_int n, lapack_int p,
|
||||
+ lapack_int* k, lapack_int* l, float* a,
|
||||
+ lapack_int lda, float* b, lapack_int ldb,
|
||||
+ float* alpha, float* beta, float* u, lapack_int ldu,
|
||||
+ float* v, lapack_int ldv, float* q, lapack_int ldq,
|
||||
+ lapack_int* iwork );
|
||||
+
|
||||
+#define LAPACK_dggsvd LAPACK_GLOBAL(dggsvd,DGGSVD)
|
||||
+lapack_int LAPACKE_dggsvd( int matrix_layout, char jobu, char jobv, char jobq,
|
||||
+ lapack_int m, lapack_int n, lapack_int p,
|
||||
+ lapack_int* k, lapack_int* l, double* a,
|
||||
+ lapack_int lda, double* b, lapack_int ldb,
|
||||
+ double* alpha, double* beta, double* u,
|
||||
+ lapack_int ldu, double* v, lapack_int ldv, double* q,
|
||||
+ lapack_int ldq, lapack_int* iwork );
|
||||
+
|
||||
+#define LAPACK_cggsvd LAPACK_GLOBAL(cggsvd,CGGSVD)
|
||||
+lapack_int LAPACKE_cggsvd( int matrix_layout, char jobu, char jobv, char jobq,
|
||||
+ lapack_int m, lapack_int n, lapack_int p,
|
||||
+ lapack_int* k, lapack_int* l,
|
||||
+ lapack_complex_float* a, lapack_int lda,
|
||||
+ lapack_complex_float* b, lapack_int ldb,
|
||||
+ float* alpha, float* beta, lapack_complex_float* u,
|
||||
+ lapack_int ldu, lapack_complex_float* v,
|
||||
+ lapack_int ldv, lapack_complex_float* q,
|
||||
+ lapack_int ldq, lapack_int* iwork );
|
||||
+
|
||||
+#define LAPACK_zggsvd LAPACK_GLOBAL(zggsvd,ZGGSVD)
|
||||
+lapack_int LAPACKE_zggsvd( int matrix_layout, char jobu, char jobv, char jobq,
|
||||
+ lapack_int m, lapack_int n, lapack_int p,
|
||||
+ lapack_int* k, lapack_int* l,
|
||||
+ lapack_complex_double* a, lapack_int lda,
|
||||
+ lapack_complex_double* b, lapack_int ldb,
|
||||
+ double* alpha, double* beta,
|
||||
+ lapack_complex_double* u, lapack_int ldu,
|
||||
+ lapack_complex_double* v, lapack_int ldv,
|
||||
+ lapack_complex_double* q, lapack_int ldq,
|
||||
+ lapack_int* iwork );
|
||||
+
|
||||
#define LAPACK_cggsvd3 LAPACK_GLOBAL(cggsvd3,CGGSVD3)
|
||||
void LAPACK_cggsvd3(
|
||||
char const* jobu, char const* jobv, char const* jobq,
|
||||
@@ -3679,6 +3742,43 @@ void LAPACK_zggsvd3(
|
||||
lapack_int* iwork,
|
||||
lapack_int* info );
|
||||
|
||||
+#define LAPACK_sggsvp LAPACK_GLOBAL(sggsvp,SGGSVP)
|
||||
+lapack_int LAPACKE_sggsvp( int matrix_layout, char jobu, char jobv, char jobq,
|
||||
+ lapack_int m, lapack_int p, lapack_int n, float* a,
|
||||
+ lapack_int lda, float* b, lapack_int ldb, float tola,
|
||||
+ float tolb, lapack_int* k, lapack_int* l, float* u,
|
||||
+ lapack_int ldu, float* v, lapack_int ldv, float* q,
|
||||
+ lapack_int ldq );
|
||||
+
|
||||
+#define LAPACK_dggsvp LAPACK_GLOBAL(dggsvp,DGGSVP)
|
||||
+lapack_int LAPACKE_dggsvp( int matrix_layout, char jobu, char jobv, char jobq,
|
||||
+ lapack_int m, lapack_int p, lapack_int n, double* a,
|
||||
+ lapack_int lda, double* b, lapack_int ldb,
|
||||
+ double tola, double tolb, lapack_int* k,
|
||||
+ lapack_int* l, double* u, lapack_int ldu, double* v,
|
||||
+ lapack_int ldv, double* q, lapack_int ldq );
|
||||
+
|
||||
+#define LAPACK_cggsvp LAPACK_GLOBAL(cggsvp,CGGSVP)
|
||||
+lapack_int LAPACKE_cggsvp( int matrix_layout, char jobu, char jobv, char jobq,
|
||||
+ lapack_int m, lapack_int p, lapack_int n,
|
||||
+ lapack_complex_float* a, lapack_int lda,
|
||||
+ lapack_complex_float* b, lapack_int ldb, float tola,
|
||||
+ float tolb, lapack_int* k, lapack_int* l,
|
||||
+ lapack_complex_float* u, lapack_int ldu,
|
||||
+ lapack_complex_float* v, lapack_int ldv,
|
||||
+ lapack_complex_float* q, lapack_int ldq );
|
||||
+
|
||||
+#define LAPACK_zggsvp LAPACK_GLOBAL(zggsvp,ZGGSVP)
|
||||
+lapack_int LAPACKE_zggsvp( int matrix_layout, char jobu, char jobv, char jobq,
|
||||
+ lapack_int m, lapack_int p, lapack_int n,
|
||||
+ lapack_complex_double* a, lapack_int lda,
|
||||
+ lapack_complex_double* b, lapack_int ldb,
|
||||
+ double tola, double tolb, lapack_int* k,
|
||||
+ lapack_int* l, lapack_complex_double* u,
|
||||
+ lapack_int ldu, lapack_complex_double* v,
|
||||
+ lapack_int ldv, lapack_complex_double* q,
|
||||
+ lapack_int ldq );
|
||||
+
|
||||
#define LAPACK_cggsvp3 LAPACK_GLOBAL(cggsvp3,CGGSVP3)
|
||||
void LAPACK_cggsvp3(
|
||||
char const* jobu, char const* jobv, char const* jobq,
|
||||
Reference in New Issue
Block a user