From c523e2257538b63607ae50c9d29ce4aa27b5bab7 Mon Sep 17 00:00:00 2001 From: kentaw77 <98729608+kentaw77@users.noreply.github.com> Date: Wed, 9 Mar 2022 17:25:22 +0900 Subject: zpares: add new package (#29278) --- var/spack/repos/builtin/packages/zpares/package.py | 59 ++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 var/spack/repos/builtin/packages/zpares/package.py (limited to 'var') 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) -- cgit v1.2.3-60-g2f50