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
--- 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"
--- 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}
--- 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
--- 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"
--- 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
--- 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}
--- 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
$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