1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-14 03:10:47 +00:00

New port: math/slepc: Scalable Library for Eigenvalue Problem Computations

This commit is contained in:
Yuri Victorovich 2018-06-25 08:36:49 +00:00
parent 5507f18505
commit 93e3b85b95
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=473299
7 changed files with 182 additions and 0 deletions

View File

@ -777,6 +777,7 @@
SUBDIR += sfst
SUBDIR += simd-viterbi
SUBDIR += slatec
SUBDIR += slepc
SUBDIR += slgrace
SUBDIR += snns
SUBDIR += solitaire

44
math/slepc/Makefile Normal file
View File

@ -0,0 +1,44 @@
# $FreeBSD$
PORTNAME= slepc
DISTVERSION= 3.9.1
CATEGORIES= math devel
MASTER_SITES= http://slepc.upv.es/download/distrib/
MAINTAINER= yuri@FreeBSD.org
COMMENT= Scalable Library for Eigenvalue Problem Computations
LICENSE= BSD2CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
LIB_DEPENDS= libblas.so:math/blas \
liblapack.so:math/lapack \
libmpich.so:net/mpich2 \
libpetsc.so:science/PETSc
USES= gmake fortran python shebangfix
SHEBANG_FILES= configure
MAKEFILE= makefile
MAKE_ENV= PETSC_DIR=${LOCALBASE} PETSC_ARCH="" SLEPC_DIR=${WRKSRC} FREEBSD_STAGEDIR=${STAGEDIR} PYTHON=${PYTHON_CMD}
USE_XORG= x11 # not really needed, but is inherited from the PETSc setup
USE_LDCONFIG= yes
OS_VER= ${OPSYS:tl}${OSVERSION:C/(.*)...../\\1/}
BINARY_ALIAS= python=${PYTHON_CMD}
OPTIONS_DEFINE= EXAMPLES
PORTEXAMPLES= *
do-configure:
@cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ./configure
@${REINPLACE_CMD} -e 's|^SLEPC_DESTDIR *=.*|SLEPC_DESTDIR = ${PREFIX}|' \
${WRKSRC}/installed-arch-${OS_VER}-c-debug/lib/slepc/conf/slepcvariables # otherwise it fills a wrong value for some reason
post-install:
@${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libslepc.so.${PORTVERSION}
@${REINPLACE_CMD} -i '' -e 's|#!/usr/bin/env python|#!${PYTHON_CMD}|' \
${STAGEDIR}${PREFIX}/lib/slepc/conf/reconfigure-installed-arch-${OS_VER}-c-debug.py
.include <bsd.port.mk>

3
math/slepc/distinfo Normal file
View File

@ -0,0 +1,3 @@
TIMESTAMP = 1526160243
SHA256 (slepc-3.9.1.tar.gz) = e174ea7c127d9161eef976b0288f0c56d443a58d6ab2dc8af1e8bd66f156ce17
SIZE (slepc-3.9.1.tar.gz) = 4477846

View File

@ -0,0 +1,19 @@
--- config/install.py.orig 2018-06-25 08:07:05 UTC
+++ config/install.py
@@ -295,11 +295,11 @@ for dir in dirs:
def installShare(self):
self.copies.extend(self.copytree(self.rootShareDir, self.destShareDir))
- if os.path.exists(os.path.join(self.destShareDir,'slepc','examples')):
- shutil.rmtree(os.path.join(self.destShareDir,'slepc','examples'))
- os.mkdir(os.path.join(self.destShareDir,'slepc','examples'))
- self.copyExamples(self.rootDir,os.path.join(self.destShareDir,'slepc','examples'))
- self.fixExamplesMakefile(os.path.join(self.destShareDir,'slepc','examples','makefile'))
+ if os.path.exists(os.path.join(self.destShareDir,'examples','slepc')):
+ shutil.rmtree(os.path.join(self.destShareDir,'examples','slepc'))
+ os.mkdir(os.path.join(self.destShareDir,'examples','slepc'))
+ self.copyExamples(self.rootDir,os.path.join(self.destShareDir,'examples','slepc'))
+ self.fixExamplesMakefile(os.path.join(self.destShareDir,'examples','slepc','makefile'))
return
def copyLib(self, src, dst):

View File

@ -0,0 +1,11 @@
--- makefile.orig 2018-05-02 15:18:14 UTC
+++ makefile
@@ -254,7 +254,7 @@ chk_slepc_dir:
# Install relevant files in the prefix directory
#
install:
- -@${PYTHON} ./config/install.py ${SLEPC_DIR} ${PETSC_DIR} ${SLEPC_DESTDIR} ${PETSC_ARCH} ${AR_LIB_SUFFIX} ${RANLIB};
+ -@${PYTHON} ./config/install.py ${SLEPC_DIR} ${PETSC_DIR} ${FREEBSD_STAGEDIR}${SLEPC_DESTDIR} ${PETSC_ARCH} ${AR_LIB_SUFFIX} ${RANLIB};
# ------------------------------------------------------------------
#

9
math/slepc/pkg-descr Normal file
View File

@ -0,0 +1,9 @@
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.
WWW: http://slepc.upv.es/

95
math/slepc/pkg-plist Normal file
View File

@ -0,0 +1,95 @@
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/slepcimpl.h
include/slepc/private/stimpl.h
include/slepc/private/svdimpl.h
include/slepc/private/vecimplslepc.h
include/slepcblaslapack.h
include/slepcblaslapack_mangle.h
include/slepcblaslapack_stdcall.h
include/slepcbv.h
include/slepcbv.mod
include/slepcbvdef.mod
include/slepcconf.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/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.9
lib/libslepc.so.3.9.1
lib/slepc/conf/SLEPcBuildInternal.cmake
lib/slepc/conf/modules/slepc/3.9.1-installed-arch-%%PYTHON_PLATFORM%%-c-debug
lib/slepc/conf/reconfigure-installed-arch-%%PYTHON_PLATFORM%%-c-debug.py
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/slepcvariables.bak
lib/slepc/conf/uninstall.py
libdata/pkgconfig/SLEPc.pc
%%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