git: 2c4f8206f0a3 - main - math/scalapack: upgrade to 2.2.0

From: Thierry Thomas <thierry_at_FreeBSD.org>
Date: Wed, 28 Dec 2022 09:41:09 UTC
The branch main has been updated by thierry:

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

commit 2c4f8206f0a3ec08ef468841aa213e9f1c61e67f
Author:     Thierry Thomas <thierry@FreeBSD.org>
AuthorDate: 2022-12-27 17:19:48 +0000
Commit:     Thierry Thomas <thierry@FreeBSD.org>
CommitDate: 2022-12-28 09:38:44 +0000

    math/scalapack: upgrade to 2.2.0
    
    Release notes at <https://netlib.org/scalapack/scalapack-2.2.0.html>.
---
 math/scalapack/Makefile                       | 74 +++++----------------------
 math/scalapack/distinfo                       |  6 +--
 math/scalapack/files/PBtools.h.patch          | 19 -------
 math/scalapack/files/patch-SLmake.inc.example | 35 -------------
 math/scalapack/pkg-plist                      |  2 -
 5 files changed, 17 insertions(+), 119 deletions(-)

diff --git a/math/scalapack/Makefile b/math/scalapack/Makefile
index 7ccfa9e4d1da..ce0c6849d334 100644
--- a/math/scalapack/Makefile
+++ b/math/scalapack/Makefile
@@ -1,5 +1,5 @@
 PORTNAME=	scalapack
-PORTVERSION=	2.1.0
+PORTVERSION=	2.2.0
 DISTVERSIONPREFIX=	v
 CATEGORIES=	math
 
@@ -15,12 +15,10 @@ CONFLICTS=	elmer-mathlibs-1*
 USE_GITHUB=	yes
 GH_ACCOUNT=	Reference-ScaLAPACK
 
-USES=		cmake:insource fortran pathfix
+USES=		cmake fortran pathfix
 
 USE_LDCONFIG=	yes
-CMAKE_ARGS_ST=	-DBUILD_STATIC_LIBS:BOOL=ON
-CMAKE_ARGS_SH=	-DBUILD_SHARED_LIBS:BOOL=ON
-CMAKE_ARGS=	${CMAKE_ARGS_ST}
+CMAKE_ARGS=	-DBUILD_STATIC_LIBS:BOOL=ON
 
 ARCH2FIX=	PBLAS/SRC PBLAS/SRC/PBBLAS PBLAS/SRC/PTOOLS PBLAS/SRC/PTZBLAS \
 		REDIST/SRC SRC TOOLS TOOLS/LAPACK
@@ -28,7 +26,7 @@ ARCH2FIX=	PBLAS/SRC PBLAS/SRC/PBBLAS PBLAS/SRC/PTOOLS PBLAS/SRC/PTZBLAS \
 DATADIR=	${PREFIX}/share/${PORTNAME:tu}
 EXAMPLESDIR=	${PREFIX}/share/examples/${PORTNAME:tu}
 SUB_FILES=	pkg-message
-PLIST_SUB=	SVERSION=${SVERSION} PORTVERSION=${PORTVERSION}
+PLIST_SUB=	SVERSION=${SVERSION} PORTVERSION=2.1.0
 
 OPTIONS_DEFINE=		EXAMPLES
 OPTIONS_RADIO=		LA MPI
@@ -41,36 +39,25 @@ OPTIONS_DEFAULT=	BLAS EXAMPLES MPICH
 ATLAS_USES=	blaslapack:atlas
 BLAS_USES=	blaslapack:openblas
 
-OPENMPI_BUILD_DEPENDS=	openmpi>0:net/openmpi
-OPENMPI_RUN_DEPENDS=	openmpi>0:net/openmpi
-OPENMPI_CMAKE_ON=	-DMPI_BASE_DIR=${LOCALBASE}/mpi/openmpi
-OPENMPI_LDFLAGS=	-L${LOCALBASE}/mpi/openmpi/lib -Wl,-rpath,${LOCALBASE}/mpi/openmpi/lib -lmpi
-
-MPICH_BUILD_DEPENDS=	${LOCALBASE}/bin/mpicc:net/mpich
-MPICH_RUN_DEPENDS=	${LOCALBASE}/bin/mpicc:net/mpich
-MPICH_CMAKE_ON=		-DMPI_BASE_DIR=${LOCALBASE}
+MPICH_USES=	mpi:mpich
+MPICH_CMAKE_ON=	-DMPI_BASE_DIR=${LOCALBASE}
+OPENMPI_USES=	mpi:openmpi
+OPENMPI_CMAKE_ON=-DMPI_BASE_DIR=${LOCALBASE}/mpi/openmpi
 
 .include <bsd.port.pre.mk>
 
 BLAS=		${BLASLIB}
 LAPACK=		${LAPACKLIB}
 
