diff --git a/repos/spack_repo/builtin/packages/_4c_multiphysics/package.py b/repos/spack_repo/builtin/packages/_4c_multiphysics/package.py index ec0d1b66605..2c67b867567 100644 --- a/repos/spack_repo/builtin/packages/_4c_multiphysics/package.py +++ b/repos/spack_repo/builtin/packages/_4c_multiphysics/package.py @@ -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") @@ -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",