summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorkentaw77 <98729608+kentaw77@users.noreply.github.com>2022-03-09 17:25:22 +0900
committerGitHub <noreply@github.com>2022-03-09 09:25:22 +0100
commitc523e2257538b63607ae50c9d29ce4aa27b5bab7 (patch)
tree769930686bf33b328aee0f9f91cb09e4f1f1bca3 /var
parent5064ad6cadce125b714bfbb6855f21c881bee522 (diff)
downloadspack-c523e2257538b63607ae50c9d29ce4aa27b5bab7.tar.gz
spack-c523e2257538b63607ae50c9d29ce4aa27b5bab7.tar.bz2
spack-c523e2257538b63607ae50c9d29ce4aa27b5bab7.tar.xz
spack-c523e2257538b63607ae50c9d29ce4aa27b5bab7.zip
zpares: add new package (#29278)
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/zpares/package.py59
1 files changed, 59 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/zpares/package.py b/var/spack/repos/builtin/packages/zpares/package.py
new file mode 100644
index 0000000000..9abbaf5469
--- /dev/null
+++ b/var/spack/repos/builtin/packages/zpares/package.py
@@ -0,0 +1,59 @@
+# Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class Zpares(MakefilePackage):
+ """z-Pares is designed to compute a few eigenvalues
+ and eigenvectors of sparse matrices."""
+
+ homepage = "https://zpares.cs.tsukuba.ac.jp/"
+ url = "http://zpares.cs.tsukuba.ac.jp/download/zpares_0.9.6a.tar.gz"
+
+ version('0.9.6a', sha256='3c34257d249451b0b984abc985e296ebb73ae5331025f1b8ea08d50301c7cf9a')
+
+ variant('mpi', default=False, description='Activates MPI support')
+ variant('mumps', default=False, description='Activates MUMPS support')
+
+ depends_on('mumps+mpi', when='+mumps+mpi')
+ depends_on('mumps~mpi', when='+mumps~mpi')
+ depends_on('lapack')
+ depends_on('blas')
+ depends_on('mpi', when='+mpi')
+
+ def edit(self, spec, prefix):
+ copy(join_path('Makefile.inc', 'make.inc.gfortran.seq'), 'make.inc')
+
+ @property
+ def build_targets(self):
+ targets = []
+
+ if '+mpi' in self.spec:
+ targets.append('USE_MPI=1')
+ targets.append('FC={0}'.format(self.spec['mpi'].mpifc))
+ else:
+ targets.append('USE_MPI=0')
+ targets.append('FC={0}'.format(self.compiler.fc))
+
+ if '+mumps' in self.spec:
+ targets.append('USE_MUMPS=1')
+ targets.append('FFLAG={0}'.format(self.compiler.openmp_flag))
+ targets.append('LFFLAG={0}'.format(self.compiler.openmp_flag))
+ targets.append('MUMPS_DIR={0}'.format(self.spec['mumps'].prefix))
+ else:
+ targets.append('USE_MUMPS=0')
+
+ targets.append('BLAS={0}'.format(self.spec['blas'].libs.link_flags))
+ targets.append('LAPACK={0}'.format(self.spec['lapack'].libs.link_flags))
+
+ return targets
+
+ def install(self, spec, prefix):
+ mkdirp(prefix.lib)
+ mkdirp(prefix.include)
+
+ install(join_path('lib', '*.a'), prefix.lib)
+ install(join_path('include', '*.mod'), prefix.include)