Update math/lapack and math/blas to v3.9.0 Have switched to the CMAKE build and enabled tests. make test passes all (with one patch pushed upstream) Package additions, from the release notes are: LAPACK 3.9.0 LAPACK QR preconditioned QR SVD method for computing the SVD with high accuracy, by Zlatko Drmac LAPACK Householder Reconstruction by Igor Kozachenko and Jim Demmel LAPACK 3.8.0 Symmetric-indefinite Factorization: Aasen窶冱 tridiagonalization 2 stage A contribution from Ichitaro Yamazaki (University of Tennessee). LAPACKE interfaces A contribution from Julie Langou (University of Tennessee).diff -r1.36 -r1.37 pkgsrc/math/blas/Makefile
(plunky)
@@ -1,17 +1,16 @@ | @@ -1,17 +1,16 @@ | |||
1 | # $NetBSD: Makefile,v 1.36 2016/12/03 15:37:34 marino Exp $ | 1 | # $NetBSD: Makefile,v 1.37 2020/02/28 21:48:53 plunky Exp $ | |
2 | 2 | |||
3 | .include "../../math/lapack/Makefile.common" | 3 | .include "../../math/lapack/Makefile.common" | |
4 | 4 | |||
5 | PKGNAME= ${DISTNAME:S/lapack/blas/} | 5 | PKGNAME= ${DISTNAME:S/lapack/blas/} | |
6 | 6 | |||
7 | COMMENT= Basic Linear Algebra Subprograms (Fortran) | 7 | COMMENT= Basic Linear Algebra Subprograms (Fortran) | |
8 | 8 | |||
9 | PATCHDIR= ${.CURDIR}/../../math/lapack/patches | 9 | # not actually true but pretend as we package it separately | |
10 | CMAKE_ARGS+= -DLATESTLAPACK_FOUND:BOOL=TRUE | |||
10 | 11 | |||
11 | BUILD_TARGET= blaslib | 12 | BUILD_TARGET= blas | |
12 | 13 | |||
13 | do-install: | 14 | TEST_DIRS= ${WRKSRC}/${OBJDIR}/BLAS | |
14 | ${LIBTOOL} --mode=install ${INSTALL_DATA} ${WRKSRC}/BLAS/SRC/libblas.la \ | |||
15 | ${DESTDIR}${PREFIX}/lib | |||
16 | 15 | |||
17 | .include "../../mk/bsd.pkg.mk" | 16 | .include "../../mk/bsd.pkg.mk" |
@@ -1,2 +1,4 @@ | @@ -1,2 +1,4 @@ | |||
1 | @comment $NetBSD: PLIST,v 1.4 2004/09/22 08:09:42 jlam Exp $ | 1 | @comment $NetBSD: PLIST,v 1.5 2020/02/28 21:48:53 plunky Exp $ | |
2 | lib/libblas.la | 2 | lib/libblas.so | |
3 | lib/libblas.so.3 | |||
4 | lib/libblas.so.${PKGVERSION} |
@@ -1,13 +1,15 @@ | @@ -1,13 +1,15 @@ | |||
1 | # $NetBSD: buildlink3.mk,v 1.8 2009/03/20 19:24:56 joerg Exp $ | 1 | # $NetBSD: buildlink3.mk,v 1.9 2020/02/28 21:48:53 plunky Exp $ | |
2 | 2 | |||
3 | BUILDLINK_TREE+= blas | 3 | BUILDLINK_TREE+= blas | |
4 | 4 | |||
5 | .if !defined(BLAS_BUILDLINK3_MK) | 5 | .if !defined(BLAS_BUILDLINK3_MK) | |
6 | BLAS_BUILDLINK3_MK:= | 6 | BLAS_BUILDLINK3_MK:= | |
7 | 7 | |||
8 | BUILDLINK_API_DEPENDS.blas+= blas>=1.0nb2 | 8 | BUILDLINK_API_DEPENDS.blas+= blas>=1.0nb2 | |
9 | BUILDLINK_ABI_DEPENDS.blas+= blas>=1.0nb3 | 9 | BUILDLINK_ABI_DEPENDS.blas+= blas>=1.0nb3 | |
10 | BUILDLINK_PKGSRCDIR.blas?= ../../math/blas | 10 | BUILDLINK_PKGSRCDIR.blas?= ../../math/blas | |
11 | ||||
12 | BLAS_LIBS= -lblas | |||
11 | .endif # BLAS_BUILDLINK3_MK | 13 | .endif # BLAS_BUILDLINK3_MK | |
12 | 14 | |||
13 | BUILDLINK_TREE+= -blas | 15 | BUILDLINK_TREE+= -blas |
@@ -1,30 +1,13 @@ | @@ -1,30 +1,13 @@ | |||
1 | # $NetBSD: Makefile,v 1.39 2019/10/05 06:14:05 ryoon Exp $ | 1 | # $NetBSD: Makefile,v 1.40 2020/02/28 21:48:53 plunky Exp $ | |
2 | 2 | |||
3 | .include "Makefile.common" | 3 | .include "Makefile.common" | |
4 | 4 | |||
5 | COMMENT= Linear Algebra PACKage | 5 | COMMENT= Linear Algebra PACKage | |
6 | 6 | |||
7 | BUILD_TARGET= lapacklib | 7 | # use external blas | |
8 | CMAKE_ARGS+= -DBLAS_LIBRARIES:STRING=${BLAS_LIBS} | |||
8 | 9 | |||
9 | # -j8 fails with some .o file not-found errors. | 10 | BUILD_TARGET= lapack | |
10 | MAKE_JOBS_SAFE= no | |||
11 | ||||
12 | #FFLAGS+= -ffloat-store | |||
13 | ||||
14 | # With f2c-20090411nb4, libf2c-20090201nb3, we need EXT_ETIME but gcc44-4.4.1nb3 | |||
15 | # needs INT_ETIME. Rather than trying to enumerate all possible fortran compilers, | |||
16 | # just do a test for it. | |||
17 | do-configure: | |||
18 | @${ECHO_N} "Checking if fortran compiler has etime() as an intrinsic: " | |||
19 | @cd ${WRKDIR} && ${FC} -o etime_test ${FILESDIR}/etime_test.f >${WRKDIR}/etime_test.log 2>&1; \ | |||
20 | if test $$? -eq 0 ; then \ | |||
21 | ${ECHO} "TIMER=INT_ETIME" >> ${WRKSRC}/make.inc ; ${ECHO} "YES" ; else \ | |||
22 | ${ECHO} "TIMER=EXT_ETIME" >> ${WRKSRC}/make.inc ; ${ECHO} "NO" ; fi | |||
23 | @${ECHO} "See ${WRKDIR}/etime_test.log for details on the test" | |||
24 | ||||
25 | do-install: | |||
26 | ${LIBTOOL} --mode=install ${INSTALL_DATA} ${WRKSRC}/liblapack.la \ | |||
27 | ${DESTDIR}${PREFIX}/lib | |||
28 | 11 | |||
29 | .include "../../math/blas/buildlink3.mk" | 12 | .include "../../math/blas/buildlink3.mk" | |
30 | .include "../../mk/bsd.pkg.mk" | 13 | .include "../../mk/bsd.pkg.mk" |
@@ -1,29 +1,46 @@ | @@ -1,29 +1,46 @@ | |||
1 | # $NetBSD: Makefile.common,v 1.10 2020/01/26 17:31:38 rillig Exp $ | 1 | # $NetBSD: Makefile.common,v 1.11 2020/02/28 21:48:53 plunky Exp $ | |
2 | # used by math/blas/Makefile | 2 | # used by math/blas/Makefile | |
3 | # used by math/lapack/Makefile | 3 | # used by math/lapack/Makefile | |
4 | 4 | |||
5 | DISTNAME= lapack-3.7.1 | 5 | DISTNAME= lapack-3.9.0 | |
6 | PKGREVISION= 1 | |||
7 | CATEGORIES= math | 6 | CATEGORIES= math | |
8 | MASTER_SITES= ${MASTER_SITE_NETLIB:=lapack/} | 7 | MASTER_SITES= ${MASTER_SITE_NETLIB:=lapack/} | |
9 | EXTRACT_SUFX= .tgz | 8 | EXTRACT_SUFX= .tgz | |
10 | 9 | |||
11 | MAINTAINER= adam@NetBSD.org | 10 | MAINTAINER= adam@NetBSD.org | |
12 | HOMEPAGE= https://www.netlib.org/lapack/ | 11 | HOMEPAGE= https://www.netlib.org/lapack/ | |
13 | LICENSE= modified-bsd | 12 | LICENSE= modified-bsd | |
14 | 13 | |||
15 | USE_LANGUAGES= c fortran | |||
16 | USE_LIBTOOL= yes | |||
17 | USE_TOOLS+= gmake | |||
18 | ||||
19 | MAKE_ENV+= BUILD_DEPRECATED=yes | |||
20 | DISTINFO_FILE= ${.CURDIR}/../../math/lapack/distinfo | 14 | DISTINFO_FILE= ${.CURDIR}/../../math/lapack/distinfo | |
21 | PATCHDIR= ${.CURDIR}/../../math/lapack/patches | 15 | PATCHDIR= ${.CURDIR}/../../math/lapack/patches | |
22 | 16 | |||
17 | USE_LANGUAGES= c fortran | |||
18 | USE_CMAKE= yes | |||
19 | ||||
20 | OBJDIR= obj | |||
21 | ||||
22 | CONFIGURE_DIRS= ${OBJDIR} | |||
23 | CMAKE_ARG_PATH= .. | |||
24 | CMAKE_ARGS+= -DBUILD_SHARED_LIBS:BOOL=ON | |||
25 | CMAKE_ARGS+= -DBUILD_DEPRECATED:BOOL=ON | |||
26 | CMAKE_ARGS+= -DBUILD_TESTING:BOOL=ON | |||
27 | ||||
28 | TEST_TARGET= all test | |||
29 | TEST_ENV= LD_LIBRARY_PATH=${WRKSRC}/${OBJDIR}/lib | |||
30 | ||||
31 | pre-configure: | |||
32 | cd ${WRKSRC} && ${MKDIR} ${OBJDIR} | |||
33 | ||||
34 | do-install: | |||
35 | cd ${WRKSRC}/${OBJDIR} && \ | |||
36 | ${PKGSRC_SETENV} ${INSTALL_ENV} ${MAKE_ENV} \ | |||
37 | ${CMAKE} -DCMAKE_INSTALL_COMPONENT=RuntimeLibraries \ | |||
38 | -P cmake_install.cmake | |||
39 | ||||
23 | INSTALLATION_DIRS= lib | 40 | INSTALLATION_DIRS= lib | |
24 | 41 | |||
25 | # blas fails using the gold linker with: | 42 | # blas fails using the gold linker with: | |
26 | # fatal error: --sysroot=: must take a non-empty argument | 43 | # fatal error: --sysroot=: must take a non-empty argument | |
27 | # Work around it on DragonFly by specifying the classic gnu linker | 44 | # Work around it on DragonFly by specifying the classic gnu linker | |
28 | 45 | |||
29 | MAKE_ENV.DragonFly+= LDVER=ld.bfd | 46 | MAKE_ENV.DragonFly+= LDVER=ld.bfd |
@@ -1,2 +1,4 @@ | @@ -1,2 +1,4 @@ | |||
1 | @comment $NetBSD: PLIST,v 1.3 2004/09/22 08:09:42 jlam Exp $ | 1 | @comment $NetBSD: PLIST,v 1.4 2020/02/28 21:48:53 plunky Exp $ | |
2 | lib/liblapack.la | 2 | lib/liblapack.so | |
3 | lib/liblapack.so.3 | |||
4 | lib/liblapack.so.${PKGVERSION} |
@@ -1,10 +1,8 @@ | @@ -1,10 +1,8 @@ | |||
1 | $NetBSD: distinfo,v 1.21 2017/09/11 20:56:28 wiz Exp $ | 1 | $NetBSD: distinfo,v 1.22 2020/02/28 21:48:53 plunky Exp $ | |
2 | 2 | |||
3 | SHA1 (lapack-3.7.1.tgz) = 84c4f7163b52b1bf1f6ca2193f6f48ed3dec0fab | 3 | SHA1 (lapack-3.9.0.tgz) = 9da5f17521260e9f0cfefd9dfc5616d9ef10efb0 | |
4 | RMD160 (lapack-3.7.1.tgz) = db7d1e3cd904d01459db3c40bc613cb8738ad114 | 4 | RMD160 (lapack-3.9.0.tgz) = 136c181f31fd056956a96cec723ceb5a4fdf3feb | |
5 | SHA512 (lapack-3.7.1.tgz) = b16063146626d2f67ae1456a660dbb93f42d8387cfebef1bc2681a35b5d21d53120fb74b52932373d2423cd7df39a7ae4bbfc992a71addd936bbdd051d4e2eb7 | 5 | SHA512 (lapack-3.9.0.tgz) = 90c2c8372c2567b15c25653ed64e7c86a2cb0f1dda116f33716c6877490415210217af5badb67cb50e9d428f56ff83d33a3dad60b6ed7d31919164f6e7e98e0f | |
6 | Size (lapack-3.7.1.tgz) = 9137261 bytes | 6 | Size (lapack-3.9.0.tgz) = 9347104 bytes | |
7 | SHA1 (patch-BLAS_SRC_Makefile) = cf78648a8a1fe0320ad876a8d29e8f60defc07d7 | 7 | SHA1 (patch-TESTING_MATGEN_CMakeLists.txt) = 695655299ccc48eec4c38c75d50144b3a13ee8db | |
8 | SHA1 (patch-aa) = 1b6bfd3737f8ee12334dcf0234ed75cc6253314d | 8 | SHA1 (patch-TESTING_dbal.in) = 3a6a726b6504a07fb1c0908a3893ea46aca670ea | |
9 | SHA1 (patch-ac) = 14945f2d5d18a6e310a2237ca413967dc5bdf4ff | |||
10 | SHA1 (patch-ad) = 90e88c4e48c9effdfaf415691e2d3878effc3064 |
$NetBSD: patch-TESTING_MATGEN_CMakeLists.txt,v 1.1 2020/02/28 21:48:54 plunky Exp $
we don't actually want to install the testing matrix generator lib
--- TESTING/MATGEN/CMakeLists.txt.orig 2020-02-20 13:46:28.024672825 +0000
+++ TESTING/MATGEN/CMakeLists.txt
@@ -49,4 +49,4 @@ list(REMOVE_DUPLICATES SOURCES)
add_library(tmglib ${SOURCES})
target_link_libraries(tmglib ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES})
-lapack_install_library(tmglib)
+#lapack_install_library(tmglib)
$NetBSD: patch-TESTING_dbal.in,v 1.1 2020/02/28 21:48:54 plunky Exp $
remove extraneous semicolon from testing data (causes test to fail)
--- TESTING/dbal.in.orig 2020-02-20 21:55:51.547637125 +0000
+++ TESTING/dbal.in
@@ -209,6 +209,6 @@ DBL: Tests DGEBAL
0.00000000000000000000D+00 0.00000000000000000000D+00 0.00000000000000000000D+00 0.63043209914231165391D-03 0.10000000000000000000D+01 0.79310682416114036641D+03
0.00000000000000000000D+00 0.00000000000000000000D+00 0.00000000000000000000D+00 0.00000000000000000000D+00 0.12608641982846233078D-02 0.10000000000000000000D+01
- 2.494800386918399765D+291 1.582914569427869018D+175 1.004336277661868922D+59 3.186183822264904554D-58 5.053968264940243633D-175 0.40083367200179455560D-291;
+ 2.494800386918399765D+291 1.582914569427869018D+175 1.004336277661868922D+59 3.186183822264904554D-58 5.053968264940243633D-175 0.40083367200179455560D-291
0