From 8dfcd1f2a8c9f11755447eddd98b8a8ab3ebc8a3 Mon Sep 17 00:00:00 2001 From: Yuri Victorovich Date: Fri, 23 Dec 2022 01:03:56 -0800 Subject: [PATCH] math/slepc: Re-add port: Scalable Library for Eigenvalue Problem Computations --- MOVED | 1 - math/Makefile | 1 + math/slepc/Makefile | 40 ++++++++++ math/slepc/distinfo | 3 + math/slepc/files/patch-config_install.py | 11 +++ math/slepc/pkg-descr | 7 ++ math/slepc/pkg-plist | 98 ++++++++++++++++++++++++ 7 files changed, 160 insertions(+), 1 deletion(-) create mode 100644 math/slepc/Makefile create mode 100644 math/slepc/distinfo create mode 100644 math/slepc/files/patch-config_install.py create mode 100644 math/slepc/pkg-descr create mode 100644 math/slepc/pkg-plist diff --git a/MOVED b/MOVED index fb0c67bbc8f9..023a8498196d 100644 --- a/MOVED +++ b/MOVED @@ -15701,7 +15701,6 @@ databases/py-bsddb||2020-12-29|Has expired: Uses deprecated version of python www/py-webhelpers||2020-12-29|Has expired: Uses deprecated version of python security/py-pyptlib||2020-12-29|Has expired: Uses deprecated version of python japanese/py-zinnia||2020-12-29|Has expired: Uses deprecated version of python -math/slepc||2020-12-29|Has expired: Broken, uses deprecated version of python www/py-pastescript||2020-12-29|Has expired: Uses deprecated version of python databases/ldb14||2020-12-29|Has expired: Uses deprecated version of python math/py-slepc4py||2020-12-29|Has expired: Depends on broken and expiring math/slepc diff --git a/math/Makefile b/math/Makefile index d12ef087bdd8..61959da31c75 100644 --- a/math/Makefile +++ b/math/Makefile @@ -1095,6 +1095,7 @@ SUBDIR += sisl SUBDIR += slatec SUBDIR += sleef + SUBDIR += slepc SUBDIR += slgrace SUBDIR += slicot SUBDIR += snns diff --git a/math/slepc/Makefile b/math/slepc/Makefile new file mode 100644 index 000000000000..7e86957a1c77 --- /dev/null +++ b/math/slepc/Makefile @@ -0,0 +1,40 @@ +PORTNAME= slepc +DISTVERSION= 3.18.1 +CATEGORIES= math devel +MASTER_SITES= http://slepc.upv.es/download/distrib/ + +MAINTAINER= yuri@FreeBSD.org +COMMENT= Scalable Library for Eigenvalue Problem Computations +WWW= http://slepc.upv.es/ + +LICENSE= BSD2CLAUSE +LICENSE_FILE= ${WRKSRC}/LICENSE.md + +LIB_DEPENDS= libblas.so:math/blas \ + liblapack.so:math/lapack \ + libmpich.so:net/mpich \ + libpetsc.so:science/PETSc + +USES= gmake fortran python:3.9 shebangfix xorg +USE_XORG= x11 # not really needed, but is inherited from the PETSc setup +USE_LDCONFIG= yes + +SHEBANG_FILES= configure +SHEBANG_GLOB= *.py + +MAKEFILE= makefile +MAKE_ENV= PETSC_DIR=${LOCALBASE} PETSC_ARCH="" SLEPC_DIR=${WRKSRC} PYTHON=${PYTHON_CMD} + +BINARY_ALIAS= python=${PYTHON_CMD} + +OPTIONS_DEFINE= EXAMPLES + +PORTEXAMPLES= * + +do-configure: + @cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ./configure --prefix=${PREFIX} + +post-install: + @${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libslepc.so.${PORTVERSION} + +.include diff --git a/math/slepc/distinfo b/math/slepc/distinfo new file mode 100644 index 000000000000..e080023ec1ae --- /dev/null +++ b/math/slepc/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1671617061 +SHA256 (slepc-3.18.1.tar.gz) = f6e6e16d8399c3f94d187da9d4bfdfca160de50ebda7d63f6fa8ef417597e9b4 +SIZE (slepc-3.18.1.tar.gz) = 6013016 diff --git a/math/slepc/files/patch-config_install.py b/math/slepc/files/patch-config_install.py new file mode 100644 index 000000000000..7163fcf93a41 --- /dev/null +++ b/math/slepc/files/patch-config_install.py @@ -0,0 +1,11 @@ +--- config/install.py.orig 2022-12-21 10:04:56 UTC ++++ config/install.py +@@ -331,7 +331,7 @@ for dir in dirs: + + def installShare(self): + self.copies.extend(self.copytree(self.rootShareDir, self.destShareDir)) +- examplesdir=os.path.join(self.destShareDir,'slepc','examples') ++ examplesdir=os.path.join(self.destShareDir,'examples','slepc') + if os.path.exists(examplesdir): + shutil.rmtree(examplesdir) + os.mkdir(examplesdir) diff --git a/math/slepc/pkg-descr b/math/slepc/pkg-descr new file mode 100644 index 000000000000..6fc23f2d2a93 --- /dev/null +++ b/math/slepc/pkg-descr @@ -0,0 +1,7 @@ +SLEPc is a software library for the solution of large scale sparse eigenvalue +problems on parallel computers. It is an extension of PETSc and can be used for +linear eigenvalue problems in either standard or generalized form, with real or +complex arithmetic. It can also be used for computing a partial SVD of a large, +sparse, rectangular matrix, and to solve nonlinear eigenvalue problems +(polynomial or general). Additionally, SLEPc provides solvers for the +computation of the action of a matrix function on a vector. diff --git a/math/slepc/pkg-plist b/math/slepc/pkg-plist new file mode 100644 index 000000000000..e7be83ab91e9 --- /dev/null +++ b/math/slepc/pkg-plist @@ -0,0 +1,98 @@ +include/slepc.h +include/slepc/finclude/slepc.h +include/slepc/finclude/slepcbv.h +include/slepc/finclude/slepcds.h +include/slepc/finclude/slepceps.h +include/slepc/finclude/slepcfn.h +include/slepc/finclude/slepclme.h +include/slepc/finclude/slepcmfn.h +include/slepc/finclude/slepcnep.h +include/slepc/finclude/slepcpep.h +include/slepc/finclude/slepcrg.h +include/slepc/finclude/slepcst.h +include/slepc/finclude/slepcsvd.h +include/slepc/finclude/slepcsys.h +include/slepc/private/bvimpl.h +include/slepc/private/dsimpl.h +include/slepc/private/epsimpl.h +include/slepc/private/fnimpl.h +include/slepc/private/lmeimpl.h +include/slepc/private/mfnimpl.h +include/slepc/private/nepimpl.h +include/slepc/private/pepimpl.h +include/slepc/private/rgimpl.h +include/slepc/private/slepccontour.h +include/slepc/private/slepcimpl.h +include/slepc/private/slepcscalapack.h +include/slepc/private/stimpl.h +include/slepc/private/svdimpl.h +include/slepc/private/vecimplslepc.h +include/slepcblaslapack.h +include/slepcblaslapack_mangle.h +include/slepcbv.h +include/slepcbv.mod +include/slepcbvdef.mod +include/slepcconf.h +include/slepccublas.h +include/slepcds.h +include/slepcds.mod +include/slepcdsdef.mod +include/slepceps.h +include/slepceps.mod +include/slepcepsdef.mod +include/slepcfn.h +include/slepcfn.mod +include/slepcfndef.mod +include/slepclme.h +include/slepclme.mod +include/slepclmedef.mod +include/slepcmagma.h +include/slepcmat.h +include/slepcmath.h +include/slepcmfn.h +include/slepcmfn.mod +include/slepcmfndef.mod +include/slepcnep.h +include/slepcnep.mod +include/slepcnepdef.mod +include/slepcpep.h +include/slepcpep.mod +include/slepcpepdef.mod +include/slepcrg.h +include/slepcrg.mod +include/slepcrgdef.mod +include/slepcrgtypes.h +include/slepcsc.h +include/slepcst.h +include/slepcst.mod +include/slepcstdef.mod +include/slepcsvd.h +include/slepcsvd.mod +include/slepcsvddef.mod +include/slepcsys.h +include/slepcsys.mod +include/slepcsysdef.mod +include/slepcvec.h +include/slepcversion.h +lib/libslepc.so +lib/libslepc.so.3.18 +lib/libslepc.so.3.18.1 +lib/slepc/conf/memoryerror.log +lib/slepc/conf/modules/slepc/3.18.1 +lib/slepc/conf/slepc_common +lib/slepc/conf/slepc_rules +lib/slepc/conf/slepc_test +lib/slepc/conf/slepc_variables +lib/slepc/conf/slepcrules +lib/slepc/conf/slepcvariables +lib/slepc/conf/uninstall.py +libdata/pkgconfig/slepc.pc +%%DATADIR%%/CMakeLists.txt +%%DATADIR%%/Makefile.user +%%DATADIR%%/datafiles/matrices/bfw62a.petsc +%%DATADIR%%/datafiles/matrices/bfw62b.petsc +%%DATADIR%%/datafiles/matrices/rdb200.petsc +%%DATADIR%%/datafiles/matrices/readme +%%DATADIR%%/datafiles/matrices/speaker107c.petsc +%%DATADIR%%/datafiles/matrices/speaker107k.petsc +%%DATADIR%%/datafiles/matrices/speaker107m.petsc