git: c2488a602083 - main - math/lapack: +math/blas et al., upgrade to 3.9.1

Thierry Thomas thierry at FreeBSD.org
Sun Jun 13 17:48:55 UTC 2021


The branch main has been updated by thierry:

URL: https://cgit.FreeBSD.org/ports/commit/?id=c2488a6020830af2cf09699b887adec7af806bf3

commit c2488a6020830af2cf09699b887adec7af806bf3
Author:     Thierry Thomas <thierry at FreeBSD.org>
AuthorDate: 2021-06-13 17:35:55 +0000
Commit:     Thierry Thomas <thierry at FreeBSD.org>
CommitDate: 2021-06-13 17:48:12 +0000

    math/lapack: +math/blas et al., upgrade to 3.9.1
    
    - Upgrade math/blas, math/cblas, math/lapack, math/lapacke and math/xlapack
      to 3.9.1;
      Latest release notes at <http://www.netlib.org/lapack/lapack-3.9.1.html>
    
    - Chase this upgrade in biology/treekin;
    
    - Add a test target;
    
    - Remove a conflict with math/openblas (PR 244296);
    
    - Fix the build with Gcc10 (PR 247485).
    
    PR:             247542
    Approved by:    expr-run by antoine@
---
 biology/treekin/Makefile                     |   2 +-
 biology/treekin/files/patch-src_calcpp.h     |  12 +
 math/blas/Makefile                           |   1 -
 math/cblas/Makefile                          | 133 +-------
 math/cblas/distinfo                          |   4 -
 math/lapack/Makefile                         | 298 +++++++----------
 math/lapack/distinfo                         |   9 +-
 math/lapack/files/manpages                   | 458 +++++++++++++++++++++++----
 math/lapack/files/patch-Makefile             |  11 -
 math/lapack/files/patch-SRC+Makefile         |  98 ------
 math/lapack/files/patch-TESTING+LIN+Makefile |  82 -----
 math/lapack/files/patch-TESTING+Makefile     |  14 -
 math/lapack/files/patch-lapacke+Makefile     |  30 --
 math/lapack/files/patch-lapacke+src+Makefile |  29 --
 math/lapack/files/static.mk                  |   3 +
 math/lapack/pkg-descr                        |   1 +
 math/lapack/pkg-plist                        |  92 +++---
 math/openblas/Makefile                       |   2 -
 math/xlapack/Makefile                        |   1 -
 19 files changed, 599 insertions(+), 681 deletions(-)

diff --git a/biology/treekin/Makefile b/biology/treekin/Makefile
index 9ee58d87a129..333043189b1c 100644
--- a/biology/treekin/Makefile
+++ b/biology/treekin/Makefile
@@ -1,6 +1,6 @@
 PORTNAME=	treekin
 DISTVERSION=	0.5.1
-PORTREVISION=	2
+PORTREVISION=	3
 CATEGORIES=	biology
 MASTER_SITES=	https://www.tbi.univie.ac.at/RNA/packages/source/
 DISTNAME=	Treekin-${DISTVERSION}
diff --git a/biology/treekin/files/patch-src_calcpp.h b/biology/treekin/files/patch-src_calcpp.h
new file mode 100644
index 000000000000..a4a06105feb8
--- /dev/null
+++ b/biology/treekin/files/patch-src_calcpp.h
@@ -0,0 +1,12 @@
+--- src/calcpp.h.orig	2019-06-13 14:11:19 UTC
++++ src/calcpp.h
+@@ -49,6 +49,9 @@
+ # include <lapacke.h>
+ #else
+ # ifdef HAVE_LAPACKE_LAPACKE_H
++#   include <complex>
++#   define lapack_complex_float std::complex<float>
++#   define lapack_complex_double std::complex<double>
+ #   include <lapacke/lapacke.h>
+ # else
+ #   ifdef HAVE_OPENBLAS_LAPACKE_H
diff --git a/math/blas/Makefile b/math/blas/Makefile
index 436b921d9ae1..2e9fc06434eb 100644
--- a/math/blas/Makefile
+++ b/math/blas/Makefile
@@ -1,7 +1,6 @@
 # Created by: ljo
 
 PORTNAME=	blas
-PORTREVISION=	6
 
 MAINTAINER=	fortran at FreeBSD.org
 COMMENT=	Basic Linear Algebra Subroutines
diff --git a/math/cblas/Makefile b/math/cblas/Makefile
index d94a4bd5af01..eb7ff101ecb0 100644
--- a/math/cblas/Makefile
+++ b/math/cblas/Makefile
@@ -1,136 +1,13 @@
 # Created by: bf at FreeBSD.org
 
 PORTNAME=	cblas
-PORTVERSION=	1.0
-PORTREVISION=	12
-CATEGORIES=	math
-MASTER_SITES=	NL/blas/blast-forum/ LOCAL/bf
-DISTFILES=	cblas.tgz
 
-MAINTAINER=	ports at FreeBSD.org
+MAINTAINER=	fortran at FreeBSD.org
 COMMENT=	Reference implementation of the C interface to the legacy Fortran BLAS
 
-LICENSE=	BLAS
-LICENSE_NAME=	BLAS License
-LICENSE_TEXT=	http://www.netlib.org/blas/#_licensing
-LICENSE_PERMS=	auto-accept dist-mirror dist-sell pkg-mirror pkg-sell
+DESCR=	${.CURDIR}/pkg-descr
+CBLAS_SLAVEPORT=	yes
 
-USES=		fortran
+MASTERDIR=	${.CURDIR}/../lapack
 
