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 context 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,4 +1,4 @@
-# $NetBSD: Makefile,v 1.36 2016/12/03 15:37:34 marino Exp $
+# $NetBSD: Makefile,v 1.37 2020/02/28 21:48:53 plunky Exp $
 
 .include "../../math/lapack/Makefile.common"
 
@@ -6,12 +6,11 @@
 
 COMMENT=	Basic Linear Algebra Subprograms (Fortran)
 
-PATCHDIR=	${.CURDIR}/../../math/lapack/patches
+# not actually true but pretend as we package it separately
+CMAKE_ARGS+=	-DLATESTLAPACK_FOUND:BOOL=TRUE
 
-BUILD_TARGET=	blaslib
+BUILD_TARGET=	blas
 
-do-install:
-	${LIBTOOL} --mode=install ${INSTALL_DATA} ${WRKSRC}/BLAS/SRC/libblas.la \
-		${DESTDIR}${PREFIX}/lib
+TEST_DIRS=	${WRKSRC}/${OBJDIR}/BLAS
 
 .include "../../mk/bsd.pkg.mk"

cvs diff -r1.4 -r1.5 pkgsrc/math/blas/PLIST (expand / switch to context 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 @@
-@comment $NetBSD: PLIST,v 1.4 2004/09/22 08:09:42 jlam Exp $
+@comment $NetBSD: PLIST,v 1.5 2020/02/28 21:48:53 plunky Exp $
-lib/libblas.la
+lib/libblas.so
+lib/libblas.so.3
+lib/libblas.so.${PKGVERSION}

cvs diff -r1.8 -r1.9 pkgsrc/math/blas/buildlink3.mk (expand / switch to context 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,4 +1,4 @@
-# $NetBSD: buildlink3.mk,v 1.8 2009/03/20 19:24:56 joerg Exp $
+# $NetBSD: buildlink3.mk,v 1.9 2020/02/28 21:48:53 plunky Exp $
 
 BUILDLINK_TREE+=	blas
 
@@ -8,6 +8,8 @@
 BUILDLINK_API_DEPENDS.blas+=	blas>=1.0nb2
 BUILDLINK_ABI_DEPENDS.blas+=	blas>=1.0nb3
 BUILDLINK_PKGSRCDIR.blas?=	../../math/blas
+
+BLAS_LIBS=			-lblas
 .endif # BLAS_BUILDLINK3_MK
 
 BUILDLINK_TREE+=	-blas

cvs diff -r1.39 -r1.40 pkgsrc/math/lapack/Makefile (expand / switch to context 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 @@
-# $NetBSD: Makefile,v 1.39 2019/10/05 06:14:05 ryoon Exp $
+# $NetBSD: Makefile,v 1.40 2020/02/28 21:48:53 plunky Exp $
 
 .include "Makefile.common"
 
 COMMENT=	Linear Algebra PACKage
 
-BUILD_TARGET=	lapacklib
+# use external blas
+CMAKE_ARGS+=	-DBLAS_LIBRARIES:STRING=${BLAS_LIBS}
 
-# -j8 fails with some .o file not-found errors.
-MAKE_JOBS_SAFE=	no
-
-#FFLAGS+=		-ffloat-store
-
-# With f2c-20090411nb4, libf2c-20090201nb3, we need EXT_ETIME but gcc44-4.4.1nb3
-# needs INT_ETIME.  Rather than trying to enumerate all possible fortran compilers,
-# just do a test for it.
-do-configure:
-	@${ECHO_N} "Checking if fortran compiler has etime() as an intrinsic: "
-	@cd ${WRKDIR} && ${FC} -o etime_test ${FILESDIR}/etime_test.f >${WRKDIR}/etime_test.log 2>&1; \
-	if test $$? -eq 0 ; then \
-	${ECHO} "TIMER=INT_ETIME" >> ${WRKSRC}/make.inc ; ${ECHO} "YES" ; else \
-	${ECHO} "TIMER=EXT_ETIME" >> ${WRKSRC}/make.inc ; ${ECHO} "NO" ; fi
-	@${ECHO} "See ${WRKDIR}/etime_test.log for details on the test"
-
-do-install:
-	${LIBTOOL} --mode=install ${INSTALL_DATA} ${WRKSRC}/liblapack.la \
-		${DESTDIR}${PREFIX}/lib
+BUILD_TARGET=	lapack
 
 .include "../../math/blas/buildlink3.mk"
 .include "../../mk/bsd.pkg.mk"

cvs diff -r1.10 -r1.11 pkgsrc/math/lapack/Makefile.common (expand / switch to context 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,9 +1,8 @@
-# $NetBSD: Makefile.common,v 1.10 2020/01/26 17:31:38 rillig Exp $
+# $NetBSD: Makefile.common,v 1.11 2020/02/28 21:48:53 plunky Exp $
 # used by math/blas/Makefile
 # used by math/lapack/Makefile
 
-DISTNAME=	lapack-3.7.1
-PKGREVISION=	1
+DISTNAME=	lapack-3.9.0
 CATEGORIES=	math
 MASTER_SITES=	${MASTER_SITE_NETLIB:=lapack/}
 EXTRACT_SUFX=	.tgz
@@ -12,13 +11,31 @@
 HOMEPAGE=	https://www.netlib.org/lapack/
 LICENSE=	modified-bsd
 
-USE_LANGUAGES=		c fortran
-USE_LIBTOOL=		yes
-USE_TOOLS+=		gmake
-
-MAKE_ENV+=	BUILD_DEPRECATED=yes
 DISTINFO_FILE=	${.CURDIR}/../../math/lapack/distinfo
 PATCHDIR=	${.CURDIR}/../../math/lapack/patches
+
+USE_LANGUAGES=	c fortran
+USE_CMAKE=	yes
+
+OBJDIR=		obj
+
+CONFIGURE_DIRS=	${OBJDIR}
+CMAKE_ARG_PATH=	..
+CMAKE_ARGS+=	-DBUILD_SHARED_LIBS:BOOL=ON
+CMAKE_ARGS+=	-DBUILD_DEPRECATED:BOOL=ON
+CMAKE_ARGS+=	-DBUILD_TESTING:BOOL=ON
+
+TEST_TARGET=	all test
+TEST_ENV=	LD_LIBRARY_PATH=${WRKSRC}/${OBJDIR}/lib
+
+pre-configure:
+	cd ${WRKSRC} && ${MKDIR} ${OBJDIR}
+
+do-install:
+	cd ${WRKSRC}/${OBJDIR} &&					\
+	    ${PKGSRC_SETENV} ${INSTALL_ENV} ${MAKE_ENV}			\
+	    ${CMAKE} -DCMAKE_INSTALL_COMPONENT=RuntimeLibraries		\
+		-P cmake_install.cmake
 
 INSTALLATION_DIRS=	lib
 

cvs diff -r1.3 -r1.4 pkgsrc/math/lapack/PLIST (expand / switch to context 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 @@
-@comment $NetBSD: PLIST,v 1.3 2004/09/22 08:09:42 jlam Exp $
+@comment $NetBSD: PLIST,v 1.4 2020/02/28 21:48:53 plunky Exp $
-lib/liblapack.la
+lib/liblapack.so
+lib/liblapack.so.3
+lib/liblapack.so.${PKGVERSION}

cvs diff -r1.21 -r1.22 pkgsrc/math/lapack/distinfo (expand / switch to context 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 @@
-$NetBSD: distinfo,v 1.21 2017/09/11 20:56:28 wiz Exp $
+$NetBSD: distinfo,v 1.22 2020/02/28 21:48:53 plunky Exp $
 
-SHA1 (lapack-3.7.1.tgz) = 84c4f7163b52b1bf1f6ca2193f6f48ed3dec0fab
+SHA1 (lapack-3.9.0.tgz) = 9da5f17521260e9f0cfefd9dfc5616d9ef10efb0
-RMD160 (lapack-3.7.1.tgz) = db7d1e3cd904d01459db3c40bc613cb8738ad114
+RMD160 (lapack-3.9.0.tgz) = 136c181f31fd056956a96cec723ceb5a4fdf3feb
-SHA512 (lapack-3.7.1.tgz) = b16063146626d2f67ae1456a660dbb93f42d8387cfebef1bc2681a35b5d21d53120fb74b52932373d2423cd7df39a7ae4bbfc992a71addd936bbdd051d4e2eb7
+SHA512 (lapack-3.9.0.tgz) = 90c2c8372c2567b15c25653ed64e7c86a2cb0f1dda116f33716c6877490415210217af5badb67cb50e9d428f56ff83d33a3dad60b6ed7d31919164f6e7e98e0f
-Size (lapack-3.7.1.tgz) = 9137261 bytes
+Size (lapack-3.9.0.tgz) = 9347104 bytes
-SHA1 (patch-BLAS_SRC_Makefile) = cf78648a8a1fe0320ad876a8d29e8f60defc07d7
+SHA1 (patch-TESTING_MATGEN_CMakeLists.txt) = 695655299ccc48eec4c38c75d50144b3a13ee8db
-SHA1 (patch-aa) = 1b6bfd3737f8ee12334dcf0234ed75cc6253314d
+SHA1 (patch-TESTING_dbal.in) = 3a6a726b6504a07fb1c0908a3893ea46aca670ea
-SHA1 (patch-ac) = 14945f2d5d18a6e310a2237ca413967dc5bdf4ff
-SHA1 (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