From 2c4f8206f0a3ec08ef468841aa213e9f1c61e67f Mon Sep 17 00:00:00 2001 From: Thierry Thomas Date: Tue, 27 Dec 2022 18:19:48 +0100 Subject: [PATCH] math/scalapack: upgrade to 2.2.0 Release notes at . --- 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(-) delete mode 100644 math/scalapack/files/PBtools.h.patch delete mode 100644 math/scalapack/files/patch-SLmake.inc.example 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 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 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