Skip to content
Open
Show file tree
Hide file tree
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
18 changes: 18 additions & 0 deletions scripts/spack_packages/packages/camp/package.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
from spack.package import *
from spack_repo.builtin.packages.camp.package import Camp as BuiltinCamp


class Camp(BuiltinCamp):
version(
"2026.05.18",
commit="47a3682c3d5ff43b542ad7e29569eb5e157f918e",
submodules=False,
)

def cmake_args(self):
args = super().cmake_args()
args.append(self.define("BLT_CXX_STD", "c++20"))
args.append(self.define("CMAKE_CXX_STANDARD", 20))
args.append(self.define("CMAKE_CUDA_STANDARD", 20))
args.append(self.define("CMAKE_HIP_STANDARD", 20))
return args
13 changes: 13 additions & 0 deletions scripts/spack_packages/packages/chai/package.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,19 @@
from spack_repo.builtin.packages.chai.package import Chai as BuiltinChai

class Chai(BuiltinChai):
version(
"2026.04.13",
commit="c4de793a61596a6787afb07ed0dd1dfee349f34f",
submodules=False,
)

# Bypass llnl_link_helpers failure
depends_on("fortran")

def cmake_args(self):
args = super().cmake_args()
args.append(self.define("BLT_CXX_STD", "c++20"))
args.append(self.define("CMAKE_CXX_STANDARD", 20))
args.append(self.define("CMAKE_CUDA_STANDARD", 20))
args.append(self.define("CMAKE_HIP_STANDARD", 20))
return args
22 changes: 13 additions & 9 deletions scripts/spack_packages/packages/geosx/package.py
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,8 @@ class Geosx(CMakePackage, CudaPackage, ROCmPackage):
multi=False)
variant('grpc', default=False, description='Enable gRPC.')
variant('pygeosx', default=True, description='Enable pygeosx.')
variant('cxxstd', default='17', description='CXX standard.')
variant('cxxstd', default='20', values=('20',), multi=False,
description='CXX standard.')

# SPHINX_END_VARIANTS

Expand All @@ -93,6 +94,8 @@ class Geosx(CMakePackage, CudaPackage, ROCmPackage):
variant('cuda_stack_size', default="0", description="Defines the adjusted cuda stack \
size limit if required. Zero or negative keep default behavior")

requires('cxxstd=20', msg='GEOS.AI TPL snapshots require C++20.')

# SPHINX_BEGIN_DEPENDS
depends_on("c", type="build")
depends_on("cxx", type="build")
Expand All @@ -112,11 +115,14 @@ class Geosx(CMakePackage, CudaPackage, ROCmPackage):
#
# Performance portability
#
raja_suite_version="2025.12.0"
depends_on(f"raja @{raja_suite_version} ~examples~exercises~shared")
depends_on(f"chai @{raja_suite_version} +raja~examples~shared")
depends_on(f"camp @{raja_suite_version}")
depends_on(f"umpire @{raja_suite_version} +c~examples+fortran~device_alloc~shared")
raja_version = "2026.05.19"
chai_version = "2026.04.13"
camp_version = "2026.05.18"
umpire_version = "2026.03.31"
depends_on(f"chai @{chai_version} +raja~examples~shared")
depends_on(f"raja @{raja_version} ~examples~exercises~shared")
depends_on(f"camp @{camp_version}")
depends_on(f"umpire @{umpire_version} +c~examples+fortran~device_alloc~shared")
with when('+openmp'):
for pkg in ('raja', 'chai', 'umpire'):
depends_on(f"{pkg}+openmp", when="+openmp")
Expand Down Expand Up @@ -152,9 +158,7 @@ class Geosx(CMakePackage, CudaPackage, ROCmPackage):

depends_on('pugixml@1.13 ~shared')

depends_on('fmt@11')
for _fmt_cxxstd in ('14', '17', '20'):
depends_on(f'fmt@11 cxxstd={_fmt_cxxstd}', when=f'cxxstd={_fmt_cxxstd}')
depends_on('fmt@12.1.0 cxxstd=20')
depends_on('vtk@9.4.2', when='+vtk')

#
Expand Down
18 changes: 18 additions & 0 deletions scripts/spack_packages/packages/raja/package.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
from spack.package import *
from spack_repo.builtin.packages.raja.package import Raja as BuiltinRaja


class Raja(BuiltinRaja):
version(
"2026.05.19",
commit="d9a03fd56f7fb81540aeacbf082eb35dbb840b9c",
submodules=False,
)

def cmake_args(self):
args = super().cmake_args()
args.append(self.define("BLT_CXX_STD", "c++20"))
args.append(self.define("CMAKE_CXX_STANDARD", 20))
args.append(self.define("CMAKE_CUDA_STANDARD", 20))
args.append(self.define("CMAKE_HIP_STANDARD", 20))
return args
20 changes: 20 additions & 0 deletions scripts/spack_packages/packages/umpire/package.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
from spack.package import *
from spack_repo.builtin.packages.umpire.package import Umpire as BuiltinUmpire


class Umpire(BuiltinUmpire):
version(
"2026.03.31",
commit="5ff0d696d84f1048faf72085743630fcf33c0928",
submodules=False,
)

depends_on("fmt@12.1.0", when="@2026.03.31")

def cmake_args(self):
args = super().cmake_args()
args.append(self.define("BLT_CXX_STD", "c++20"))
args.append(self.define("CMAKE_CXX_STANDARD", 20))
args.append(self.define("CMAKE_CUDA_STANDARD", 20))
args.append(self.define("CMAKE_HIP_STANDARD", 20))
return args