From f80c434f0537a5b79cf829499bbfdf522d51a262 Mon Sep 17 00:00:00 2001 From: Md Fuad Hasibul Hasan Date: Mon, 4 May 2026 17:56:13 -0700 Subject: [PATCH 1/5] depend on seacas for exodus instead of trilinos --- repos/spack_repo/builtin/packages/omega_h/package.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/repos/spack_repo/builtin/packages/omega_h/package.py b/repos/spack_repo/builtin/packages/omega_h/package.py index c1b822e7206..11009371f88 100644 --- a/repos/spack_repo/builtin/packages/omega_h/package.py +++ b/repos/spack_repo/builtin/packages/omega_h/package.py @@ -67,7 +67,7 @@ class OmegaH(CMakePackage, CudaPackage): variant("shared", default=True, description="Build shared libraries") variant("mpi", default=True, description="Activates MPI support") variant("zlib", default=True, description="Activates ZLib support") - variant("trilinos", default=True, description="Use Teuchos and Kokkos") + variant("trilinos", default=False, description="Use Teuchos and Kokkos") variant( "exodus", default=False, @@ -90,9 +90,10 @@ class OmegaH(CMakePackage, CudaPackage): depends_on("gmsh@4.4.1:", when="+gmsh") depends_on("mpi", when="+mpi") depends_on("trilinos +kokkos", when="+trilinos") - depends_on("trilinos +exodus", when="+exodus") depends_on("kokkos", when="+kokkos") + depends_on("kokkos@4.3.00:", when="@:11.0.0-scorec+kokkos") depends_on("zlib-api", when="+zlib") + depends_on("seacas@:2024-8-15~x11~tests~fortran", when="+exodus") with when("+cuda"): # https://github.com/SCOREC/omega_h/commit/40a2d36d0b747a7147aeed238a0323f40b227cb2 @@ -113,8 +114,6 @@ class OmegaH(CMakePackage, CudaPackage): # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86610 conflicts("%gcc@8:8.2", when="@:9.22.1") - conflicts("+exodus", when="~trilinos", msg="exodus requires trilinos to be enabled") - def patch(self): if "@:9.34.8" in self.spec: filter_file( From e514d0233adaca41aed867ba517a44460f7a55e9 Mon Sep 17 00:00:00 2001 From: Md Fuad Hasibul Hasan Date: Tue, 5 May 2026 13:31:53 -0700 Subject: [PATCH 2/5] set omega-h version lower limit for kokkos 4.3 condition kokkos 4.3 is needed for Omega_h_FORCE_KOKKOS_SORT: see https://github.com/SCOREC/omega_h/pull/146 This pull request is marked as v10.10.0 --- repos/spack_repo/builtin/packages/omega_h/package.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/repos/spack_repo/builtin/packages/omega_h/package.py b/repos/spack_repo/builtin/packages/omega_h/package.py index 11009371f88..aabc8255cbb 100644 --- a/repos/spack_repo/builtin/packages/omega_h/package.py +++ b/repos/spack_repo/builtin/packages/omega_h/package.py @@ -91,7 +91,7 @@ class OmegaH(CMakePackage, CudaPackage): depends_on("mpi", when="+mpi") depends_on("trilinos +kokkos", when="+trilinos") depends_on("kokkos", when="+kokkos") - depends_on("kokkos@4.3.00:", when="@:11.0.0-scorec+kokkos") + depends_on("kokkos@4.3.00:", when="@10.10.0-scorec:11.0.0-scorec+kokkos") depends_on("zlib-api", when="+zlib") depends_on("seacas@:2024-8-15~x11~tests~fortran", when="+exodus") From b7f9b006d2ad7214b7030833f0ad702dde033ea3 Mon Sep 17 00:00:00 2001 From: Fuad Hasibul Hasan Date: Tue, 5 May 2026 16:55:08 -0400 Subject: [PATCH 3/5] Update trilinos variant description in package.py Trilinos is only used for SEACASExodus which can be bypassed by using seacas directly. For +exodus variant, seacas is used instead of trilinos. --- repos/spack_repo/builtin/packages/omega_h/package.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/repos/spack_repo/builtin/packages/omega_h/package.py b/repos/spack_repo/builtin/packages/omega_h/package.py index aabc8255cbb..82141e46ea5 100644 --- a/repos/spack_repo/builtin/packages/omega_h/package.py +++ b/repos/spack_repo/builtin/packages/omega_h/package.py @@ -67,7 +67,7 @@ class OmegaH(CMakePackage, CudaPackage): variant("shared", default=True, description="Build shared libraries") variant("mpi", default=True, description="Activates MPI support") variant("zlib", default=True, description="Activates ZLib support") - variant("trilinos", default=False, description="Use Teuchos and Kokkos") + variant("trilinos", default=False, description="Use SEACASExodus from trilinos") variant( "exodus", default=False, From 4ecae1c475f3c2f8f693dc8b679852f16fa1e17a Mon Sep 17 00:00:00 2001 From: Md Fuad Hasibul Hasan Date: Wed, 6 May 2026 13:55:36 -0700 Subject: [PATCH 4/5] Add new version 11.1.0-scorec and update dependencies added conflicts with trilinos against kokkos or exodus(seacas) seacas is only used in the latest v11.1.0 --- .../builtin/packages/omega_h/package.py | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/repos/spack_repo/builtin/packages/omega_h/package.py b/repos/spack_repo/builtin/packages/omega_h/package.py index 82141e46ea5..0f0f72b922e 100644 --- a/repos/spack_repo/builtin/packages/omega_h/package.py +++ b/repos/spack_repo/builtin/packages/omega_h/package.py @@ -21,6 +21,11 @@ class OmegaH(CMakePackage, CudaPackage): maintainers("cwsmith") tags = ["e4s"] version("main", branch="main") + version( + "11.1.0-scorec", + commit="9254be597e6460df497724e11b466485c37e94ff", + git="https://github.com/SCOREC/omega_h.git", + ) version( "11.0.0-scorec", commit="fbe1cc131fb1b5ac840129ecd8bd7b42ab244000", @@ -67,7 +72,7 @@ class OmegaH(CMakePackage, CudaPackage): variant("shared", default=True, description="Build shared libraries") variant("mpi", default=True, description="Activates MPI support") variant("zlib", default=True, description="Activates ZLib support") - variant("trilinos", default=False, description="Use SEACASExodus from trilinos") + variant("trilinos", default=False, description="Use Kokkos and SEACASExodus from trilinos") variant( "exodus", default=False, @@ -89,11 +94,15 @@ class OmegaH(CMakePackage, CudaPackage): depends_on("gmsh", when="+examples") depends_on("gmsh@4.4.1:", when="+gmsh") depends_on("mpi", when="+mpi") - depends_on("trilinos +kokkos", when="+trilinos") + depends_on("trilinos +kokkos+exodus", when="+trilinos") + depends_on("trilinos +kokkos+exodus", when="@:11.0.0-scorec+exodus") depends_on("kokkos", when="+kokkos") - depends_on("kokkos@4.3.00:", when="@10.10.0-scorec:11.0.0-scorec+kokkos") + depends_on("kokkos@4.3.00:", when="@10.10.0-scorec:+kokkos") depends_on("zlib-api", when="+zlib") - depends_on("seacas@:2024-8-15~x11~tests~fortran", when="+exodus") + depends_on("seacas~x11~tests~fortran", when="@11.1.0-scorec:+exodus") + + conflicts("+trilinos", when="+kokkos", msg="Use Kokkos directly or via Trilinos, not both") + conflicts("+trilinos", when="@11.1.0-scorec:+exodus", msg="Use SEACASExodus directly or via Trilinos, not both") with when("+cuda"): # https://github.com/SCOREC/omega_h/commit/40a2d36d0b747a7147aeed238a0323f40b227cb2 From 0776e43d7c82588b724a43537abb8740f587da63 Mon Sep 17 00:00:00 2001 From: Md Fuad Hasibul Hasan Date: Wed, 27 May 2026 08:41:14 -0700 Subject: [PATCH 5/5] fix format --- repos/spack_repo/builtin/packages/omega_h/package.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/repos/spack_repo/builtin/packages/omega_h/package.py b/repos/spack_repo/builtin/packages/omega_h/package.py index 0f0f72b922e..0cef014b256 100644 --- a/repos/spack_repo/builtin/packages/omega_h/package.py +++ b/repos/spack_repo/builtin/packages/omega_h/package.py @@ -102,7 +102,11 @@ class OmegaH(CMakePackage, CudaPackage): depends_on("seacas~x11~tests~fortran", when="@11.1.0-scorec:+exodus") conflicts("+trilinos", when="+kokkos", msg="Use Kokkos directly or via Trilinos, not both") - conflicts("+trilinos", when="@11.1.0-scorec:+exodus", msg="Use SEACASExodus directly or via Trilinos, not both") + conflicts( + "+trilinos", + when="@11.1.0-scorec:+exodus", + msg="Use SEACASExodus directly or via Trilinos, not both", + ) with when("+cuda"): # https://github.com/SCOREC/omega_h/commit/40a2d36d0b747a7147aeed238a0323f40b227cb2