summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorvvolkl <valentin.volkl@cern.ch>2020-04-27 18:00:10 +0200
committerGitHub <noreply@github.com>2020-04-27 11:00:10 -0500
commiteda886f62751d7493e1f0a28e76ef7e290766644 (patch)
tree75b2e6c09a0b72eb5cbacb91d7f5fcfdf3f811fb /var
parentd59f7398a3cf89a1e55e4e339cf77834aa0dea91 (diff)
downloadspack-eda886f62751d7493e1f0a28e76ef7e290766644.tar.gz
spack-eda886f62751d7493e1f0a28e76ef7e290766644.tar.bz2
spack-eda886f62751d7493e1f0a28e76ef7e290766644.tar.xz
spack-eda886f62751d7493e1f0a28e76ef7e290766644.zip
[dd4hep] url and other fixes (#16320)
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/dd4hep/package.py28
-rw-r--r--var/spack/repos/builtin/packages/dd4hep/tbb2.patch15
2 files changed, 41 insertions, 2 deletions
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<DigiEventAc
+tion>& 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;
+ }
+