Fri Feb 28 21:48:54 2020 UTC ()
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).


(plunky)
diff -r1.36 -r1.37 pkgsrc/math/blas/Makefile
diff -r1.4 -r1.5 pkgsrc/math/blas/PLIST
diff -r1.8 -r1.9 pkgsrc/math/blas/buildlink3.mk
diff -r1.39 -r1.40 pkgsrc/math/lapack/Makefile
diff -r1.10 -r1.11 pkgsrc/math/lapack/Makefile.common
diff -r1.3 -r1.4 pkgsrc/math/lapack/PLIST
diff -r1.21 -r1.22 pkgsrc/math/lapack/distinfo
diff -r1.1 -r0 pkgsrc/math/lapack/files/etime_test.f
diff -r1.5 -r0 pkgsrc/math/lapack/patches/patch-BLAS_SRC_Makefile
diff -r0 -r1.1 pkgsrc/math/lapack/patches/patch-TESTING_MATGEN_CMakeLists.txt
diff -r0 -r1.1 pkgsrc/math/lapack/patches/patch-TESTING_dbal.in
diff -r1.12 -r0 pkgsrc/math/lapack/patches/patch-aa
diff -r1.4 -r0 pkgsrc/math/lapack/patches/patch-ac
diff -r1.6 -r0 pkgsrc/math/lapack/patches/patch-ad

cvs diff -r1.36 -r1.37 pkgsrc/math/blas/Makefile (expand / switch to unified diff)

--- pkgsrc/math/blas/Makefile 2016/12/03 15:37:34 1.36
+++ pkgsrc/math/blas/Makefile 2020/02/28 21:48:53 1.37
@@ -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
5PKGNAME= ${DISTNAME:S/lapack/blas/} 5PKGNAME= ${DISTNAME:S/lapack/blas/}
6 6
7COMMENT= Basic Linear Algebra Subprograms (Fortran) 7COMMENT= Basic Linear Algebra Subprograms (Fortran)
8 8
9PATCHDIR= ${.CURDIR}/../../math/lapack/patches 9# not actually true but pretend as we package it separately
 10CMAKE_ARGS+= -DLATESTLAPACK_FOUND:BOOL=TRUE
10 11
11BUILD_TARGET= blaslib 12BUILD_TARGET= blas
12 13
13do-install: 14TEST_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"

cvs diff -r1.4 -r1.5 pkgsrc/math/blas/PLIST (expand / switch to unified diff)

--- pkgsrc/math/blas/PLIST 2004/09/22 08:09:42 1.4
+++ pkgsrc/math/blas/PLIST 2020/02/28 21:48:53 1.5
@@ -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 $
2lib/libblas.la 2lib/libblas.so
 3lib/libblas.so.3
 4lib/libblas.so.${PKGVERSION}

cvs diff -r1.8 -r1.9 pkgsrc/math/blas/buildlink3.mk (expand / switch to unified diff)

--- pkgsrc/math/blas/buildlink3.mk 2009/03/20 19:24:56 1.8
+++ pkgsrc/math/blas/buildlink3.mk 2020/02/28 21:48:53 1.9
@@ -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
3BUILDLINK_TREE+= blas 3BUILDLINK_TREE+= blas
4 4
5.if !defined(BLAS_BUILDLINK3_MK) 5.if !defined(BLAS_BUILDLINK3_MK)
6BLAS_BUILDLINK3_MK:= 6BLAS_BUILDLINK3_MK:=
7 7
8BUILDLINK_API_DEPENDS.blas+= blas>=1.0nb2 8BUILDLINK_API_DEPENDS.blas+= blas>=1.0nb2
9BUILDLINK_ABI_DEPENDS.blas+= blas>=1.0nb3 9BUILDLINK_ABI_DEPENDS.blas+= blas>=1.0nb3
10BUILDLINK_PKGSRCDIR.blas?= ../../math/blas 10BUILDLINK_PKGSRCDIR.blas?= ../../math/blas
 11
 12BLAS_LIBS= -lblas
11.endif # BLAS_BUILDLINK3_MK 13.endif # BLAS_BUILDLINK3_MK
12 14
13BUILDLINK_TREE+= -blas 15BUILDLINK_TREE+= -blas

cvs diff -r1.39 -r1.40 pkgsrc/math/lapack/Makefile (expand / switch to unified diff)

--- pkgsrc/math/lapack/Makefile 2019/10/05 06:14:05 1.39
+++ pkgsrc/math/lapack/Makefile 2020/02/28 21:48:53 1.40
@@ -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
5COMMENT= Linear Algebra PACKage 5COMMENT= Linear Algebra PACKage
6 6
7BUILD_TARGET= lapacklib 7# use external blas
 8CMAKE_ARGS+= -DBLAS_LIBRARIES:STRING=${BLAS_LIBS}
8 9
9# -j8 fails with some .o file not-found errors. 10BUILD_TARGET= lapack
10MAKE_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. 
17do-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 
25do-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"

cvs diff -r1.10 -r1.11 pkgsrc/math/lapack/Makefile.common (expand / switch to unified diff)

