Skip to content
Snippets Groups Projects
Unverified Commit 81e6dcd9 authored by Wouter Deconinck's avatar Wouter Deconinck Committed by GitHub
Browse files

gaudi: add v39.2; CUDA support (#48557)

* gaudi: add v39.2; CUDA support
* gaudi: CUDAPackage -> CudaPackage
parent 518572e7
No related branches found
No related tags found
No related merge requests found
......@@ -7,7 +7,7 @@
from spack.package import *
class Gaudi(CMakePackage):
class Gaudi(CMakePackage, CudaPackage):
"""An experiment-independent HEP event data processing framework"""
homepage = "https://gaudi.web.cern.ch/gaudi/"
......@@ -17,6 +17,7 @@ class Gaudi(CMakePackage):
tags = ["hep"]
version("master", branch="master")
version("39.2", sha256="9697f5092df49187e3d30256c821a4400534e77ddaa2d976ba4bb22745c904d6")
version("39.1", sha256="acdeddcc2383a127b1ad4b0bdaf9f1c6699b64105e0c1d8095c560c96c157885")
version("39.0", sha256="faa3653e2e6c769292c0592e3fc35cd98a2820bd6fc0c967cac565808b927262")
version("38.3", sha256="47e8c65ea446656d2dae54a32205525e08257778cf80f9f029cd244d6650486e")
......@@ -46,6 +47,11 @@ class Gaudi(CMakePackage):
depends_on("cxx", type="build")
conflicts("%gcc@:10", when="@39:", msg="Gaudi needs a c++20 capable compiler for this version")
conflicts("+cuda", when="@:39.1", msg="Gaudi CUDA is only available in version 39.2 and later")
# Require %gcc@13 for <format> header
conflicts("%gcc@:12", when="+cuda @39.2:", msg="GaudiCUDA requires gcc-13.1 or later")
conflicts("%gcc@:12", when="+unwind @39.2:", msg="GaudiProfiling requires gcc-13.1 or later")
maintainers("drbenmorgan", "vvolkl", "jmcarcell")
......@@ -143,6 +149,10 @@ def patch(self):
# accidentally in a higher directory than the stage directory
touch("pytest.ini")
# ensure <fmt/format.h> is included instead of <format> for 39.2
if self.spec.satisfies("@39.2"):
filter_file("<format>", "<fmt/format.h>", "GaudiSvc/src/THistSvc/THistSvc.cpp")
def cmake_args(self):
args = [
# Note: gaudi only builds examples when testing enabled
......@@ -150,6 +160,7 @@ def cmake_args(self):
self.define_from_variant("GAUDI_BUILD_EXAMPLES", "examples"),
self.define_from_variant("GAUDI_USE_AIDA", "aida"),
self.define_from_variant("GAUDI_USE_CPPUNIT", "cppunit"),
self.define_from_variant("GAUDI_USE_CUDA", "cuda"),
self.define_from_variant("GAUDI_ENABLE_GAUDIALG", "gaudialg"),
self.define_from_variant("GAUDI_USE_GPERFTOOLS", "gperftools"),
self.define_from_variant("GAUDI_USE_HEPPDT", "heppdt"),
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment