diff --git a/sci-libs/lapack/lapack-3.9.0.recipe b/sci-libs/lapack/lapack-3.9.1.recipe similarity index 82% rename from sci-libs/lapack/lapack-3.9.0.recipe rename to sci-libs/lapack/lapack-3.9.1.recipe index c06bf8c18..36da4e561 100644 --- a/sci-libs/lapack/lapack-3.9.0.recipe +++ b/sci-libs/lapack/lapack-3.9.1.recipe @@ -2,13 +2,12 @@ SUMMARY="Numerical linear algebra package" DESCRIPTION="A library of Fortran 90 with subroutines for solving \ the most commonly occurring problems in numerical linear algebra." HOMEPAGE="http://www.netlib.org/lapack/" -COPYRIGHT="1992-2017 The LAPACK Project" +COPYRIGHT="1992-2021 The LAPACK Project" LICENSE="BSD (3-clause)" REVISION="1" SOURCE_URI="https://github.com/Reference-LAPACK/lapack/archive/v$portVersion.tar.gz" -CHECKSUM_SHA256="106087f1bb5f46afdfba7f569d0cbe23dacb9a07cd24733765a0e89dbe1ad573" +CHECKSUM_SHA256="d0085d2caf997ff39299c05d4bacb6f3d27001d25a4cc613d48c1f352b73e7e0" SOURCE_DIR="lapack-$portVersion" -PATCHES="lapack-$portVersion.patchset" ARCHITECTURES="!x86_gcc2 x86 x86_64" SECONDARY_ARCHITECTURES="!x86_gcc2 x86" @@ -20,6 +19,7 @@ PROVIDES=" lapack$secondaryArchSuffix = $portVersion lib:liblapack$secondaryArchSuffix = $libVersionCompat lib:liblapacke$secondaryArchSuffix = $libVersionCompat + lib:libcblas$secondaryArchSuffix = $libVersionCompat lib:libtmglib$secondaryArchSuffix = $portVersion " REQUIRES=" @@ -33,6 +33,7 @@ PROVIDES_devel=" lapack${secondaryArchSuffix}_devel = $portVersion devel:liblapack$secondaryArchSuffix = $libVersionCompat devel:liblapacke$secondaryArchSuffix = $libVersionCompat + devel:libcblas$secondaryArchSuffix = $libVersionCompat devel:libtmglib$secondaryArchSuffix = $portVersion " REQUIRES_devel=" @@ -49,7 +50,7 @@ BUILD_PREREQUIRES=" cmd:gfortran$secondaryArchSuffix cmd:make cmd:pkg_config$secondaryArchSuffix - cmd:python + cmd:python3.7 cmd:sed cmd:strip$secondaryArchSuffix " @@ -57,32 +58,34 @@ BUILD_PREREQUIRES=" defineDebugInfoPackage lapack$secondaryArchSuffix \ "$libDir"/liblapack.so.$libVersion \ "$libDir"/liblapacke.so.$libVersion \ - "$libDir"/libtmglib.so + "$libDir"/libtmglib.so.$libVersion \ + "$libDir"/libcblas.so.$libVersion BUILD() { - mkdir -p build && cd "$_" - - cmake .. \ + rm -rf build + cmake -B build -S . \ + $cmakeDirArgs \ + -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_Fortran_USE_RESPONSE_FILE_FOR_OBJECTS=1 \ -DCMAKE_Fortran_USE_RESPONSE_FILE_FOR_INCLUDES=1 \ - -DCMAKE_BUILD_TYPE=Release \ -DUSE_OPTIMIZED_BLAS=ON \ -DBUILD_SHARED_LIBS=ON \ -DLAPACKE_WITH_TMG=ON \ + -DCBLAS=ON \ -DBUILD_TESTING=ON \ - $cmakeDirArgs + -DBUILD_DEPRECATED=ON - make $jobArgs + cmake --build build } INSTALL() { - cd build - make install + cmake --install build prepareInstalledDevelLibs liblapack \ liblapacke \ + libcblas \ libtmglib sed -i "1i prefix=$prefix" \ diff --git a/sci-libs/lapack/patches/lapack-3.9.0.patchset b/sci-libs/lapack/patches/lapack-3.9.0.patchset deleted file mode 100644 index 3077cfd6f..000000000 --- a/sci-libs/lapack/patches/lapack-3.9.0.patchset +++ /dev/null @@ -1,139 +0,0 @@ -From b91fc6bbf526ce2ca009b475c4bf3ae6df1691e6 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zolt=C3=A1n=20Mizsei?= -Date: Sun, 19 Jan 2020 14:13:29 +0100 -Subject: 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. - -https://github.com/Reference-LAPACK/lapack/commit/87536aa3c8bb0af00f66088fb6ac05d87509e011 - -diff --git a/LAPACKE/include/lapack.h b/LAPACKE/include/lapack.h -index 3f42532..beb41de 100644 ---- a/LAPACKE/include/lapack.h -+++ b/LAPACKE/include/lapack.h -@@ -1842,6 +1842,29 @@ 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 +3640,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 +3743,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, --- -2.24.1 -