-CONFLICTS_INSTALL=	atlas-[0-9]* atlas-devel-[0-9]*
-
-OPTIONS_DEFINE=	PROFILE SHARED STATIC DOCS
-OPTIONS_DEFAULT=	SHARED STATIC
-PROFILE_DESC=	Build profiling libraries
-SHARED_DESC=	Build shared libraries and PIC archives
-STATIC_DESC=	Build (non-PIC) archives
-
-PLIST_FILES=	include/cblas.h include/cblas_f77.h
-PLIST_SUB=	SVERSION="${SVERSION}"
-
-SVERSION=	2
-
-WRKSRC=			${WRKDIR}/CBLAS
-WRKSRC_PROFILE=		${WRKSRC}_PROFILE
-WRKSRC_SHARED=		${WRKSRC}_SHARED
-WRKSRC_STATIC=		${WRKSRC}
-
-.include <bsd.port.options.mk>
-
-.if make(makesum) || ${PORT_OPTIONS:MDOCS}
-DISTFILES+=	blas-report.pdf
-EXTRACT_ONLY=	cblas.tgz
-.endif
-
-MANGLING?=	-DADD_
-CFLAGS+=	${MANGLING}
-
-.if ${ARCH} == "sparc64"
-PICFLAG?=	-fPIC
-.else
-PICFLAG?=	-fpic
-.endif
-
-FLAGS_PROFILE?=	-pg
-FLAGS_SHARED ?=	${PICFLAG}
-
-.if ${PORT_OPTIONS:MSHARED}
-PLIST_FILES+=	lib/libcblas_pic.a lib/libcblas.so lib/libcblas.so.${SVERSION}
-TESTS ?=	test-shared
-USE_LDCONFIG=	yes
-.endif
-.if ${PORT_OPTIONS:MSTATIC}
-PLIST_FILES+=	lib/libcblas.a
-TESTS ?=	test-static
-.endif
-.if ${PORT_OPTIONS:MPROFILE}
-PLIST_FILES+=	lib/libcblas_p.a
-TESTS ?=	test-profile
-.endif
-
-post-patch:
-	@${SED} -Ee '\@^CBLIB[[:blank:]]*=@s at cblas.*\.a at libcblas.a@; \
-		\@^((BL|RAN)LIB|CC|FC)[[:blank:]]*=@d; \
-		\@^((C|F)FLAGS)[[:blank:]]*=@s@=.*@+= $${EXTRAFLAGS}@; \
-		\@^LOADER@{x; s|^|LOADFLAGS = $${LDFLAGS} $${EXTRAFLAGS}|; G;};' \
-			${WRKSRC}/Makefile.LINUX > ${WRKSRC}/Makefile.in
-	@${REINPLACE_CMD} -e 's@$$(ARCH)@$$(AR)@' ${WRKSRC}/src/Makefile
-.for o in PROFILE SHARED
-.if ${PORT_OPTIONS:M${o}}
-	@${CP} -a ${WRKSRC} ${WRKSRC_${o}}
-.endif
-.endfor
-
-do-build: build-profile build-shared build-static
-
-.for o in PROFILE SHARED STATIC
-build-${o:tl}: patch
-.if ${PORT_OPTIONS:M${o}}
-	@${PRINTF} "\n\nBuilding ${o:tl} libraries:\n\n\n"
-	@cd ${WRKSRC_${o}}/src; ${SETENV} ${MAKE_ENV} EXTRAFLAGS="${FLAGS_${o}}" \
-	${MAKE} ${_MAKE_JOBS} ${MAKE_ARGS} all
-
-.endif
-.endfor
-
-post-build:
-.if ${PORT_OPTIONS:MSHARED}
-	cd ${WRKSRC_SHARED}/lib ; ${FC} ${FFLAGS} ${FFLAGS_SHARED} ${LDFLAGS} -shared \
-	-o libcblas.so.${SVERSION} -Wl,-x -Wl,-soname,libcblas.so.${SVERSION} \
-	-Wl,--whole-archive libcblas.a -Wl,--no-whole-archive
-.endif
-
-.if defined(MAINTAINER_MODE) || defined(PACKAGE_BUILDING)
-BLAS?=			-L${LOCALBASE}/lib -lblas
-BUILD_DEPENDS +=	${LOCALBASE}/lib/libblas.so:math/blas
-MAKE_ENV+=		BLLIB="${BLAS}"
-
-check regression-test test: ${TESTS}
-
-.for o in PROFILE SHARED STATIC
-test-${o:tl}: build-${o:tl}
-.if ${PORT_OPTIONS:M${o}}
-	@${PRINTF} "\n\nTesting ${o:tl} libraries:\n\n\n"
-	@cd ${WRKSRC_${o}}/testing; ${SETENV} ${MAKE_ENV} EXTRAFLAGS="${FLAGS_${o}}" \
-	${MAKE} ${_MAKE_JOBS} ${MAKE_ARGS} all run
-	@${CAT} ${WRKSRC_${o}}/testing/*.out
-
-.endif
-.endfor
-.endif
-
-do-install:
-	@${INSTALL_DATA} ${WRKSRC}/include/*.h ${STAGEDIR}${PREFIX}/include
-.if ${PORT_OPTIONS:MSTATIC}
-	@${INSTALL_DATA} ${WRKSRC}/lib/libcblas.a ${STAGEDIR}${PREFIX}/lib
-.endif
-.if ${PORT_OPTIONS:MSHARED}
-	@${INSTALL_DATA} ${WRKSRC_SHARED}/lib/libcblas.a ${STAGEDIR}${PREFIX}/lib/libcblas_pic.a
-	@${INSTALL_LIB} ${WRKSRC_SHARED}/lib/libcblas.so.${SVERSION} ${STAGEDIR}${PREFIX}/lib
-	@${LN} -sf libcblas.so.${SVERSION} ${STAGEDIR}${PREFIX}/lib/libcblas.so
-.endif
-.if ${PORT_OPTIONS:MPROFILE}
-	@${INSTALL_DATA} ${WRKSRC_PROFILE}/lib/libcblas.a ${STAGEDIR}${PREFIX}/lib/libcblas_p.a
-.endif
-
-.include <bsd.port.mk>
+.include "${MASTERDIR}/Makefile"
diff --git a/math/cblas/distinfo b/math/cblas/distinfo
deleted file mode 100644
index 0edbbbb80dfd..000000000000
--- a/math/cblas/distinfo
+++ /dev/null
@@ -1,4 +0,0 @@
-SHA256 (cblas.tgz) = 0f6354fd67fabd909baf57ced2ef84e962db58fae126e4f41b21dd4fec60a2a3
-SIZE (cblas.tgz) = 197468
-SHA256 (blas-report.pdf) = 7874962ae4dc753fcdd483ff0c69931227846632251f79a68f4f879348f321a6
-SIZE (blas-report.pdf) = 2412966
diff --git a/math/lapack/Makefile b/math/lapack/Makefile
index 852d9cecfd3d..712daaeee879 100644
--- a/math/lapack/Makefile
+++ b/math/lapack/Makefile
@@ -1,224 +1,170 @@
 # Created by: jmz
 
 PORTNAME?=	lapack
-PORTVERSION=	3.5.0
-PORTREVISION?=	8	# Never remove this line, keep PORTREVISION?=0 in case.
+PORTVERSION=	3.9.1
+PORTREVISION?=	0	# Never remove this line, keep PORTREVISION?=0 in case.
 CATEGORIES=	math
 MASTER_SITES=	NL/lapack/
-DISTFILES=	lapack-${PORTVERSION}.tgz
+DISTFILES=	v${PORTVERSION}${EXTRACT_SUFX}
 .if make(makesum) || !(defined(BLAS_SLAVEPORT) || defined(XLAPACK_SLAVEPORT))
-DISTFILES+=		manpages-${PORTVERSION}.tgz
+DISTFILES+=	manpages.tgz
 .endif
 DIST_SUBDIR=	lapack
 
 MAINTAINER?=	fortran at FreeBSD.org
-COMMENT?=	Library of Fortran 77 subroutines for linear algebra
+COMMENT?=	Linear Algebra PACKage
 
 LICENSE=	BSD3CLAUSE
-LICENSE_FILE=	${WRKSRC}/LICENSE
 
-USES=		fortran
-
-OPTIONS_DEFINE=	PROFILE SHARED STATIC
-OPTIONS_DEFAULT=	SHARED STATIC
-PROFILE_DESC=	Build profiling libraries
-SHARED_DESC=	Build shared libraries and PIC archives
-STATIC_DESC=	Build (non-PIC) archives
-
-MAKE_ENV=	BLASLIB="${BLASLIB}"
-FFLAGS+=	-std=legacy
-PLIST_SUB=	SVERSION="${SVERSION}"
+USES=		cmake:testing fortran
+WRKSRC=		${WRKDIR}/lapack-${PORTVERSION}
+# The actual math/scilab needs deprecated functions - to be removed later
+CMAKE_ON=	BUILD_SHARED_LIBS BUILD_DEPRECATED
+USE_LDCONFIG=	yes
 
-WRKSRC=			${WRKDIR}/lapack-${PORTVERSION}
-WRKSRC_PROFILE=		${WRKSRC}_PROFILE
-WRKSRC_SHARED=		${WRKSRC}_SHARED
-WRKSRC_STATIC=		${WRKSRC}
+SVERSION=	${PORTVERSION:R:R}
+PLIST_SUB=	SVERSION="${SVERSION}" VER=${PORTVERSION}
 
 .include <bsd.port.options.mk>
 
 .if defined(BLAS_SLAVEPORT)
-ALL_TARGET=		blaslib
-BLASLIB=		../../libblas.a
+BUILD_WRKSRC=		${CONFIGURE_WRKSRC}/BLAS/SRC
+INSTALL_WRKSRC=		${BUILD_WRKSRC}
+BLASLIB=		libblas.a
 LIBS=			blas
-PLIST_SUB+=		BLAS="" LAPACK="@comment " XLAPACK="@comment " LAPACKE="@comment "
-SVERSION=		2
-TEST_TARGET=		blas_testing
+PLIST_SUB+=		BLAS="" CBLAS="@comment " LAPACK="@comment " XLAPACK="@comment " LAPACKE="@comment "
+.elif defined(CBLAS_SLAVEPORT)
+BUILD_DEPENDS+=		lapack>0:math/lapack
+LIB_DEPENDS+=		libblas.so:math/blas
+CMAKE_ON+=		CBLAS
+BUILD_WRKSRC=		${CONFIGURE_WRKSRC}/CBLAS
+INSTALL_WRKSRC=		${BUILD_WRKSRC}
+CBLASLIB=		libcblas.a
+LIBS=			cblas
+PLIST_SUB+=		BLAS="@comment " CBLAS="" LAPACK="@comment " XLAPACK="@comment " LAPACKE="@comment "
 .elif defined(LAPACKE_SLAVEPORT)
-ALL_TARGET=		lapackelib
+USES+=			blaslapack
+CMAKE_ON+=		USE_OPTIMIZED_BLAS USE_OPTIMIZED_LAPACK LAPACKE
+CMAKE_ARGS+=		-DBLAS_LIBRARIES="${LOCALBASE}/lib/libblas.so"		\
+			-DLAPACK_LIBRARIES="${LOCALBASE}/lib/liblapack.so"
+BUILD_WRKSRC=		${CONFIGURE_WRKSRC}/LAPACKE
+INSTALL_WRKSRC=		${BUILD_WRKSRC}
 LAPACKELIB=		liblapacke.a
-LAPACKETMGLIB=		liblapacke_tmg.a
-MAKE_ENV+=	LAPACKELIB="${LAPACKELIB}" LAPACKETMGLIB="${LAPACKETMGLIB}"
-LIB_DEPENDS+=		libblas.so:math/blas \
-			liblapack.so:math/lapack
-LIBS=			lapacke lapacke_tmg
-INCLS=			lapacke lapacke_utils lapacke_mangling
-PLIST_SUB+=		BLAS="@comment " LAPACK="@comment " XLAPACK="@comment " LAPACKE=""
-SVERSION=		1
+PLIST_SUB+=		BLAS="@comment " CBLAS="@comment " LAPACK="@comment " XLAPACK="@comment " LAPACKE=""
+.elif defined(XLAPACK_SLAVEPORT)
+LIB_DEPENDS+=		libblas.so:math/blas		\
+			liblapack.so:math/lapack	\
+			libxblas.so:math/xblas
+FFLAGS+=		-fallow-argument-mismatch
+CMAKE_ON+=		USE_OPTIMIZED_BLAS USE_XBLAS  BUILD_TESTING
+CMAKE_ARGS+=		-DBLAS_LIBRARIES="${LOCALBASE}/lib/libblas.so"
+PLIST_SUB+=		BLAS="@comment " CBLAS="@comment " LAPACK="@comment " XLAPACK="" LAPACKE="@comment "
 .else
-ALL_TARGET=		lib
-BLASLIB?=		-L${LOCALBASE}/lib -lblas
+# Upstream recommand to use an optimized BLAS, but it would cause conflicts
+# among the dependencies: for an optimized lapack switch to OpenBLAS.
+# BUILD_TESTING to get tmglib.
 LIB_DEPENDS+=		libblas.so:math/blas
-LIBS=			lapack tmglib
-SVERSION=		4
-TEST_TARGET=		lapack_testing
-.if defined(MAINTAINER_MODE) || defined(PACKAGE_BUILDING)
-S=			${PYTHON_CMD}
-USES+=			python:build
-.else
-S=			\#
-.endif
-.if defined(XLAPACK_SLAVEPORT)
-LIB_DEPENDS+=		libxblas.so:math/xblas
-MAKE_ENV+=		USEXBLAS=yes XBLASLIB="${XBLASLIB}"
-P=			x
-PLIST_SUB+=		BLAS="@comment " LAPACK="@comment " XLAPACK="" LAPACKE="@comment "
-XBLASLIB?=		-L${LOCALBASE}/lib -lxblas
-.else
+. if defined(MAINTAINER_MODE)
+USES+=			python:3.6+,build,test
+. endif
+CMAKE_ON+=		USE_OPTIMIZED_BLAS BUILD_TESTING
+CMAKE_ARGS+=		-DBLAS_LIBRARIES="${LOCALBASE}/lib/libblas.so"
+LIBS=			lapack
 PLIST_FILES+=		${MAN3L:S|^|man/man3/|:S|$|.gz|}
-PLIST_SUB+=		BLAS="@comment " LAPACK="" XLAPACK="@comment " LAPACKE="@comment "
-.if defined(MAINTAINER_MODE)
-BUILD_DEPENDS +=	doxygen:devel/doxygen
-MAN_TARGET=		build-manpages
-.endif
-.endif
-.endif
-
-.if ${ARCH} == "sparc64"
-PICFLAG?=	-fPIC
-.else
-PICFLAG?=	-fpic
+PLIST_SUB+=		BLAS="@comment " CBLAS="@comment " LAPACK="" XLAPACK="@comment " LAPACKE="@comment "
 .endif
 
-FFLAGS_PROFILE?=	-pg
-FFLAGS_SHARED ?=	${PICFLAG}
+.include <bsd.port.pre.mk>
 
-.if ${PORT_OPTIONS:MPROFILE}
-LDFLAGS+= -static
-.endif
-
-.if ${PORT_OPTIONS:MPROFILE} && !exists(/usr/lib/libc_p.a)
-IGNORE=	you have chosen WITH_PROFILE, but have not installed the\
-base system profiling libraries
-.endif
-
-.if ${PORT_OPTIONS:MSHARED}
-USE_LDCONFIG=	yes
-.endif
-
-.for o in PROFILE SHARED STATIC
-.if ${PORT_OPTIONS:M${o}}
-PLIST_SUB+=	${o}=""
-.else
-PLIST_SUB+=	${o}="@comment "
-.endif
-.endfor
-
-post-patch:
-	@${SED} -Ee '\
+pre-configure:
+	${SED} -Ee '\
 		s@^(FORTRAN|LOADER)([[:blank:]]*=)(.*)@\1\2 $${FC}@; \
 		s@^(OPTS[[:blank:]]*=)(.*)@\1 $${FFLAGS} $${EXTRAFLAGS}@; \
 		s@^NOOPT[[:blank:]]*=.*@& $${EXTRAFLAGS}@; \
 		s@^(LOADOPTS[[:blank:]]*=)(.*)@\1 $${LDFLAGS} $${EXTRAFLAGS}@; \
 		s@^(CC[[:blank:]]*=)(.*)@@; \
+		s@^(FC[[:blank:]]*=)(.*)@@; \
 		s@^(CFLAGS[[:blank:]]*)(=)(.*)@\1 += $${EXTRAFLAGS}@; \
+		s@^(FFLAGS[[:blank:]]*=)(.*)@@; \
+		s@^(LDFLAGS[[:blank:]]*=)(.*)@@; \
 		\@(BLAS|LAPACKE|RAN)LIB[[:blank:]]*=@d;' \
 			${WRKSRC}/make.inc.example > ${WRKSRC}/make.inc
-	@${REINPLACE_CMD} -e 's@\./lapack_testing\.py@${S} &@' \
+	${REINPLACE_CMD} -e 's@\./lapack_testing\.py@${S} &@' \
 		${WRKSRC}/Makefile
-.for o in PROFILE SHARED
-.if ${PORT_OPTIONS:M${o}}
-	@${CP} -a ${WRKSRC} ${WRKSRC_${o}}
-.endif
-.endfor
-
-do-build: ${MAN_TARGET} build-profile build-shared build-static
-
-.for o in PROFILE SHARED STATIC
-build-${o:tl}: patch
-.if ${PORT_OPTIONS:M${o}}
-	${PRINTF} "\n\nBuilding ${o:tl} libraries:\n\n\n"
-	cd ${WRKSRC_${o}}; ${SETENV} ${MAKE_ENV} EXTRAFLAGS="${FFLAGS_${o}}" \
-	${MAKE} ${_MAKE_JOBS} ${MAKE_ARGS} ARCH="${AR}" ${ALL_TARGET}
-
-.endif
-.endfor
-
-.if defined (MAINTAINER_MODE)
-build-manpages: patch
-	@cd ${WRKSRC}; ${SETENV} ${MAKE_ENV} ${MAKE} ${_MAKE_JOBS} \
-	${MAKE_ARGS} man
-
+	${FIND} ${WRKSRC} -name Makefile | ${XARGS}	\
+		${SED} -i ".bak" -e 's|^ifdef|.ifdef|;s|^endif|.endif|'
+.if defined(MAINTAINER_MODE)
+	${REINPLACE_CMD} -e 's|PythonInterp 2.7|PythonInterp ${PYTHON_VER}|'	\
+		${WRKSRC}/CMakeLists.txt
 .endif
 
 post-build:
-.if ${PORT_OPTIONS:MSHARED}
-.for L in ${LIBS}
-	cd ${WRKSRC_SHARED} ; ${FC} ${FFLAGS} ${FFLAGS_SHARED} ${LDFLAGS} -shared \
-	-o lib${P}${L}.so.${SVERSION} -Wl,-x -Wl,-soname,lib${P}${L}.so.${SVERSION} \
-	-Wl,--whole-archive lib${L}.a -Wl,--no-whole-archive
-.endfor
-.endif
-
-.if ${PORT_OPTIONS:MSHARED}
-TESTS ?=	test-shared
-.elif ${PORT_OPTIONS:MSTATIC}
-TESTS ?=	test-static
-.elif ${PORT_OPTIONS:MPROFILE}
-TESTS ?=	test-profile
-.endif
-
-.if !defined(LAPACKE_SLAVEPORT)
-check regression-test test: ${TESTS}
-.for o in PROFILE SHARED STATIC
-test-${o:tl}: build-${o:tl}
-.if ${PORT_OPTIONS:M${o}}
-	@${PRINTF} "\n\nTesting ${o:tl} libraries:\n\n\n"
-	@cd ${WRKSRC_${o}}; ${SETENV} ${MAKE_ENV} EXTRAFLAGS="${FFLAGS_${o}}" \
-	${MAKE} ${_MAKE_JOBS} ${MAKE_ARGS} ARCH="${AR}" ${TEST_TARGET}
 .if defined(BLAS_SLAVEPORT)
-	@${CAT} ${WRKSRC_${o}}/BLAS/*.out
-.endif
-.endif
-.endfor
-.endif
-
-do-install:
-.for L in ${LIBS}
-.if ${PORT_OPTIONS:MSTATIC}
-	@${INSTALL_DATA} ${WRKSRC}/lib${L}.a ${STAGEDIR}${PREFIX}/lib/lib${P}${L}.a
-.endif
-.if ${PORT_OPTIONS:MSHARED}
-	@${INSTALL_DATA} ${WRKSRC_SHARED}/lib${L}.a ${STAGEDIR}${PREFIX}/lib/lib${P}${L}_pic.a
-	@${INSTALL_DATA} ${WRKSRC_SHARED}/lib${P}${L}.so.${SVERSION} ${STAGEDIR}${PREFIX}/lib
-	@${LN} -sf lib${P}${L}.so.${SVERSION} ${STAGEDIR}${PREFIX}/lib/lib${P}${L}.so
-.endif
-.if ${PORT_OPTIONS:MPROFILE}
-	@${INSTALL_DATA} ${WRKSRC_PROFILE}/lib${L}.a ${STAGEDIR}${PREFIX}/lib/lib${P}${L}_p.a
-.endif
-.endfor
-.if defined(LAPACKE_SLAVEPORT)
-.for I in ${INCLS}
-	@${INSTALL_DATA} ${WRKSRC}/lapacke/include/${I}.h ${STAGEDIR}${PREFIX}/include
-.endfor
+	${SED} -e 's|%%LIB%%|blas|g;s|cd SRC|cd BLAS/SRC|;s|SRC/lib|BLAS/SRC/lib|'	\
+		${FILESDIR}/static.mk >> ${BUILD_WRKSRC}/CMakeFiles/blas.dir/build.make
+	(cd ${CONFIGURE_WRKSRC} && ${MAKE} -f BLAS/SRC/CMakeFiles/blas.dir/build.make build-static)
+.elif defined(CBLAS_SLAVEPORT)
+	${SED} -e 's|%%LIB%%|cblas|g;s|cd SRC|cd CBLAS/src|;s|SRC/lib|CBLAS/src/lib|'	\
+		${FILESDIR}/static.mk >> ${BUILD_WRKSRC}/src/CMakeFiles/cblas.dir/build.make
+	(cd ${CONFIGURE_WRKSRC} && ${MAKE} -f CBLAS/src/CMakeFiles/cblas.dir/build.make build-static)
+.elif defined(LAPACKE_SLAVEPORT)
+	${SED} -e 's|%%LIB%%|lapacke|g;s|cd SRC|cd LAPACKE|' ${FILESDIR}/static.mk	\
+		>> ${BUILD_WRKSRC}/CMakeFiles/lapacke.dir/build.make
+	(cd ${CONFIGURE_WRKSRC} && ${MAKE} -f LAPACKE/CMakeFiles/lapacke.dir/build.make build-static)
+.else # xlapack + Lapack + tmglib
+	${SED} -e 's|%%LIB%%|lapack|g' ${FILESDIR}/static.mk	\
+		>> ${BUILD_WRKSRC}/SRC/CMakeFiles/lapack.dir/build.make
+	(cd ${CONFIGURE_WRKSRC} && ${MAKE} -f SRC/CMakeFiles/lapack.dir/build.make build-static)
+	${SED} -e 's|%%LIB%%|tmglib|g;s|cd SRC|cd TESTING/MATGEN|;s|SRC/lib|TESTING/MATGEN/lib|'	\
+		${FILESDIR}/static.mk >> ${BUILD_WRKSRC}/TESTING/MATGEN/CMakeFiles/tmglib.dir/build.make
+	(cd ${BUILD_WRKSRC} && ${MAKE} -f TESTING/MATGEN/CMakeFiles/tmglib.dir/build.make build-static)
 .endif
 
-.include  <bsd.port.pre.mk>
-
-.if !(defined(BLAS_SLAVEPORT) || defined(XLAPACK_SLAVEPORT) || defined(LAPACKE_SLAVEPORT))
-
 .include "${FILESDIR}/manpages"
 
 post-install:
-	@cd ${WRKDIR}/man ; ${ECHO_CMD} ${MAN3L:S|^|man3/|} \
+.if defined(BLAS_SLAVEPORT)
+	${INSTALL_DATA} ${CONFIGURE_WRKSRC}/BLAS/SRC/${BLASLIB} ${STAGEDIR}${PREFIX}/lib
+	${INSTALL_DATA} ${CONFIGURE_WRKSRC}/BLAS/blas.pc ${STAGEDIR}${PREFIX}/libdata/pkgconfig
+.elif defined(CBLAS_SLAVEPORT)
+	# Avoid conflict with OpenBLAS
+	${MKDIR} ${STAGEDIR}${PREFIX}/include/cblas
+	${MV} ${STAGEDIR}${PREFIX}/include/*.h ${STAGEDIR}${PREFIX}/include/cblas/
+	${INSTALL_DATA} ${BUILD_WRKSRC}/src/${CBLASLIB} ${STAGEDIR}${PREFIX}/lib
+.elif defined(LAPACKE_SLAVEPORT)
+	# Avoid conflict with OpenBLAS
+	${MKDIR} ${STAGEDIR}${PREFIX}/include/lapacke
+	${MV} ${STAGEDIR}${PREFIX}/include/*.h ${STAGEDIR}${PREFIX}/include/lapacke/
+	${INSTALL_DATA} ${CONFIGURE_WRKSRC}/LAPACKE/${LAPACKELIB} ${STAGEDIR}${PREFIX}/lib
+.elif defined(XLAPACK_SLAVEPORT)
+	${INSTALL_DATA} ${BUILD_WRKSRC}/SRC/liblapack.a ${STAGEDIR}${PREFIX}/lib/libxlapack.a
+	${INSTALL_DATA} ${BUILD_WRKSRC}/TESTING/MATGEN/libtmglib.a	\
+		${STAGEDIR}${PREFIX}/lib/libxtmglib.a
+	${MV} ${STAGEDIR}${PREFIX}/lib/liblapack.so	\
+		${STAGEDIR}${PREFIX}/lib/libxlapack.so.${PORTVERSION}
+	${LN} -sf libxlapack.so.${PORTVERSION} ${STAGEDIR}${PREFIX}/lib/libxlapack.so
+	${LN} -sf libxlapack.so.${PORTVERSION}	\
+		${STAGEDIR}${PREFIX}/lib/libxlapack.so.${SVERSION}
+	${MV} ${STAGEDIR}${PREFIX}/lib/libtmglib.so	\
+		${STAGEDIR}${PREFIX}/lib/libxtmglib.so.${PORTVERSION}
+	${LN} -sf libxtmglib.so.${PORTVERSION} ${STAGEDIR}${PREFIX}/lib/libxtmglib.so
+	${LN} -sf libxtmglib.so.${PORTVERSION}	\
+		${STAGEDIR}${PREFIX}/lib/libxtmglib.so.${SVERSION}
+	${SED} -e 's|lapack|xlapack|g;s|LAPACK|XLAPACK|'		\
+		${STAGEDIR}${PREFIX}/libdata/pkgconfig/lapack.pc	\
+		> ${STAGEDIR}${PREFIX}/libdata/pkgconfig/xlapack.pc
+	${RM} ${STAGEDIR}${PREFIX}/libdata/pkgconfig/lapack.pc
+.else # Lapack
+	${INSTALL_DATA} ${BUILD_WRKSRC}/SRC/liblapack.a ${STAGEDIR}${PREFIX}/lib
+	${INSTALL_DATA} ${BUILD_WRKSRC}/TESTING/MATGEN/libtmglib.a ${STAGEDIR}${PREFIX}/lib
+	${MV} ${STAGEDIR}${PREFIX}/lib/libtmglib.so	\
+		${STAGEDIR}${PREFIX}/lib/libtmglib.so.${PORTVERSION}
+	${LN} -sf libtmglib.so.${PORTVERSION} ${STAGEDIR}${PREFIX}/lib/libtmglib.so
+	${LN} -sf libtmglib.so.${PORTVERSION} ${STAGEDIR}${PREFIX}/lib/libtmglib.so.${SVERSION}
+.endif
+.if !(defined(BLAS_SLAVEPORT) || defined(CBLAS_SLAVEPORT) || defined(XLAPACK_SLAVEPORT) || defined(LAPACKE_SLAVEPORT))
+	cd ${WRKDIR}/man ; ${ECHO_CMD} ${MAN3L:S|^|man3/|} \
 	| ${XARGS} -J @ ${INSTALL_MAN} @ ${STAGEDIR}${MAN3PREFIX}/man/man3
-
-.if defined(MAINTAINER_MODE)
-package-manpages: build-manpages
-	@${RM} ${WRKDIR}/lapack-manpages-${PORTVERSION}.tar.gz ; \
-	cd ${WRKSRC}/DOCS/man; \
-	${TAR} -czvf ${WRKDIR}/lapack-manpages-${PORTVERSION}.tar.gz \
-	${MAN3L:S|^|man3/|}
-
-.endif
 .endif
+
 .include <bsd.port.post.mk>
diff --git a/math/lapack/distinfo b/math/lapack/distinfo
index 1ba4007bc3fe..fbf3bb754930 100644
--- a/math/lapack/distinfo
+++ b/math/lapack/distinfo
@@ -1,4 +1,5 @@
-SHA256 (lapack/lapack-3.5.0.tgz) = 9ad8f0d3f3fb5521db49f2dd716463b8fb2b6bc9dc386a9956b8c6144f726352
-SIZE (lapack/lapack-3.5.0.tgz) = 6313139
-SHA256 (lapack/manpages-3.5.0.tgz) = 055da7402ea807cc16f6c50b71ac63d290f83a5f2885aa9f679b7ad11dd8903d
-SIZE (lapack/manpages-3.5.0.tgz) = 1394730
+TIMESTAMP = 1623226962
+SHA256 (lapack/v3.9.1.tar.gz) = d0085d2caf997ff39299c05d4bacb6f3d27001d25a4cc613d48c1f352b73e7e0
+SIZE (lapack/v3.9.1.tar.gz) = 7543209
+SHA256 (lapack/manpages.tgz) = a65b84821765cfd4bb8bf8c05e4279a9d81130da4eb8741ef2690064c57610cf
+SIZE (lapack/manpages.tgz) = 2391904
diff --git a/math/lapack/files/manpages b/math/lapack/files/manpages
index 7005df85d75f..bc4adae7b1d4 100644
--- a/math/lapack/files/manpages
+++ b/math/lapack/files/manpages
@@ -1,10 +1,6 @@
 MAN3L= \
-INSTALL_ilaver.f.3 \
-INSTALL_lsame.f.3 \
-LAPACK_version.f.3 \
-SRC_ilaver.f.3 \
-SRC_xerbla.f.3 \
-SRC_xerbla_array.f.3 \
+BLAS_SRC_xerbla_array.f.3 \
+BLAS_SRC_xerbla.f.3 \
 caxpy.f.3 \
 cbbcsd.f.3 \
 cbdsqr.f.3 \
@@ -35,24 +31,28 @@ cgees.f.3 \
 cgeesx.f.3 \
 cgeev.f.3 \
 cgeevx.f.3 \
-cgegs.f.3 \
-cgegv.f.3 \
 cgehd2.f.3 \
 cgehrd.f.3 \
+cgejsv.f.3 \
+cgelq.f.3 \
 cgelq2.f.3 \
 cgelqf.f.3 \
+cgelqt.f.3 \
+cgelqt3.f.3 \
 cgels.f.3 \
 cgelsd.f.3 \
 cgelss.f.3 \
-cgelsx.f.3 \
 cgelsy.f.3 \
+cgemlq.f.3 \
+cgemlqt.f.3 \
 cgemm.f.3 \
+cgemqr.f.3 \
 cgemqrt.f.3 \
 cgemv.f.3 \
 cgeql2.f.3 \
 cgeqlf.f.3 \
 cgeqp3.f.3 \
-cgeqpf.f.3 \
+cgeqr.f.3 \
 cgeqr2.f.3 \
 cgeqr2p.f.3 \
 cgeqrf.f.3 \
@@ -70,26 +70,37 @@ cgesc2.f.3 \
 cgesdd.f.3 \
 cgesv.f.3 \
 cgesvd.f.3 \
+cgesvdq.f.3 \
+cgesvdx.f.3 \
+cgesvj.f.3 \
 cgesvx.f.3 \
 cgesvxx.f.3 \
 cgetc2.f.3 \
 cgetf2.f.3 \
 cgetrf.f.3 \
+cgetrf2.f.3 \
 cgetri.f.3 \
 cgetrs.f.3 \
+cgetsls.f.3 \
+cgetsqrhrt.f.3 \
 cggbak.f.3 \
 cggbal.f.3 \
 cgges.f.3 \
+cgges3.f.3 \
 cggesx.f.3 \
 cggev.f.3 \
+cggev3.f.3 \
 cggevx.f.3 \
 cggglm.f.3 \
+cgghd3.f.3 \
 cgghrd.f.3 \
 cgglse.f.3 \
 cggqrf.f.3 \
 cggrqf.f.3 \
-cggsvd.f.3 \
-cggsvp.f.3 \
+cggsvd3.f.3 \
+cggsvp3.f.3 \
+cgsvj0.f.3 \
+cgsvj1.f.3 \
 cgtcon.f.3 \
 cgtrfs.f.3 \
 cgtsv.f.3 \
@@ -97,8 +108,12 @@ cgtsvx.f.3 \
 cgttrf.f.3 \
 cgttrs.f.3 \
 cgtts2.f.3 \
+chb2st_kernels.f.3 \
+chbev_2stage.f.3 \
 chbev.f.3 \
+chbevd_2stage.f.3 \
 chbevd.f.3 \
+chbevx_2stage.f.3 \
 chbevx.f.3 \
 chbgst.f.3 \
 chbgv.f.3 \
@@ -106,14 +121,21 @@ chbgvd.f.3 \
 chbgvx.f.3 \
 chbmv.f.3 \
 chbtrd.f.3 \
+checon_3.f.3 \
+checon_rook.f.3 \
 checon.f.3 \
 cheequb.f.3 \
+cheev_2stage.f.3 \
 cheev.f.3 \
+cheevd_2stage.f.3 \
 cheevd.f.3 \
+cheevr_2stage.f.3 \
 cheevr.f.3 \
+cheevx_2stage.f.3 \
 cheevx.f.3 \
 chegs2.f.3 \
 chegst.f.3 \
+chegv_2stage.f.3 \
 chegv.f.3 \
 chegvd.f.3 \
 chegvx.f.3 \
@@ -125,17 +147,36 @@ cher2k.f.3 \
 cherfs.f.3 \
 cherfsx.f.3 \
 cherk.f.3 \
+chesv_aa_2stage.f.3 \
+chesv_aa.f.3 \
+chesv_rk.f.3 \
+chesv_rook.f.3 \
 chesv.f.3 \
 chesvx.f.3 \
 chesvxx.f.3 \
 cheswapr.f.3 \
 chetd2.f.3 \
+chetf2_rk.f.3 \
+chetf2_rook.f.3 \
 chetf2.f.3 \
+chetrd_2stage.f.3 \
+chetrd_he2hb.f.3 \
 chetrd.f.3 \
+chetrf_aa_2stage.f.3 \
+chetrf_aa.f.3 \
+chetrf_rk.f.3 \
+chetrf_rook.f.3 \
 chetrf.f.3 \
+chetri_3.f.3 \
+chetri_3x.f.3 \
+chetri_rook.f.3 \
 chetri.f.3 \
 chetri2.f.3 \
 chetri2x.f.3 \
+chetrs_3.f.3 \
+chetrs_aa_2stage.f.3 \
+chetrs_aa.f.3 \
+chetrs_rook.f.3 \
 chetrs.f.3 \
 chetrs2.f.3 \
 chfrk.f.3 \
@@ -205,14 +246,18 @@ claev2.f.3 \
 clag2z.f.3 \
 clags2.f.3 \
 clagtm.f.3 \
+clahef_aa.f.3 \
+clahef_rk.f.3 \
+clahef_rook.f.3 \
 clahef.f.3 \
 clahqr.f.3 \
 clahr2.f.3 \
-clahrd.f.3 \
 claic1.f.3 \
 clals0.f.3 \
 clalsa.f.3 \
 clalsd.f.3 \
+clamswlq.f.3 \
+clamtsqr.f.3 \
 clangb.f.3 \
 clange.f.3 \
 clangt.f.3 \
@@ -251,11 +296,13 @@ clar1v.f.3 \
 clar2v.f.3 \
 clarcm.f.3 \
 clarf.f.3 \
+clarfb_gett.f.3 \
 clarfb.f.3 \
 clarfg.f.3 \
 clarfgp.f.3 \
 clarft.f.3 \
 clarfx.f.3 \
+clarfy.f.3 \
 clargv.f.3 \
 clarnv.f.3 \
 clarrv.f.3 \
@@ -270,7 +317,11 @@ clascl2.f.3 \
 claset.f.3 \
 clasr.f.3 \
 classq.f.3 \
+claswlq.f.3 \
 claswp.f.3 \
+clasyf_aa.f.3 \
+clasyf_rk.f.3 \
+clasyf_rook.f.3 \
 clasyf.f.3 \
 clatbs.f.3 \
 clatdf.f.3 \
@@ -278,7 +329,9 @@ clatps.f.3 \
 clatrd.f.3 \
 clatrs.f.3 \
 clatrz.f.3 \
-clatzm.f.3 \
+clatsqr.f.3 \
+claunhr_col_getrfnp.f.3 \
+claunhr_col_getrfnp2.f.3 \
 clauu2.f.3 \
 clauum.f.3 \
 cpbcon.f.3 \
@@ -303,6 +356,7 @@ cposvx.f.3 \
 cposvxx.f.3 \
 cpotf2.f.3 \
 cpotrf.f.3 \
+cpotrf2.f.3 \
 cpotri.f.3 \
 cpotrs.f.3 \
 cppcon.f.3 \
@@ -344,8 +398,12 @@ cstein.f.3 \
 cstemr.f.3 \
 csteqr.f.3 \
 cswap.f.3 \
+csycon_3.f.3 \
+csycon_rook.f.3 \
 csycon.f.3 \
 csyconv.f.3 \
+csyconvf_rook.f.3 \
+csyconvf.f.3 \
 csyequb.f.3 \
 csymm.f.3 \
 csymv.f.3 \
@@ -354,15 +412,32 @@ csyr2k.f.3 \
 csyrfs.f.3 \
 csyrfsx.f.3 \
 csyrk.f.3 \
+csysv_aa_2stage.f.3 \
+csysv_aa.f.3 \
+csysv_rk.f.3 \
+csysv_rook.f.3 \
 csysv.f.3 \
 csysvx.f.3 \
 csysvxx.f.3 \
 csyswapr.f.3 \
+csytf2_rk.f.3 \
+csytf2_rook.f.3 \
 csytf2.f.3 \
+csytrf_aa_2stage.f.3 \
+csytrf_aa.f.3 \
+csytrf_rk.f.3 \
+csytrf_rook.f.3 \
 csytrf.f.3 \
+csytri_3.f.3 \
+csytri_3x.f.3 \
+csytri_rook.f.3 \
 csytri.f.3 \
 csytri2.f.3 \
 csytri2x.f.3 \
+csytrs_3.f.3 \
+csytrs_aa_2stage.f.3 \
+csytrs_aa.f.3 \
+csytrs_rook.f.3 \
 csytrs.f.3 \
 csytrs2.f.3 \
 ctbcon.f.3 \
@@ -383,6 +458,9 @@ ctgsna.f.3 \
 ctgsy2.f.3 \
 ctgsyl.f.3 \
 ctpcon.f.3 \
+ctplqt.f.3 \
+ctplqt2.f.3 \
+ctpmlqt.f.3 \
 ctpmqrt.f.3 \
 ctpmv.f.3 \
 ctpqrt.f.3 \
@@ -396,6 +474,7 @@ ctpttf.f.3 \
 ctpttr.f.3 \
 ctrcon.f.3 \
 ctrevc.f.3 \
+ctrevc3.f.3 \
 ctrexc.f.3 \
 ctrmm.f.3 \
 ctrmv.f.3 \
@@ -410,10 +489,16 @@ ctrtri.f.3 \
 ctrtrs.f.3 \
 ctrttf.f.3 \
 ctrttp.f.3 \
-ctzrqf.f.3 \
 ctzrzf.f.3 \
 cunbdb.f.3 \
+cunbdb1.f.3 \
+cunbdb2.f.3 \
+cunbdb3.f.3 \
+cunbdb4.f.3 \
+cunbdb5.f.3 \
+cunbdb6.f.3 \
 cuncsd.f.3 \
+cuncsd2by1.f.3 \
 cung2l.f.3 \
 cung2r.f.3 \
 cungbr.f.3 \
@@ -425,6 +510,10 @@ cungqr.f.3 \
 cungr2.f.3 \
 cungrq.f.3 \
 cungtr.f.3 \
+cungtsqr_row.f.3 \
+cungtsqr.f.3 \
+cunhr_col.f.3 \
+cunm22.f.3 \
 cunm2l.f.3 \
 cunm2r.f.3 \
 cunmbr.f.3 \
@@ -445,7 +534,9 @@ daxpy.f.3 \
 dbbcsd.f.3 \
 dbdsdc.f.3 \
 dbdsqr.f.3 \
+dbdsvdx.f.3 \
 dcabs1.f.3 \
+dcombssq.f.3 \
 dcopy.f.3 \
 ddisna.f.3 \
 ddot.f.3 \
@@ -473,25 +564,28 @@ dgees.f.3 \
 dgeesx.f.3 \
 dgeev.f.3 \
 dgeevx.f.3 \
-dgegs.f.3 \
-dgegv.f.3 \
 dgehd2.f.3 \
 dgehrd.f.3 \
 dgejsv.f.3 \
+dgelq.f.3 \
 dgelq2.f.3 \
 dgelqf.f.3 \
+dgelqt.f.3 \
+dgelqt3.f.3 \
 dgels.f.3 \
 dgelsd.f.3 \
 dgelss.f.3 \
-dgelsx.f.3 \
 dgelsy.f.3 \
+dgemlq.f.3 \
+dgemlqt.f.3 \
 dgemm.f.3 \
+dgemqr.f.3 \
 dgemqrt.f.3 \
 dgemv.f.3 \
 dgeql2.f.3 \
 dgeqlf.f.3 \
 dgeqp3.f.3 \
-dgeqpf.f.3 \
+dgeqr.f.3 \
 dgeqr2.f.3 \
 dgeqr2p.f.3 \
 dgeqrf.f.3 \
@@ -508,27 +602,35 @@ dgesc2.f.3 \
 dgesdd.f.3 \
 dgesv.f.3 \
 dgesvd.f.3 \
+dgesvdq.f.3 \
+dgesvdx.f.3 \
 dgesvj.f.3 \
 dgesvx.f.3 \
 dgesvxx.f.3 \
 dgetc2.f.3 \
 dgetf2.f.3 \
 dgetrf.f.3 \
+dgetrf2.f.3 \
*** 1332 LINES SKIPPED ***


More information about the dev-commits-ports-main mailing list