-.if ${PORT_OPTIONS:MOPENMPI}
-MPIF77=	${LOCALBASE}/mpi/openmpi/bin/mpif77
-MPICC=	${LOCALBASE}/mpi/openmpi/bin/mpicc
-.else
-MPIF77=	${LOCALBASE}/bin/mpif77
-MPICC=	${LOCALBASE}/bin/mpicc
-.endif
-
 .if ${ARCH} == "sparc64" || ${ARCH} == "amd64"
 FPIC=	-fPIC
 .else
 FPIC=	-fpic
 .endif
 
-CFLAGS+=	${FPIC}
+CFLAGS+=	${FPIC} ${MPI_CFLAGS}
 FFLAGS+=	${FPIC}
+LDFLAGS+=	${MPI_LIBS}
 SVERSION=	2
 
 .if ${GCC_DEFAULT} >= 10
@@ -78,66 +65,33 @@ SVERSION=	2
 FFLAGS+=	-fallow-argument-mismatch
 .endif
 
-.if defined(WITH_OPTIMIZED_FLAGS)
-.if ${ARCH} == "amd64"
-FFLAGS+=	-pipe -O3 -ffast-math -funroll-all-loops -fpeel-loops -ftracer -funswitch-loops -funit-at-a-time
-CFLAGS+=	-pipe -O3 -ffast-math -funroll-all-loops -fpeel-loops -ftracer -funswitch-loops -funit-at-a-time
-.elif ${ARCH} == "i386"
-FFLAGS+=	-O3 -ffast-math -finline-functions -fomit-frame-pointer -funroll-loops -fexpensive-optimizations -malign-double -mcpu=i686 -march=i686 -mfancy-math-387 -mpreferred-stack-boundary=3
-CFLAGS+=	-O3 -ffast-math -finline-functions -fomit-frame-pointer -funroll-loops -fexpensive-optimizations -malign-double -mcpu=i686 -march=i686 -mfancy-math-387 -mpreferred-stack-boundary=3
-.else
-FFLAGS+=	-O3 -ffast-math -finline-functions -fomit-frame-pointer -funroll-loops -fexpensive-optimizations -Wno-multichar
-CFLAGS+=	-O3 -ffast-math -finline-functions -fomit-frame-pointer -funroll-loops -fexpensive-optimizations -Wno-multichar
-.endif
-.endif
-
-NOOPT=	-O0
-
 # USES=fortran already forces FC to a supported fortran compiler;
 # assume mpicc points to a compatible compiler and force that, too.
 CC=	${MPICC}
 
-pre-configure:
-	${CP} -p ${WRKSRC}/Makefile ${WRKSRC}/Makefile.dist
-	${CP} ${WRKSRC}/SLmake.inc.example ${WRKSRC}/SLmake.inc
-	${REINPLACE_CMD} -e 's|@BLAS@|${BLAS}|g; s|@LAPACK@|${LAPACK}|g;s|@LAPACK@|${LAPACK}|g;s|@LAPACK@|${LAPACK}|g;s|@LAPACK@|${LAPACK}|g; s|@WRKSRC@|${WRKSRC}|g ; s|@LOCALBASE@|${LOCALBASE}|g ; s|@CC@|${CC}|g ; s|@CFLAGS@|${CFLAGS}|g ; s|@F77@|${F77}|g ; s|@MPIF77@|${MPIF77}|g ; s|@MPICC@|${MPICC}|g ; s|@FFLAGS@|${FFLAGS}|g ; s|@NOOPT@|${NOOPT}|g ; s|@F77EXTRAFLAGS@|${F77EXTRAFLAGS}|g ; s|^ARCH *.= ar|ARCMD = ar|' ${WRKSRC}/SLmake.inc
-.for mkf in ${ARCH2FIX}
-	${REINPLACE_CMD} -e 's|\$$(ARCH)|$$(ARCMD)|' ${WRKSRC}/${mkf}/Makefile
-.endfor
-
 post-build:
 	${RM} -r ${WRKSRC}/CMakeFiles ${WRKSRC}/CMakeCache.txt
