From a91f96292c5d999463818365a3dfdabacdd3a31b Mon Sep 17 00:00:00 2001 From: "Seth R. Johnson" Date: Thu, 6 Mar 2025 05:32:33 -0500 Subject: [PATCH] vecgeom: add development version of surface branch (#49313) * vecgeom: add development version of surface branch * Use tag on main branch * Get full repo for versioning on master branch --- .../repos/builtin/packages/vecgeom/package.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/var/spack/repos/builtin/packages/vecgeom/package.py b/var/spack/repos/builtin/packages/vecgeom/package.py index fab6046f873..443e59b7f9c 100644 --- a/var/spack/repos/builtin/packages/vecgeom/package.py +++ b/var/spack/repos/builtin/packages/vecgeom/package.py @@ -19,11 +19,17 @@ class Vecgeom(CMakePackage, CudaPackage): maintainers("drbenmorgan", "sethrj") - version("master", branch="master") + version("master", branch="master", get_full_repo=True) + version( + "2.0.0-surfacedev.1", + tag="v2.0.0-surfacedev.1", + commit="1d9797ea47e3b35ab0114e72ce5925ecbd59cbf4", + ) version( "1.2.10", url="https://gitlab.cern.ch/-/project/981/uploads/8e0a94013efdd1b2d4f44c3fbb10bcdf/VecGeom-v1.2.10.tar.gz", sha256="3e0934842694452e4cb4a265428cb99af1ecc45f0e2d28a32dfeaa0634c21e2a", + preferred=True, ) version( "1.2.9", @@ -88,6 +94,7 @@ class Vecgeom(CMakePackage, CudaPackage): variant("geant4", default=False, description="Support Geant4 geometry construction") variant("root", default=False, description="Support ROOT geometry construction") variant("shared", default=True, description="Build shared libraries") + variant("surface", default=False, when="@2:", description="Use surface frame representation") depends_on("veccore") depends_on("veccore@0.8.1:", when="+cuda") @@ -97,6 +104,9 @@ class Vecgeom(CMakePackage, CudaPackage): conflicts("+cuda", when="@:1.1.5") + # NOTE: surface branch doesn't yet compile with volume + conflicts("~surface", when="@=2.0.0-surfacedev.1") + # Fix empty -Xcompiler= with nvcc patch( "https://gitlab.cern.ch/VecGeom/VecGeom/-/commit/0bf9b675ab70eb5cb9409ff73c1152fd1326dbf4.diff", @@ -159,6 +169,8 @@ def cmake_args(self): raise InstallError("Exactly one cuda_arch must be specified") args.append(define("CUDA_ARCH", arch[0])) + args.append(from_variant("VECGEOM_USE_SURF", "surface")) + # Set testing flags build_tests = self.run_tests args.append(define("BUILD_TESTING", build_tests))