--- pkgsrc/math/lapack/Makefile.common 2020/01/26 17:31:38 1.10
+++ pkgsrc/math/lapack/Makefile.common 2020/02/28 21:48:53 1.11
@@ -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
5DISTNAME= lapack-3.7.1 5DISTNAME= lapack-3.9.0
6PKGREVISION= 1 
7CATEGORIES= math 6CATEGORIES= math
8MASTER_SITES= ${MASTER_SITE_NETLIB:=lapack/} 7MASTER_SITES= ${MASTER_SITE_NETLIB:=lapack/}
9EXTRACT_SUFX= .tgz 8EXTRACT_SUFX= .tgz
10 9
11MAINTAINER= adam@NetBSD.org 10MAINTAINER= adam@NetBSD.org
12HOMEPAGE= https://www.netlib.org/lapack/ 11HOMEPAGE= https://www.netlib.org/lapack/
13LICENSE= modified-bsd 12LICENSE= modified-bsd
14 13
15USE_LANGUAGES= c fortran 
16USE_LIBTOOL= yes 
17USE_TOOLS+= gmake 
18 
19MAKE_ENV+= BUILD_DEPRECATED=yes 
20DISTINFO_FILE= ${.CURDIR}/../../math/lapack/distinfo 14DISTINFO_FILE= ${.CURDIR}/../../math/lapack/distinfo
21PATCHDIR= ${.CURDIR}/../../math/lapack/patches 15PATCHDIR= ${.CURDIR}/../../math/lapack/patches
22 16
 17USE_LANGUAGES= c fortran
 18USE_CMAKE= yes
 19
 20OBJDIR= obj
 21
 22CONFIGURE_DIRS= ${OBJDIR}
 23CMAKE_ARG_PATH= ..
 24CMAKE_ARGS+= -DBUILD_SHARED_LIBS:BOOL=ON
 25CMAKE_ARGS+= -DBUILD_DEPRECATED:BOOL=ON
 26CMAKE_ARGS+= -DBUILD_TESTING:BOOL=ON
 27
 28TEST_TARGET= all test
 29TEST_ENV= LD_LIBRARY_PATH=${WRKSRC}/${OBJDIR}/lib
 30
 31pre-configure:
 32 cd ${WRKSRC} && ${MKDIR} ${OBJDIR}
 33
 34do-install:
 35 cd ${WRKSRC}/${OBJDIR} && \
 36 ${PKGSRC_SETENV} ${INSTALL_ENV} ${MAKE_ENV} \
 37 ${CMAKE} -DCMAKE_INSTALL_COMPONENT=RuntimeLibraries \
 38 -P cmake_install.cmake
 39
23INSTALLATION_DIRS= lib 40INSTALLATION_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
29MAKE_ENV.DragonFly+= LDVER=ld.bfd 46MAKE_ENV.DragonFly+= LDVER=ld.bfd

cvs diff -r1.3 -r1.4 pkgsrc/math/lapack/PLIST (expand / switch to unified diff)

--- pkgsrc/math/lapack/PLIST 2004/09/22 08:09:42 1.3
+++ pkgsrc/math/lapack/PLIST 2020/02/28 21:48:53 1.4
@@ -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 $
2lib/liblapack.la 2lib/liblapack.so
 3lib/liblapack.so.3
 4lib/liblapack.so.${PKGVERSION}

cvs diff -r1.21 -r1.22 pkgsrc/math/lapack/distinfo (expand / switch to unified diff)

--- pkgsrc/math/lapack/distinfo 2017/09/11 20:56:28 1.21
+++ pkgsrc/math/lapack/distinfo 2020/02/28 21:48:53 1.22
@@ -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
3SHA1 (lapack-3.7.1.tgz) = 84c4f7163b52b1bf1f6ca2193f6f48ed3dec0fab 3SHA1 (lapack-3.9.0.tgz) = 9da5f17521260e9f0cfefd9dfc5616d9ef10efb0
4RMD160 (lapack-3.7.1.tgz) = db7d1e3cd904d01459db3c40bc613cb8738ad114 4RMD160 (lapack-3.9.0.tgz) = 136c181f31fd056956a96cec723ceb5a4fdf3feb
5SHA512 (lapack-3.7.1.tgz) = b16063146626d2f67ae1456a660dbb93f42d8387cfebef1bc2681a35b5d21d53120fb74b52932373d2423cd7df39a7ae4bbfc992a71addd936bbdd051d4e2eb7 5SHA512 (lapack-3.9.0.tgz) = 90c2c8372c2567b15c25653ed64e7c86a2cb0f1dda116f33716c6877490415210217af5badb67cb50e9d428f56ff83d33a3dad60b6ed7d31919164f6e7e98e0f
6Size (lapack-3.7.1.tgz) = 9137261 bytes 6Size (lapack-3.9.0.tgz) = 9347104 bytes
7SHA1 (patch-BLAS_SRC_Makefile) = cf78648a8a1fe0320ad876a8d29e8f60defc07d7 7SHA1 (patch-TESTING_MATGEN_CMakeLists.txt) = 695655299ccc48eec4c38c75d50144b3a13ee8db
8SHA1 (patch-aa) = 1b6bfd3737f8ee12334dcf0234ed75cc6253314d 8SHA1 (patch-TESTING_dbal.in) = 3a6a726b6504a07fb1c0908a3893ea46aca670ea
9SHA1 (patch-ac) = 14945f2d5d18a6e310a2237ca413967dc5bdf4ff 
10SHA1 (patch-ad) = 90e88c4e48c9effdfaf415691e2d3878effc3064 

File Deleted: pkgsrc/math/lapack/files/Attic/etime_test.f

File Deleted: pkgsrc/math/lapack/patches/Attic/patch-BLAS_SRC_Makefile

File Added: pkgsrc/math/lapack/patches/patch-TESTING_MATGEN_CMakeLists.txt
$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)

File Added: pkgsrc/math/lapack/patches/Attic/patch-TESTING_dbal.in
$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

File Deleted: pkgsrc/math/lapack/patches/Attic/patch-aa

File Deleted: pkgsrc/math/lapack/patches/Attic/patch-ac

File Deleted: pkgsrc/math/lapack/patches/Attic/patch-ad