Nalu: updating Trilinos recipe a bit (#43471)

* Nalu: updating Trilinos recipe a bit

Basic changes to build/install nalu properly using Spack.
Some more changes would be nice for instance adding an
option to build against Trilinos master or develop. Adding
a dependency on googletest to avoid the annoying build
failures in the unit-tests.

* Nalu: adding release 1.6.0

Nalu v1.6.0 can build cleanly against Trilinos 14.0.0 with the
proposed changes. The only other combo is master / master but
than one is "floating" as these branch evolve over time. When a
new Nalu comes out we might want to add another fixed version to
keep this recipes up to date!
This commit is contained in:
Luc Berger 2024-04-08 10:39:51 -06:00 committed by GitHub
parent e8ae9a403c
commit b3cef1072d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -15,9 +15,14 @@ class Nalu(CMakePackage):
"""
homepage = "https://github.com/NaluCFD/Nalu"
url = "https://github.com/NaluCFD/Nalu/archive/refs/tags/v1.6.0.tar.gz"
git = "https://github.com/NaluCFD/Nalu.git"
version("master", branch="master")
version("1.6.0", sha256="2eafafe25ed44a7bc1429881f8f944b9794ca51b1e1b29c28a45b91520c7cf97")
depends_on("trilinos@master", when="@master")
depends_on("trilinos@=14.0.0", when="@1.6.0")
# Options
variant(
@ -31,16 +36,15 @@ class Nalu(CMakePackage):
# Required dependencies
depends_on("mpi")
depends_on("yaml-cpp@0.5.3:", when="+shared")
depends_on("yaml-cpp~shared@0.5.3:", when="~shared")
depends_on("yaml-cpp@0.5.3:0.6.2", when="+shared")
depends_on("yaml-cpp~shared@0.5.3:0.6.2", when="~shared")
# Cannot build Trilinos as a shared library with STK on Darwin
# which is why we have a 'shared' variant for Nalu
# https://github.com/trilinos/Trilinos/issues/2994
depends_on(
"trilinos"
"+mpi+exodus+tpetra+muelu+belos+ifpack2+amesos2+zoltan+stk+boost"
"~superlu-dist+superlu+hdf5+shards~hypre"
"@master"
"+mpi+exodus+tpetra+muelu+belos+ifpack2+amesos2+zoltan+stk+boost+gtest"
"~superlu-dist+superlu+hdf5+shards~hypre gotype=long"
)
depends_on("trilinos~shared", when="~shared")
# Optional dependencies