Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 18 additions & 2 deletions repos/spack_repo/builtin/packages/_4c_multiphysics/package.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ class _4cMultiphysics(CMakePackage):
license("LGPL-3.0-or-later")

version("main", branch="main")
version("2026.3.0", sha256="d8fa2ca8a3815f8050f6d7f1c428ed65c4e4fea83a7079beffe4d6e11eddfb84")
version("2026.2.0", sha256="57e05128934e06b67d5ae3c2d3402f80d1ddfc3975b1557670e5b1d3399a6c0b")
version("2026.1.0", sha256="9d95607a0b7668c9712392c81863b6327b8922745705b62e07f605f1d6932646")
version("2025.3.0", sha256="31088a9392bf55eb8c1b5a3b8426e8ae2b367327cef01f8f34aff55cb1153180")
Expand Down Expand Up @@ -59,21 +60,36 @@ class _4cMultiphysics(CMakePackage):
variant("mirco", default=False, description="Enable MIRCO support")
variant("backtrace", default=False, description="Enable libbacktrace support")

conflicts("platform=windows", msg="4C Multiphysics is currently not supported on Windows")
conflicts("platform=darwin", when="@2026.1.0", msg="macOS support is limited to the main")
conflicts("platform=darwin", when="@2026.2.0", msg="macOS support is limited to the main")
conflicts("platform=darwin", when="@2026.3.0", msg="macOS support is limited to the main")

patch("identify-release-dealii.patch", when="+dealii")
patch("link-installed-arborx.patch", when="+arborx")

# GCC 14.2.0 hits an internal compiler error (ICE) in
# cxx_eval_indirect_ref (cp/constexpr.cc) while instantiating
# Core::LinAlg::einsum_sym on 4C's tensor templates
# (src/core/linalg/src/dense/4C_linalg_tensor_internals.hpp). Not
# confirmed on other 14.x point releases; narrow this once tested.
conflicts(
"%gcc@14:14",
msg="GCC 14.x hits an internal compiler error compiling 4C's tensor "
"templates; use GCC 13 or GCC 15 instead.",
)

depends_on("c", type="build")
depends_on("cxx", type="build")
depends_on("cmake@3.30:", type="build")
depends_on("ninja", type="build")
requires("platform=linux")

depends_on("mpi")
depends_on("hdf5+mpi+hl")
# Trilinos pulls in Fortran dependencies through MUMPS. A Fortran-capable
# compiler must therefore be registered even though 4C has no Fortran sources.
depends_on(
"trilinos@16.2.1+mpi+amesos+amesos2+belos+epetra+epetraext"
"trilinos@16.2+mpi+amesos+amesos2+belos+epetra+epetraext"
"+ifpack+ifpack2+intrepid2+isorropia+ml+muelu+nox+sacado+shards+stratimikos"
"+teko+thyra+tpetra+zoltan+zoltan2+explicit_template_instantiation"
"+mumps+superlu-dist+suite-sparse+exodus gotype=int",
Expand Down
Loading