summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--var/spack/repos/builtin/packages/geant4-data/package.py1
-rw-r--r--var/spack/repos/builtin/packages/geant4/package.py22
2 files changed, 21 insertions, 2 deletions
diff --git a/var/spack/repos/builtin/packages/geant4-data/package.py b/var/spack/repos/builtin/packages/geant4-data/package.py
index 01c46c218d..57a60ededd 100644
--- a/var/spack/repos/builtin/packages/geant4-data/package.py
+++ b/var/spack/repos/builtin/packages/geant4-data/package.py
@@ -15,6 +15,7 @@ class Geant4Data(BundlePackage):
maintainers = ['drbenmorgan']
+ version('10.6.2')
version('10.6.1')
version('10.6.0')
version('10.5.1')
diff --git a/var/spack/repos/builtin/packages/geant4/package.py b/var/spack/repos/builtin/packages/geant4/package.py
index 364acbce36..4cfcc4395e 100644
--- a/var/spack/repos/builtin/packages/geant4/package.py
+++ b/var/spack/repos/builtin/packages/geant4/package.py
@@ -17,6 +17,7 @@ class Geant4(CMakePackage):
maintainers = ['drbenmorgan']
+ version('10.6.2', sha256='e381e04c02aeade1ed8cdd9fdbe7dcf5d6f0f9b3837a417976b839318a005dbd')
version('10.6.1', sha256='4fd64149ae26952672a81ce5579d3806fda4bd251d486897093ac57633a42b7e')
version('10.6.0', sha256='eebe6a170546064ff81ab3b00f513ccd1d4122a026514982368d503ac55a4ee4')
version('10.5.1', sha256='2397eb859dc4de095ff66059d8bda9f060fdc42e10469dd7890946293eeb0e39')
@@ -37,10 +38,12 @@ class Geant4(CMakePackage):
variant('x11', default=False, description='Optional X11 support')
variant('motif', default=False, description='Optional motif support')
variant('qt', default=False, description='Enable Qt support')
+ variant('python', default=False, description='Enable Python bindings')
depends_on('cmake@3.5:', type='build')
depends_on('cmake@3.8:', type='build', when='@10.6.0:')
+ depends_on('geant4-data@10.6.2', when='@10.6.2')
depends_on('geant4-data@10.6.1', when='@10.6.1')
depends_on('geant4-data@10.6.0', when='@10.6.0')
depends_on('geant4-data@10.5.1', when='@10.5.1')
@@ -51,6 +54,11 @@ class Geant4(CMakePackage):
depends_on("expat")
depends_on("zlib")
+ # Python, with boost requirement dealt with in cxxstd section
+ depends_on('python@3:', when='+python')
+ conflicts('+python', when='@:10.6.1',
+ msg='Geant4 <= 10.6.1 cannont be built with Python bindings')
+
for std in _cxxstd_values:
# CLHEP version requirements to be reviewed
depends_on('clhep@2.3.3.0: cxxstd=' + std,
@@ -69,7 +77,11 @@ class Geant4(CMakePackage):
depends_on('vecgeom@0.3rc cxxstd=' + std,
when='@10.3.0:10.3.99 +vecgeom cxxstd=' + std)
- # Visualization driver ependencies
+ # Boost.python, conflict handled earlier
+ depends_on('boost@1.70: +python cxxstd=' + std,
+ when='+python cxxstd=' + std)
+
+ # Visualization driver dependencies
depends_on("gl", when='+opengl')
depends_on("glx", when='+opengl+x11')
depends_on("libx11", when='+x11')
@@ -105,7 +117,8 @@ class Geant4(CMakePackage):
options.append(self.define_from_variant('GEANT4_BUILD_MULTITHREADED',
'threads'))
if '+threads' in spec:
- # This should be a variant
+ # Locked at global-dynamic to allow use cases that load the
+ # geant4 libs at application runtime
options.append('-DGEANT4_BUILD_TLS_MODEL=global-dynamic')
# install the data with geant4
@@ -136,4 +149,9 @@ class Geant4(CMakePackage):
'-DQT_QMAKE_EXECUTABLE=%s' %
spec['qt'].prefix.bin.qmake)
+ # Python
+ if spec.version > Version('10.6.1'):
+ options.append(self.define_from_variant('GEANT4_USE_PYTHON',
+ 'python'))
+
return options