Update Scalasca/Score-P/Cube/OTF2 (#4485)

* Update Scalasca/Score-P/OTF2/Cube. Should fix #4349#

* cube: Fix flake8 warnings

* cube, scalasca: Fix version range syntax for deps

* otf2: Fix version URL generation

* cube: Remove static URLs
This commit is contained in:
David Böhme 2017-06-16 09:45:06 -07:00 committed by Adam J. Stewart
parent 60db73a3f5
commit 04c2a1caf4
3 changed files with 31 additions and 30 deletions

View File

@ -25,7 +25,7 @@
from spack import *
class Cube(Package):
class Cube(AutotoolsPackage):
"""Cube the profile viewer for Score-P and Scalasca profiles. It displays a
multi-dimensional performance space consisting of the dimensions:
- performance metric
@ -36,26 +36,31 @@ class Cube(Package):
homepage = "http://www.scalasca.org/software/cube-4.x/download.html"
url = "http://apps.fz-juelich.de/scalasca/releases/cube/4.2/dist/cube-4.2.3.tar.gz"
version('4.3.4', '50f73060f55311cb12c5b3cb354d59fa',
url='http://apps.fz-juelich.de/scalasca/releases/cube/4.3/dist/cube-4.3.4.tar.gz')
version('4.3.3', '07e109248ed8ffc7bdcce614264a2909',
url='http://apps.fz-juelich.de/scalasca/releases/cube/4.3/dist/cube-4.3.3.tar.gz')
version('4.2.3', '8f95b9531f5a8f8134f279c2767c9b20',
url="http://apps.fz-juelich.de/scalasca/releases/cube/4.2/dist/cube-4.2.3.tar.gz")
# Some versions fail with parallel builds/installs
parallel = False
version('4.3.5', 'e5dce986e3c6381ea3a5fcb66c553adc')
version('4.3.4', '50f73060f55311cb12c5b3cb354d59fa')
version('4.3.3', '07e109248ed8ffc7bdcce614264a2909')
version('4.2.3', '8f95b9531f5a8f8134f279c2767c9b20')
variant('gui', default=False, description='Build CUBE GUI')
depends_on('zlib')
depends_on('qt@4.6:', when='+gui')
def install(self, spec, prefix):
configure_args = ["--prefix=%s" % prefix,
"--without-paraver"]
depends_on('qt@5:', when='@4.3.0:4.3.999 +gui')
depends_on('qt@4.8:', when='@4.2.0:4.2.999 +gui')
def url_for_version(self, version):
return 'http://apps.fz-juelich.de/scalasca/releases/cube/{0}/dist/cube-{1}.tar.gz'.format(version.up_to(2), version)
def configure_args(self):
spec = self.spec
configure_args = ['--enable-shared']
# TODO : need to handle cross compiling build
if '+gui' not in spec:
configure_args.append('--without-gui')
configure(*configure_args)
make()
make("install", parallel=False)
return configure_args

View File

@ -43,19 +43,14 @@ class Scalasca(AutotoolsPackage):
version('2.1', 'bab9c2b021e51e2ba187feec442b96e6')
depends_on("mpi")
##########
# Hard-code dependencies for Scalasca according to what stated in the
# release page
# The OTF2 library path should be detected automatically from SCOREP
# SCALASCA 2.2.2
depends_on("scorep@1.4:", when='@2.2.2:')
# Use same cube as scorep does
# -> depends_on("cube@4.3:", when='@2.2.2:')
# SCALASCA 2.1
depends_on("scorep@1.3", when='@2.1')
# Use same cube as scorep does
# -> depends_on("cube@4.2:", when='@2.1')
##########
# version 2.3
depends_on('cube@4.3:', when='@2.3:')
depends_on('otf2@2:', when='@2.3:')
# version 2.1+
depends_on('cube@4.2', when='@2.1:2.2.999')
depends_on('otf2@1.4', when='@2.1:2.2.999')
def url_for_version(self, version):
return 'http://apps.fz-juelich.de/scalasca/releases/scalasca/{0}/dist/scalasca-{1}.tar.gz'.format(version.up_to(2), version)
@ -65,7 +60,7 @@ def configure_args(self):
config_args = ["--enable-shared"]
if 'cube' in spec: # From scorep dependency
config_args.append("--with-cube=%s" % spec['cube'].prefix.bin)
config_args.append("--with-cube=%s" % spec['cube'].prefix.bin)
config_args.append("--with-otf2=%s" % spec['otf2'].prefix.bin)
return config_args

View File

@ -34,6 +34,7 @@ class Scorep(AutotoolsPackage):
homepage = "http://www.vi-hps.org/projects/score-p"
url = "http://www.vi-hps.org/upload/packages/scorep/scorep-2.0.2.tar.gz"
version('3.1', '065bf8eb08398e8146c895718ddb9145')
version('3.0', '44da8beaa3f71436a5f6fe51938aab2f')
version('2.0.2', '8f00e79e1b5b96e511c5ebecd10b2888')
version('1.4.2', '3b9a042b13bdd5836452354e6567f71e')