diff --git a/spack.yaml b/spack.yaml index 2d6bc52d97a92b106a74b5468785ab9e7389be37..c89c362c76aafd3c431ca3174b2e6fa37147b0ba 100644 --- a/spack.yaml +++ b/spack.yaml @@ -25,7 +25,7 @@ spack: - podio@0.13.1 build_type=RelWithDebInfo - geant4@10.7.1 cxxstd=17 +opengl +vecgeom +x11 +qt +threads ^qt +opengl - dd4hep@1.18 +geant4 +assimp +hepmc3 +ipo +lcio - - acts@13.0.0 +dd4hep +digitization +identification +json +tgeo +ipo +examples +fatras +geant4 + - acts@14.1.0 +dd4hep +digitization +identification +json +tgeo +ipo +examples +fatras +geant4 - genfit@2.00.00 - gaudi@36.0 - dawn@3_91a diff --git a/spack/packages/acts/package.py b/spack/packages/acts/package.py index 2fce9d9b5c5176db1590caa25bb3dc8eb08c6a73..0c10a22f6072b04c76da3514d0a39d63258afc8b 100644 --- a/spack/packages/acts/package.py +++ b/spack/packages/acts/package.py @@ -9,7 +9,6 @@ from spack import * class Acts(CMakePackage, CudaPackage): """ A Common Tracking Software (Acts) - This project contains an experiment-independent set of track reconstruction tools. The main philosophy is to provide high-level track reconstruction modules that can be used for any tracking detector. The description of the @@ -22,7 +21,6 @@ class Acts(CMakePackage, CudaPackage): development process. Apart from algorithmic code, this project also provides an event data model for the description of track parameters and measurements. - Key features of this project include: tracking geometry description which can be constructed from TGeo, DD4Hep, or GDML input, simple and efficient event data model, performant and highly flexible algorithms for track @@ -31,6 +29,7 @@ class Acts(CMakePackage, CudaPackage): homepage = "https://acts.web.cern.ch/ACTS/" git = "https://github.com/acts-project/acts.git" + list_url = "https://github.com/acts-project/acts/releases/" maintainers = ['HadrienG2'] tags = ['hep'] @@ -38,6 +37,8 @@ class Acts(CMakePackage, CudaPackage): # Supported Acts versions version('main', branch='main') version('master', branch='main', deprecated=True) # For compatibility + version('14.1.0', commit='e883ab6acfe5033509ad1c27e8e2ba980dfa59f6', submodules=True) + version('14.0.0', commit='f902bef81b60133994315c13f7d32d60048c79d8', submodules=True) version('13.0.0', commit='ad05672e48b693fd37156f1ad62ed57aa82f858c', submodules=True) version('12.0.1', commit='a80d1ef995d8cdd4190cc09cb249276a3e0161f4', submodules=True) version('12.0.0', commit='e0aa4e7dcb70df025576e050b6e652a2f736454a', submodules=True) @@ -47,9 +48,7 @@ class Acts(CMakePackage, CudaPackage): version('9.01.0', commit='bf8fd4c03dd94f497d8501df510d8f6a48434afd') version('9.00.1', commit='7d59bc508d898d2cb67ba05a7150a978b9fcc32d') version('9.00.0', commit='e6e3092bf3a9411aac7c11a24d7586abddb75d59') - version('8.03.0p1', commit='601c0a18b6738cae81c3e23422cfeb3ec7bddce9') version('8.03.0', commit='601c0a18b6738cae81c3e23422cfeb3ec7bddce9') - version('8.02.0p1', commit='f25cf639915fc2ac65b03882ad3eb11fb037ed00') version('8.02.0', commit='f25cf639915fc2ac65b03882ad3eb11fb037ed00') version('8.01.0', commit='ccc8c77bbc011f3adc020c565a509815be0ea029') version('8.00.0', commit='50c972823144c007b406ae12d7ca25a1e0c35532') @@ -127,11 +126,14 @@ class Acts(CMakePackage, CudaPackage): # FIXME: Cannot build ONNX plugin as Spack doesn't have an ONNX runtime # FIXME: Cannot build SyCL plugin yet as Spack doesn't have SyCL support variant('tgeo', default=False, description='Build the TGeo plugin') + variant('alignment', default=False, description='Build the alignment package') # Variants that only affect Acts examples for now variant('geant4', default=False, description='Build the Geant4-based examples') variant('hepmc3', default=False, description='Build the HepMC3-based examples') variant('pythia8', default=False, description='Build the Pythia8-based examples') + variant('python', default=False, description='Build python bindings for the examples') + variant('analysis', default=False, description='Build analysis applications in the examples') ## Temporary patch for ACTS ## https://github.com/acts-project/acts/issues/1015 @@ -151,12 +153,14 @@ class Acts(CMakePackage, CudaPackage): # Build dependencies # FIXME: Use spack's autodiff package once there is one - depends_on('boost @1.62:1.69.99 +program_options +test', when='@:0.10.3') + # FIXME: Use spack's vecmem package once there is one + # (https://github.com/acts-project/acts/pull/998) + depends_on('boost @1.62:1.69 +program_options +test', when='@:0.10.3') depends_on('boost @1.71: +filesystem +program_options +test', when='@0.10.4:') depends_on('cmake @3.14:', type='build') depends_on('dd4hep @1.11:', when='+dd4hep') depends_on('dd4hep @1.11: +geant4', when='+dd4hep +geant4') - depends_on('eigen @3.3.7:', type='build') + depends_on('eigen @3.3.7:') depends_on('geant4', when='+fatras_geant4') depends_on('geant4', when='+geant4') depends_on('hepmc3 @3.2.1:', when='+hepmc3') @@ -164,6 +168,8 @@ class Acts(CMakePackage, CudaPackage): depends_on('intel-tbb @2020.1:', when='+examples') depends_on('nlohmann-json @3.9.1:', when='@0.14: +json') depends_on('pythia8', when='+pythia8') + depends_on('python', when='+python') + depends_on('py-pytest', when='+python +unit_tests') depends_on('root @6.10: cxxstd=14', when='+tgeo @:0.8.0') depends_on('root @6.20: cxxstd=17', when='+tgeo @0.8.1:') @@ -184,7 +190,10 @@ class Acts(CMakePackage, CudaPackage): conflicts('+hepmc3', when='-examples') conflicts('+pythia8', when='@:0.22') conflicts('+pythia8', when='-examples') + conflicts('+python', when='@:13') + conflicts('+python', when='-examples') conflicts('+tgeo', when='-identification') + conflicts('+alignment', when='@:12') conflicts('%gcc@:7', when='@0.23:') def cmake_args(self): @@ -227,6 +236,8 @@ class Acts(CMakePackage, CudaPackage): example_cmake_variant("GEANT4", "geant4"), example_cmake_variant("HEPMC3", "hepmc3"), example_cmake_variant("PYTHIA8", "pythia8"), + example_cmake_variant("PYTHON_BINDINGS", "python"), + cmake_variant("ANALYSIS_APPS", "analysis"), cmake_variant("FATRAS", "fatras"), cmake_variant("FATRAS_GEANT4", "fatras_geant4"), plugin_cmake_variant("IDENTIFICATION", "identification"), @@ -234,7 +245,8 @@ class Acts(CMakePackage, CudaPackage): plugin_cmake_variant("JSON", "json"), cmake_variant(unit_tests_label, "unit_tests"), cmake_variant(legacy_plugin_label, "legacy"), - plugin_cmake_variant("TGEO", "tgeo") + plugin_cmake_variant("TGEO", "tgeo"), + cmake_variant("ALIGNMENT", "alignment") ] log_failure_threshold = spec.variants['log_failure_threshold'].value