-	${CP} -p ${WRKSRC}/Makefile.dist ${WRKSRC}/Makefile
 	(cd ${WRKSRC} &&	\
 	${SETENV} ${CONFIGURE_ENV} ${CMAKE_BIN} ${CMAKE_ARGS:C|BUILD_STATIC_LIBS|BUILD_SHARED_LIBS|} ${CMAKE_SOURCE_PATH})
 	(cd ${WRKSRC} && ${DO_MAKE_BUILD} ${ALL_TARGET})
 
 post-install:
-	${INSTALL_DATA} ${WRKSRC}/lib/libscalapack.a ${STAGEDIR}${PREFIX}/lib
-	${MV} ${STAGEDIR}${PREFIX}/lib/libscalapack.so ${STAGEDIR}${PREFIX}/lib/libscalapack.so.${SVERSION}
+	${INSTALL_LIB} ${WRKSRC}/lib/libscalapack.so ${STAGEDIR}${PREFIX}/lib/libscalapack.so.${SVERSION}
 	${LN} -sf libscalapack.so.${SVERSION} ${STAGEDIR}${PREFIX}/lib/libscalapack.so
 	${MKDIR} ${STAGEDIR}${PREFIX}/share/SCALAPACK/TESTING
-	(cd ${WRKSRC}/TESTING/ ;\
+	(cd ${BUILD_WRKSRC}/TESTING/ ;\
 	${INSTALL_PROGRAM} x* ${STAGEDIR}${PREFIX}/share/SCALAPACK/TESTING ;\
 	${INSTALL_DATA} *.dat ${STAGEDIR}${PREFIX}/share/SCALAPACK/TESTING)
 	${INSTALL_DATA} ${FILESDIR}/scalapack.h ${STAGEDIR}${PREFIX}/include
 	${INSTALL_DATA} ${WRKSRC}/PBLAS/SRC/*.h ${STAGEDIR}${PREFIX}/include
-.if ${PORT_OPTIONS:MEXAMPLES}
+
+post-install-EXAMPLES-on:
 	${MKDIR} ${STAGEDIR}${PREFIX}/share/examples/SCALAPACK
 	${INSTALL_DATA} ${FILESDIR}/Makefile    ${STAGEDIR}${PREFIX}/share/examples/SCALAPACK
 	${INSTALL_DATA} ${FILESDIR}/example1.cc ${STAGEDIR}${PREFIX}/share/examples/SCALAPACK
 	${INSTALL_DATA} ${FILESDIR}/example1.f  ${STAGEDIR}${PREFIX}/share/examples/SCALAPACK
-.endif
 
-.if defined(MAINTAINER_MODE)
 do-test:
-. if !exists(${HOME}/.mpd.conf)
-	@${ECHO_CMD} "MPD_SECRETWORD=change_on_install" > ${HOME}/.mpd.conf
-	${CHMOD} go-r ${HOME}/.mpd.conf
-	@${ECHO_MSG} "${HOME}/.mpd.conf has been generated - please change the secret word!"
-. endif
 	(cd ${BUILD_WRKSRC}/TESTING && ${MAKE_CMD} test)
 
-.endif
-
 .include <bsd.port.post.mk>
diff --git a/math/scalapack/distinfo b/math/scalapack/distinfo
index d307c3c69990..1566d33f0e07 100644
--- a/math/scalapack/distinfo
+++ b/math/scalapack/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1592035305
-SHA256 (Reference-ScaLAPACK-scalapack-v2.1.0_GH0.tar.gz) = f03fda720a152030b582a237f8387014da878b84cbd43c568390e9f05d24617f
-SIZE (Reference-ScaLAPACK-scalapack-v2.1.0_GH0.tar.gz) = 4766223
+TIMESTAMP = 1672152375
+SHA256 (Reference-ScaLAPACK-scalapack-v2.2.0_GH0.tar.gz) = 8862fc9673acf5f87a474aaa71cd74ae27e9bbeee475dbd7292cec5b8bcbdcf3
+SIZE (Reference-ScaLAPACK-scalapack-v2.2.0_GH0.tar.gz) = 4769477
diff --git a/math/scalapack/files/PBtools.h.patch b/math/scalapack/files/PBtools.h.patch
deleted file mode 100644
index 59445d1196c9..000000000000
--- a/math/scalapack/files/PBtools.h.patch
+++ /dev/null
@@ -1,19 +0,0 @@
---- PBLAS/SRC/PBtools.h.orig	Wed Feb 16 03:04:17 2000
-+++ PBLAS/SRC/PBtools.h	Sat Jul 13 12:38:19 2002
-@@ -1148,7 +1148,7 @@
-                                  int *,     char *,    char *,
-                                  int *,     char *,    int *,
-                                  char *,    char *,    int * );
--
-+/* comment out to avoid conflict with lapack.h
- F_VOID_FCT     csymv_          ( F_CHAR_T,  int *,     char *,
-                                  char *,    int *,     char *,
-                                  int *,     char *,    char *,
-@@ -1164,6 +1164,7 @@
- F_VOID_FCT     zsyr_           ( F_CHAR_T,  int *,     char *,
-                                  char *,    int *,     char *,
-                                  int * );
-+*/
- 
- F_VOID_FCT     csyr2_          ( F_CHAR_T,  int *,     char *,
-                                  char *,    int *,     char *,
diff --git a/math/scalapack/files/patch-SLmake.inc.example b/math/scalapack/files/patch-SLmake.inc.example
deleted file mode 100644
index 01ed9b7387bf..000000000000
--- a/math/scalapack/files/patch-SLmake.inc.example
+++ /dev/null
@@ -1,35 +0,0 @@
---- SLmake.inc.example.orig	2019-11-26 20:37:04 UTC
-+++ SLmake.inc.example
-@@ -20,17 +20,17 @@
- #     -DUpCase   (fortran subprogram names are upper case without any suffix)
- #     -DAdd_     (fortran subprogram names are lower case with "_" appended)
- 
--CDEFS         = -DAdd_
-+CDEFS         = -DAdd_ -DNO_IEEE $(USEMPI)
- 
- #
- #  The fortran and C compilers, loaders, and their flags
- #
- 
--FC            = mpif90
--CC            = mpicc 
--NOOPT         = -O0
--FCFLAGS       = -O3
--CCFLAGS       = -O3
-+FC            = @MPIF77@
-+CC            = @MPICC@
-+NOOPT         = @NOOPT@
-+FCFLAGS       = @FFLAGS@
-+CCFLAGS       = @CFLAGS@
- FCLOADER      = $(FC)
- CCLOADER      = $(CC)
- FCLOADFLAGS   = $(FCFLAGS)
-@@ -55,6 +55,6 @@ SCALAPACKLIB  = libscalapack.a
- #  BLAS, LAPACK (and possibly other) libraries needed for linking test programs
- #
- 
--BLASLIB       = -lblas
--LAPACKLIB     = -llapack
-+BLASLIB       = -L@LOCALBASE@/lib @BLAS@
-+LAPACKLIB     = -L@LOCALBASE@/lib @LAPACK@
- LIBS          = $(LAPACKLIB) $(BLASLIB)
diff --git a/math/scalapack/pkg-plist b/math/scalapack/pkg-plist
index d22e6ad0187e..6faa8bf92511 100644
--- a/math/scalapack/pkg-plist
+++ b/math/scalapack/pkg-plist
@@ -27,8 +27,6 @@ libdata/pkgconfig/scalapack.pc
 %%DATADIR%%/TESTING/SEPR.dat
 %%DATADIR%%/TESTING/SVD.dat
 %%DATADIR%%/TESTING/TRD.dat
-%%DATADIR%%/TESTING/xCbtest
-%%DATADIR%%/TESTING/xFbtest
 %%DATADIR%%/TESTING/xcbrd
 %%DATADIR%%/TESTING/xcdblu
 %%DATADIR%%/TESTING/xcdtlu