From eda886f62751d7493e1f0a28e76ef7e290766644 Mon Sep 17 00:00:00 2001 From: vvolkl Date: Mon, 27 Apr 2020 18:00:10 +0200 Subject: [dd4hep] url and other fixes (#16320) --- var/spack/repos/builtin/packages/dd4hep/package.py | 28 ++++++++++++++++++++-- var/spack/repos/builtin/packages/dd4hep/tbb2.patch | 15 ++++++++++++ 2 files changed, 41 insertions(+), 2 deletions(-) create mode 100644 var/spack/repos/builtin/packages/dd4hep/tbb2.patch (limited to 'var') diff --git a/var/spack/repos/builtin/packages/dd4hep/package.py b/var/spack/repos/builtin/packages/dd4hep/package.py index 6fd63f76c6..6624297325 100644 --- a/var/spack/repos/builtin/packages/dd4hep/package.py +++ b/var/spack/repos/builtin/packages/dd4hep/package.py @@ -16,15 +16,23 @@ class Dd4hep(CMakePackage): It distributed under the LGPLv3 License.""" homepage = "https://dd4hep.web.cern.ch/dd4hep/" + url = "https://github.com/AIDASoft/DD4hep/archive/v01-12-01.tar.gz" git = "https://github.com/AIDASoft/DD4hep.git" + maintainers = ['vvolkl', 'drbenmorgan'] + version('master', branch='master') - version('1.11.0', commit='280c7d748d56a704699408ac8e57815d029b169a') - version('1.10.0', commit='9835d1813c07d9d5850d1e68276c0171d1726801') + version('1.12.1', sha256='85e8c775ec03c499ce10911e228342e757c81ce9ef2a9195cb253b85175a2e93') + version('1.12.0', sha256='133a1fb8ce0466d2482f3ebb03e60b3bebb9b2d3e33d14ba15c8fbb91706b398') + version('1.11.2', sha256='96a53dd26cb8df11c6dae54669fbc9cc3c90dd47c67e07b24be9a1341c95abc4') + version('1.11.1', sha256='d7902dd7f6744bbda92f6e303ad5a3410eec4a0d2195cdc86f6c1167e72893f0') + version('1.11.0', sha256='25643296f15f9d11ad4ad550b7c3b92e8974fc56f1ee8e4455501010789ae7b6') + version('1.10.0', sha256='1d6b5d1c368dc8bcedd9c61b7c7e1a44bad427f8bd34932516aff47c88a31d95') # Workarounds for various TBB issues in DD4hep v1.11 # See https://github.com/AIDASoft/DD4hep/pull/613 . patch('tbb-workarounds.patch', when='@1.11.0') + patch('tbb2.patch', when='@1.12.1') variant('xercesc', default=False, description="Enable 'Detector Builders' based on XercesC") variant('geant4', default=False, description="Enable the simulation part based on Geant4") @@ -40,6 +48,9 @@ class Dd4hep(CMakePackage): def cmake_args(self): spec = self.spec cxxstd = spec['root'].variants['cxxstd'].value + # root can be built with cxxstd=11, but dd4hep requires 14 + if cxxstd == "11": + cxxstd = "14" args = [ "-DCMAKE_CXX_STANDARD={0}".format(cxxstd), "-DDD4HEP_USE_XERCESC={0}".format(spec.satisfies('+xercesc')), @@ -50,3 +61,16 @@ class Dd4hep(CMakePackage): "-DPYTHON_EXECUTABLE={0}".format(spec['python'].command.path), ] return args + + def url_for_version(self, version): + # dd4hep releases are dashes and padded with a leading zero + # the patch version is omitted when 0 + # so for example v01-12-01, v01-12 ... + major = (str(version[0]).zfill(2)) + minor = (str(version[1]).zfill(2)) + patch = (str(version[2]).zfill(2)) + if version[2] == 0: + url = "https://github.com/AIDASoft/DD4hep/archive/v%s-%s.tar.gz" % (major, minor) + else: + url = "https://github.com/AIDASoft/DD4hep/archive/v%s-%s-%s.tar.gz" % (major, minor, patch) + return url diff --git a/var/spack/repos/builtin/packages/dd4hep/tbb2.patch b/var/spack/repos/builtin/packages/dd4hep/tbb2.patch new file mode 100644 index 0000000000..7e128f1194 --- /dev/null +++ b/var/spack/repos/builtin/packages/dd4hep/tbb2.patch @@ -0,0 +1,15 @@ +diff --git a/DDDigi/src/DigiKernel.cpp b/DDDigi/src/DigiKernel.cpp +index f2c2e86c..f168ef9b 100644 +--- a/DDDigi/src/DigiKernel.cpp ++++ b/DDDigi/src/DigiKernel.cpp +@@ -273,7 +273,7 @@ void DigiKernel::submit(const DigiAction::Actors& actions, Digi + if ( parallel ) { + tbb::task_group que; + for ( auto* i : actions ) +- que.run(Wrapper(context, *i)); ++ que.run(Wrapper(context, i)); + que.wait(); + goto print_stamp; + } + -- cgit v1.2.3-70-g09d2