summaryrefslogtreecommitdiff
path: root/var/spack/repos/builtin/packages/steps/package.py
diff options
context:
space:
mode:
Diffstat (limited to 'var/spack/repos/builtin/packages/steps/package.py')
-rw-r--r--var/spack/repos/builtin/packages/steps/package.py61
1 files changed, 61 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/steps/package.py b/var/spack/repos/builtin/packages/steps/package.py
new file mode 100644
index 0000000000..0831852f3c
--- /dev/null
+++ b/var/spack/repos/builtin/packages/steps/package.py
@@ -0,0 +1,61 @@
+# Copyright 2013-2018 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 Steps(CMakePackage):
+ """STochastic Engine for Pathway Simulation"""
+
+ homepage = "https://groups.oist.jp/cnu/software"
+ git = "https://github.com/CNS-OIST/STEPS.git"
+
+ version("3.3.0", submodules=True)
+ version("3.2.0", submodules=True)
+ version("develop", branch="master", submodules=True)
+
+ variant("native", default=True, description="Generate non-portable arch-specific code")
+ variant("lapack", default=False, description="Use new BDSystem/Lapack code for E-Field solver")
+ variant("petsc", default=False, description="Use PETSc library for parallel E-Field solver")
+ variant("mpi", default=True, description="Use MPI for parallel solvers")
+
+ depends_on("blas")
+ depends_on("lapack", when="+lapack")
+ depends_on("mpi", when="+mpi")
+ depends_on("petsc~debug+int64", when="+petsc")
+ depends_on("python")
+ depends_on("py-cython")
+
+ def cmake_args(self):
+ args = []
+ spec = self.spec
+
+ if "+native" in spec:
+ args.append("-DTARGET_NATIVE_ARCH:BOOL=True")
+ else:
+ args.append("-DTARGET_NATIVE_ARCH:BOOL=False")
+
+ if "+lapack" in spec:
+ args.append("-DUSE_BDSYSTEM_LAPACK:BOOL=True")
+ else:
+ args.append("-DUSE_BDSYSTEM_LAPACK:BOOL=False")
+
+ if "+petsc" in spec:
+ args.append("-DUSE_PETSC:BOOL=True")
+ else:
+ args.append("-DUSE_PETSC:BOOL=False")
+
+ if "+mpi" in spec:
+ args.append("-DUSE_MPI:BOOL=True")
+ else:
+ args.append("-DUSE_MPI:BOOL=False")
+
+ args.append('-DBLAS_LIBRARIES=' + spec['blas'].libs.joined(";"))
+ return args
+
+ def setup_environment(self, spack_env, run_env):
+ # This recipe exposes a Python package from a C++ CMake project.
+ # This hook is required to reproduce what Spack PythonPackage does.
+ run_env.prepend_path('PYTHONPATH', self.prefix)