summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--var/spack/repos/builtin/packages/exago/package.py38
1 files changed, 23 insertions, 15 deletions
diff --git a/var/spack/repos/builtin/packages/exago/package.py b/var/spack/repos/builtin/packages/exago/package.py
index c3a48e23af..88889aeffa 100644
--- a/var/spack/repos/builtin/packages/exago/package.py
+++ b/var/spack/repos/builtin/packages/exago/package.py
@@ -15,9 +15,8 @@ class Exago(CMakePackage, CudaPackage, ROCmPackage):
git = "https://gitlab.pnnl.gov/exasgd/frameworks/exago.git"
maintainers = ["ryandanehy", "CameronRutherford", "pelesh"]
- version(
- "1.4.1", commit="ea607c685444b5f345bfdc9a59c345f0f30adde2", submodules=True, preferred=True
- )
+ version("1.5.0", commit="227f49573a28bdd234be5500b3733be78a958f15", submodules=True)
+ version("1.4.1", commit="ea607c685444b5f345bfdc9a59c345f0f30adde2", submodules=True)
version("1.4.0", commit="4f4c3fdb40b52ace2d6ba000e7f24b340ec8e886", submodules=True)
version("1.3.0", commit="58b039d746a6eac8e84b0afc01354cd58caec485", submodules=True)
version("1.2.0", commit="255a214e", submodules=True)
@@ -27,7 +26,7 @@ class Exago(CMakePackage, CudaPackage, ROCmPackage):
version("1.0.0", commit="230d7df2")
version("0.99.2", commit="56961641")
version("0.99.1", commit="0ae426c7")
- version("master", branch="master", submodules=True)
+ version("main", branch="main", submodules=True)
version("develop", branch="develop", submodules=True)
version("5-18-2022-snapshot", tag="5-18-2022-snapshot", submodules=True)
@@ -44,18 +43,30 @@ class Exago(CMakePackage, CudaPackage, ROCmPackage):
variant("hiop", default=False, description="Enable/Disable HiOp")
variant("ipopt", default=False, description="Enable/Disable IPOPT")
- conflicts("~hiop~ipopt", msg="ExaGO needs at least one solver enabled")
+ conflicts(
+ "~hiop~ipopt @:1.4",
+ msg="ExaGO needs at least one solver enabled. PFLOW only mode is supported in 1.5+",
+ )
+ # We will better support minimal builds with Python in future.
+ # You can use Python with PFLOW if desired ~ipopt~hiop
+ conflicts(
+ "~hiop~ipopt+python", msg="ExaGO Python wrapper requires at least one solver enabled."
+ )
# Dependencies
+ depends_on("py-pytest", type=("build", "run"), when="@1.5.0:+python")
+ depends_on("py-mpi4py", when="@1.3.0:+mpi+python")
depends_on("pkgconfig", type="build")
depends_on("mpi", when="+mpi")
depends_on("blas")
+ depends_on("ipopt~mumps", when="+ipopt")
depends_on("cuda", when="+cuda")
depends_on("raja", when="+raja")
-
- depends_on("raja@0.14.0:", when="@1.1.0: +raja")
depends_on("umpire", when="+raja")
- depends_on("umpire@6.0.0:", when="@1.1.0: +raja")
+
+ depends_on("umpire@6.0.0", when="@1.1.0: +raja")
+ depends_on("raja@0.14.0", when="@1.1.0: +raja")
+ depends_on("camp@0.2.3", when="@1.1.0: +raja")
# Some allocator code in Umpire only works with static libs
depends_on("umpire+cuda~shared", when="+raja+cuda")
@@ -101,15 +112,16 @@ class Exago(CMakePackage, CudaPackage, ROCmPackage):
depends_on("hiop@0.3.99:", when="@0.99:+hiop")
depends_on("hiop@0.5.1:", when="@1.1.0:+hiop")
depends_on("hiop@0.5.3:", when="@1.3.0:+hiop")
+ depends_on("hiop@0.7.0:", when="@1.5.0:+hiop")
depends_on("hiop~mpi", when="+hiop~mpi")
depends_on("hiop+mpi", when="+hiop+mpi")
depends_on("petsc@3.13:3.14", when="@:1.2.99")
- depends_on("petsc@3.16.0:3.16", when="@1.3.0:")
- depends_on("petsc~mpi", when="~mpi")
+ depends_on("petsc@3.16.0:3.16", when="@1.3.0:1.4")
+ depends_on("petsc@3.18.0:3.18", when="@1.5.0:")
- depends_on("py-pytest", type=("build", "run"), when="@1.4.1:+python")
+ depends_on("petsc~mpi", when="~mpi")
for arch in CudaPackage.cuda_arch_values:
cuda_dep = "+cuda cuda_arch={0}".format(arch)
@@ -126,10 +138,6 @@ class Exago(CMakePackage, CudaPackage, ROCmPackage):
depends_on("hiop {0}".format(rocm_dep), when=rocm_dep)
depends_on("raja {0}".format(rocm_dep), when="+raja {0}".format(rocm_dep))
- depends_on("ipopt", when="+ipopt")
-
- depends_on("py-mpi4py", when="@1.3.0:+mpi+python")
-
flag_handler = build_system_flags
def cmake_args(self):