From 5b7f11554bfd9e4fb5bc3e0878c3d9649281d708 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= Date: Sun, 13 Nov 2022 23:58:50 -0300 Subject: [PATCH] lapack: update to 3.11, adopt. --- ...prototypes-for-deprecated-LAPACK-fun.patch | 141 ------------------ .../cmake-make-both-static-shared.patch | 116 -------------- .../cmake-make-cblas-lapacke-soname.patch | 34 ----- srcpkgs/lapack/template | 78 ++++++++-- 4 files changed, 69 insertions(+), 300 deletions(-) delete mode 100644 srcpkgs/lapack/patches/Restore-missing-prototypes-for-deprecated-LAPACK-fun.patch delete mode 100644 srcpkgs/lapack/patches/cmake-make-both-static-shared.patch delete mode 100644 srcpkgs/lapack/patches/cmake-make-cblas-lapacke-soname.patch diff --git a/srcpkgs/lapack/patches/Restore-missing-prototypes-for-deprecated-LAPACK-fun.patch b/srcpkgs/lapack/patches/Restore-missing-prototypes-for-deprecated-LAPACK-fun.patch deleted file mode 100644 index b79d26fd74e642..00000000000000 --- a/srcpkgs/lapack/patches/Restore-missing-prototypes-for-deprecated-LAPACK-fun.patch +++ /dev/null @@ -1,141 +0,0 @@ -From 87536aa3c8bb0af00f66088fb6ac05d87509e011 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?S=C3=A9bastien=20Villemot?= -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 LAPACKE/include/lapack.h LAPACKE/include/lapack.h -index 3f425325..5c131d84 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, --- -2.24.0 - diff --git a/srcpkgs/lapack/patches/cmake-make-both-static-shared.patch b/srcpkgs/lapack/patches/cmake-make-both-static-shared.patch deleted file mode 100644 index e3564e93d0c59d..00000000000000 --- a/srcpkgs/lapack/patches/cmake-make-both-static-shared.patch +++ /dev/null @@ -1,116 +0,0 @@ -diff --git BLAS/SRC/CMakeLists.txt BLAS/SRC/CMakeLists.txt -index 41c48043..e3776ecd 100644 ---- a/BLAS/SRC/CMakeLists.txt -+++ b/BLAS/SRC/CMakeLists.txt -@@ -98,9 +98,15 @@ endif() - list(REMOVE_DUPLICATES SOURCES) - - add_library(blas ${SOURCES}) -+add_library(blas_static STATIC ${SOURCES}) - set_target_properties( - blas PROPERTIES - VERSION ${LAPACK_VERSION} - SOVERSION ${LAPACK_MAJOR_VERSION} - ) -+set_target_properties( -+ blas_static PROPERTIES -+ OUTPUT_NAME blas -+ ) - lapack_install_library(blas) -+lapack_install_library(blas_static) -diff --git CBLAS/src/CMakeLists.txt CBLAS/src/CMakeLists.txt -index 90e19f81..b97d64d7 100644 ---- a/CBLAS/src/CMakeLists.txt -+++ b/CBLAS/src/CMakeLists.txt -@@ -114,15 +114,22 @@ endif() - list(REMOVE_DUPLICATES SOURCES) - - add_library(cblas ${SOURCES}) -+add_library(cblas_static STATIC ${SOURCES}) - set_target_properties( - cblas PROPERTIES - LINKER_LANGUAGE C - VERSION ${LAPACK_VERSION} - SOVERSION ${LAPACK_MAJOR_VERSION} - ) -+set_target_properties( -+ cblas_static PROPERTIES -+ OUTPUT_NAME cblas -+ ) - target_include_directories(cblas PUBLIC - $ - $ - ) - target_link_libraries(cblas PRIVATE ${BLAS_LIBRARIES}) -+target_link_libraries(cblas_static PRIVATE ${BLAS_LIBRARIES}) - lapack_install_library(cblas) -+lapack_install_library(cblas_static) -diff --git LAPACKE/CMakeLists.txt LAPACKE/CMakeLists.txt -index 0589a74b..be63bba3 100644 ---- a/LAPACKE/CMakeLists.txt -+++ b/LAPACKE/CMakeLists.txt -@@ -73,12 +73,17 @@ endif() - list(APPEND SOURCES ${UTILS}) - - add_library(lapacke ${SOURCES}) -+add_library(lapacke_static STATIC ${SOURCES}) - set_target_properties( - lapacke PROPERTIES - LINKER_LANGUAGE C - VERSION ${LAPACK_VERSION} - SOVERSION ${LAPACK_MAJOR_VERSION} - ) -+set_target_properties( -+ lapacke_static PROPERTIES -+ OUTPUT_NAME lapacke -+ ) - target_include_directories(lapacke PUBLIC - $ - $ -@@ -90,10 +95,13 @@ endif() - - if(LAPACKE_WITH_TMG) - target_link_libraries(lapacke PRIVATE tmglib) -+ target_link_libraries(lapacke_static PRIVATE tmglib) - endif() - target_link_libraries(lapacke PRIVATE ${LAPACK_LIBRARIES}) -+target_link_libraries(lapacke_static PRIVATE ${LAPACK_LIBRARIES}) - - lapack_install_library(lapacke) -+lapack_install_library(lapacke_static) - install( - FILES ${LAPACKE_INCLUDE} ${LAPACK_BINARY_DIR}/include/lapacke_mangling.h - DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} -diff --git SRC/CMakeLists.txt SRC/CMakeLists.txt -index f19bdd30..7a9a0661 100644 ---- a/SRC/CMakeLists.txt -+++ b/SRC/CMakeLists.txt -@@ -501,16 +501,23 @@ endif() - list(REMOVE_DUPLICATES SOURCES) - - add_library(lapack ${SOURCES}) -+add_library(lapack_static STATIC ${SOURCES}) - set_target_properties( - lapack PROPERTIES - VERSION ${LAPACK_VERSION} - SOVERSION ${LAPACK_MAJOR_VERSION} - ) -+set_target_properties( -+ lapack_static PROPERTIES -+ OUTPUT_NAME lapack -+ ) - - if(USE_XBLAS) - target_link_libraries(lapack PRIVATE ${XBLAS_LIBRARY}) -+ target_link_libraries(lapack_static PRIVATE ${XBLAS_LIBRARY}) - endif() - target_link_libraries(lapack PRIVATE ${BLAS_LIBRARIES}) -+target_link_libraries(lapack_static PRIVATE ${BLAS_LIBRARIES}) - - if(_is_coverage_build) - target_link_libraries(lapack PRIVATE gcov) -@@ -518,3 +525,4 @@ if(_is_coverage_build) - endif() - - lapack_install_library(lapack) -+lapack_install_library(lapack_static) diff --git a/srcpkgs/lapack/patches/cmake-make-cblas-lapacke-soname.patch b/srcpkgs/lapack/patches/cmake-make-cblas-lapacke-soname.patch deleted file mode 100644 index dca6d04a1589a4..00000000000000 --- a/srcpkgs/lapack/patches/cmake-make-cblas-lapacke-soname.patch +++ /dev/null @@ -1,34 +0,0 @@ -diff --git CBLAS/CMakeLists.txt CBLAS/CMakeLists.txt -index 04c5ab79..8fa3b7d4 100644 ---- a/CBLAS/CMakeLists.txt -+++ b/CBLAS/CMakeLists.txt -@@ -88,6 +88,12 @@ install(FILES - DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/cblas-${LAPACK_VERSION} - ) - -+set_target_properties( -+ cblas PROPERTIES -+ VERSION ${LAPACK_VERSION} -+ SOVERSION ${LAPACK_MAJOR_VERSION} -+ ) -+ - #install(EXPORT cblas-targets - # DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/cblas-${LAPACK_VERSION} - # COMPONENT Development -diff --git LAPACKE/CMakeLists.txt LAPACKE/CMakeLists.txt -index 0589a74b..adc87a3e 100644 ---- a/LAPACKE/CMakeLists.txt -+++ b/LAPACKE/CMakeLists.txt -@@ -126,6 +126,12 @@ install(FILES - COMPONENT Development - ) - -+set_target_properties( -+ lapacke PROPERTIES -+ VERSION ${LAPACK_VERSION} -+ SOVERSION ${LAPACK_MAJOR_VERSION} -+ ) -+ - install(EXPORT lapacke-targets - DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/lapacke-${LAPACK_VERSION} - COMPONENT Development diff --git a/srcpkgs/lapack/template b/srcpkgs/lapack/template index 3ca60272736db8..52329970b65da4 100644 --- a/srcpkgs/lapack/template +++ b/srcpkgs/lapack/template @@ -1,19 +1,79 @@ # Template file for 'lapack' pkgname=lapack -version=3.9.0 +version=3.11 revision=1 build_style=cmake -configure_args="-DBUILD_SHARED_LIBS=ON -DCMAKE_SKIP_RPATH=ON -DBUILD_TESTING=OFF - -DCMAKE_VERBOSE_MAKEFILE=ON -DCBLAS=ON -DLAPACKE=ON -DBUILD_DEPRECATED=ON" +configure_args="-DCMAKE_SKIP_RPATH=ON -DCMAKE_VERBOSE_MAKEFILE=ON + -DCBLAS=ON -DLAPACKE=ON -DBUILD_DEPRECATED=ON" hostmakedepends="gcc-fortran" short_desc="Linear Algebra PACKage" -maintainer="Alessio Sergi " +maintainer="Gonzalo TornarĂ­a " license="BSD-3-Clause" -homepage="https://www.netlib.org/lapack/" +homepage="https://netlib.org/lapack/" +changelog="https://netlib.org/lapack/release_notes.html" distfiles="https://github.com/Reference-LAPACK/lapack/archive/v${version}.tar.gz" -checksum=106087f1bb5f46afdfba7f569d0cbe23dacb9a07cd24733765a0e89dbe1ad573 +checksum=5a5b3bac27709d8c66286b7a0d1d7bf2d7170ec189a1a756fdf812c97aa7fd10 + +if [ "$CROSS_BUILD" ]; then + configure_args+=" -DTEST_FORTRAN_COMPILER=OFF" +fi + +pre_configure() { + cmake_builddir=build-shared + _args="$configure_args" + configure_args="$_args -DBUILD_SHARED_LIBS=ON" + if [ -z "$CROSS_BUILD" -a "$XBPS_CHECK_PKGS" ]; then + configure_args+=" -DBUILD_TESTING=ON" + fi + msg_normal "Configure for shared libs (cmake_builddir=$cmake_builddir)\n" +} + +post_configure() { + cmake_builddir=build-static + configure_args="$_args -DBUILD_SHARED_LIBS=OFF" + if [ -z "$CROSS_BUILD" -a "$XBPS_CHECK_PKGS" = full ]; then + configure_args+=" -DBUILD_TESTING=ON" + fi + msg_normal "Configure for static libs (cmake_builddir=$cmake_builddir)\n" + ( do_configure ) +} + +pre_build() { + cmake_builddir=build-shared + msg_normal "Build shared libs (cmake_builddir=$cmake_builddir)\n" +} + +post_build() { + cmake_builddir=build-static + msg_normal "Build static libs (cmake_builddir=$cmake_builddir)\n" + ( do_build ) +} + +pre_check() { + cmake_builddir=build-shared + export LD_LIBRARY_PATH=$(cd $cmake_builddir/lib && pwd) + msg_normal "Check shared libs (cmake_builddir=$cmake_builddir)\n" +} + +post_check() { + if [ "$XBPS_CHECK_PKGS" = full ]; then + cmake_builddir=build-static + msg_normal "Check static libs (cmake_builddir=$cmake_builddir)\n" + ( do_check ) + fi +} + +pre_install() { + cmake_builddir=build-static + msg_normal "Install static libs (cmake_builddir=$cmake_builddir)\n" +} post_install() { + cmake_builddir=build-shared + msg_normal "Install shared libs (cmake_builddir=$cmake_builddir)\n" + ( do_install ) + # Library of Test Matrix Generators - built only for testing + rm -f $DESTDIR/usr/lib/libtmglib.* vlicense LICENSE } @@ -22,7 +82,7 @@ lapack-devel_package() { short_desc+=" - development files" pkg_install() { vmove usr/include/lapack.h - vmove usr/lib/cmake/lapack-${version} + vmove usr/lib/cmake/lapack-* vmove usr/lib/pkgconfig/lapack.pc vmove usr/lib/liblapack.a vmove usr/lib/liblapack.so @@ -55,7 +115,7 @@ cblas-devel_package() { depends="blas-devel-${version}_${revision} cblas-${version}_${revision}" pkg_install() { vmove usr/include/cblas*.h - vmove usr/lib/cmake/cblas-${version} + vmove usr/lib/cmake/cblas-* vmove usr/lib/pkgconfig/cblas.pc vmove usr/lib/libcblas.a vmove usr/lib/libcblas.so @@ -72,7 +132,7 @@ lapacke-devel_package() { depends="lapack-devel-${version}_${revision} lapacke-${version}_${revision}" pkg_install() { vmove usr/include/lapacke*.h - vmove usr/lib/cmake/lapacke-${version} + vmove usr/lib/cmake/lapacke-* vmove usr/lib/pkgconfig/lapacke.pc vmove usr/lib/liblapacke.a vmove usr/lib/liblapacke.so