summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Olesen <Mark.Olesen@gmx.net>2017-04-05 21:54:40 +0200
committerAdam J. Stewart <ajstewart426@gmail.com>2017-04-05 14:54:40 -0500
commitaa63bc6f34eaa2f1329bb28ce6a312ee6a6313ea (patch)
tree05a9491a648696ab20e67c2a1657888cc6e4cb32
parenta8137648749abbd517106bb98ec6b291c6215499 (diff)
downloadspack-aa63bc6f34eaa2f1329bb28ce6a312ee6a6313ea.tar.gz
spack-aa63bc6f34eaa2f1329bb28ce6a312ee6a6313ea.tar.bz2
spack-aa63bc6f34eaa2f1329bb28ce6a312ee6a6313ea.tar.xz
spack-aa63bc6f34eaa2f1329bb28ce6a312ee6a6313ea.zip
update versions for scalasca and related tools (#3697)
- clean up fetch urls - inherit from AutotoolsPackage instead of Package - explicit fPIC flags look suspicious, but leave them in there. - in scalasca, use the cube version that is implicit from the scorep dependency instead of specifying it twice.
-rw-r--r--var/spack/repos/builtin/packages/opari2/package.py16
-rw-r--r--var/spack/repos/builtin/packages/otf2/package.py29
-rw-r--r--var/spack/repos/builtin/packages/scalasca/package.py37
-rw-r--r--var/spack/repos/builtin/packages/scorep/package.py41
4 files changed, 59 insertions, 64 deletions
diff --git a/var/spack/repos/builtin/packages/opari2/package.py b/var/spack/repos/builtin/packages/opari2/package.py
index 20c67716a4..cbe515ffe9 100644
--- a/var/spack/repos/builtin/packages/opari2/package.py
+++ b/var/spack/repos/builtin/packages/opari2/package.py
@@ -25,7 +25,7 @@
from spack import *
-class Opari2(Package):
+class Opari2(AutotoolsPackage):
"""OPARI2 is a source-to-source instrumentation tool for OpenMP and hybrid
codes. It surrounds OpenMP directives and runtime library calls with calls
to the POMP2 measurement interface. OPARI2 will provide you with a new
@@ -39,14 +39,10 @@ class Opari2(Package):
homepage = "http://www.vi-hps.org/projects/score-p"
url = "http://www.vi-hps.org/upload/packages/opari2/opari2-1.1.2.tar.gz"
- version('2.0', '72350dbdb6139f2e68a5055a4f0ba16c',
- url='http://www.vi-hps.org/upload/packages/opari2/opari2-2.0.tar.gz')
- version('1.1.4', '245d3d11147a06de77909b0805f530c0',
- url='http://www.vi-hps.org/upload/packages/opari2/opari2-1.1.4.tar.gz')
+ version('2.0.1', '74af78f1f27b8caaa4271e0b97fb0fba')
+ version('2.0', '72350dbdb6139f2e68a5055a4f0ba16c')
+ version('1.1.4', '245d3d11147a06de77909b0805f530c0')
version('1.1.2', '9a262c7ca05ff0ab5f7775ae96f3539e')
- def install(self, spec, prefix):
- configure("--prefix=%s" % prefix,
- "--enable-shared")
- make()
- make("install")
+ def configure_args(self):
+ return ["--enable-shared"]
diff --git a/var/spack/repos/builtin/packages/otf2/package.py b/var/spack/repos/builtin/packages/otf2/package.py
index ee39f448eb..3a52d16fa6 100644
--- a/var/spack/repos/builtin/packages/otf2/package.py
+++ b/var/spack/repos/builtin/packages/otf2/package.py
@@ -26,30 +26,19 @@
from spack import *
-class Otf2(Package):
+class Otf2(AutotoolsPackage):
"""The Open Trace Format 2 is a highly scalable, memory efficient event
trace data format plus support library.
"""
- homepage = "http://www.vi-hps.org/score-p"
+ homepage = "http://www.vi-hps.org/projects/score-p"
url = "http://www.vi-hps.org/upload/packages/otf2/otf2-1.4.tar.gz"
- version('2.0', '5b546188b25bc1c4e285e06dddf75dfc',
- url="http://www.vi-hps.org/upload/packages/otf2/otf2-2.0.tar.gz")
- version('1.5.1', '16a9df46e0da78e374f5d12c8cdc1109',
- url='http://www.vi-hps.org/upload/packages/otf2/otf2-1.5.1.tar.gz')
- version('1.4', 'a23c42e936eb9209c4e08b61c3cf5092',
- url="http://www.vi-hps.org/upload/packages/otf2/otf2-1.4.tar.gz")
- version('1.3.1', 'd0ffc4e858455ace4f596f910e68c9f2',
- url="http://www.vi-hps.org/upload/packages/otf2/otf2-1.3.1.tar.gz")
- version('1.2.1', '8fb3e11fb7489896596ae2c7c83d7fc8',
- url="http://www.vi-hps.org/upload/packages/otf2/otf2-1.2.1.tar.gz")
+ version('2.0', '5b546188b25bc1c4e285e06dddf75dfc')
+ version('1.5.1', '16a9df46e0da78e374f5d12c8cdc1109')
+ version('1.4', 'a23c42e936eb9209c4e08b61c3cf5092')
+ version('1.3.1', 'd0ffc4e858455ace4f596f910e68c9f2')
+ version('1.2.1', '8fb3e11fb7489896596ae2c7c83d7fc8')
- def install(self, spec, prefix):
- configure_args = ["--prefix=%s" % prefix,
- "--enable-shared",
- "CFLAGS=-fPIC",
- "CXXFLAGS=-fPIC"]
- configure(*configure_args)
- make()
- make("install")
+ def configure_args(self):
+ return ["--enable-shared", "CFLAGS=-fPIC", "CXXFLAGS=-fPIC"]
diff --git a/var/spack/repos/builtin/packages/scalasca/package.py b/var/spack/repos/builtin/packages/scalasca/package.py
index 228d814aed..a1f53973b7 100644
--- a/var/spack/repos/builtin/packages/scalasca/package.py
+++ b/var/spack/repos/builtin/packages/scalasca/package.py
@@ -26,7 +26,7 @@
from spack import *
-class Scalasca(Package):
+class Scalasca(AutotoolsPackage):
"""Scalasca is a software tool that supports the performance optimization
of parallel programs by measuring and analyzing their runtime
behavior. The analysis identifies potential performance
@@ -38,11 +38,9 @@ class Scalasca(Package):
homepage = "http://www.scalasca.org"
url = "http://apps.fz-juelich.de/scalasca/releases/scalasca/2.1/dist/scalasca-2.1.tar.gz"
- version('2.2.2', '2bafce988b0522d18072f7771e491ab9',
- url='http://apps.fz-juelich.de/scalasca/releases/scalasca/2.2/dist/scalasca-2.2.2.tar.gz')
-
- version('2.1', 'bab9c2b021e51e2ba187feec442b96e6',
- url='http://apps.fz-juelich.de/scalasca/releases/scalasca/2.1/dist/scalasca-2.1.tar.gz')
+ version('2.3.1', 'a83ced912b9d2330004cb6b9cefa7585')
+ version('2.2.2', '2bafce988b0522d18072f7771e491ab9')
+ version('2.1', 'bab9c2b021e51e2ba187feec442b96e6')
depends_on("mpi")
##########
@@ -50,17 +48,24 @@ class Scalasca(Package):
# 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')
- depends_on("cube@4.3:", when='@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')
- depends_on("cube@4.2:", when='@2.1')
+ # Use same cube as scorep does
+ # -> depends_on("cube@4.2:", when='@2.1')
##########
- def install(self, spec, prefix):
- configure_args = ["--prefix=%s" % prefix,
- "--with-cube=%s" % spec['cube'].prefix.bin,
- "--enable-shared"]
- configure(*configure_args)
- make()
- make("install")
+ 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)
+
+ def configure_args(self):
+ spec = self.spec
+
+ config_args = ["--enable-shared"]
+
+ if 'cube' in spec: # From scorep dependency
+ config_args.append("--with-cube=%s" % spec['cube'].prefix.bin)
+
+ return config_args
diff --git a/var/spack/repos/builtin/packages/scorep/package.py b/var/spack/repos/builtin/packages/scorep/package.py
index 1a5a591c3f..d34ad072ee 100644
--- a/var/spack/repos/builtin/packages/scorep/package.py
+++ b/var/spack/repos/builtin/packages/scorep/package.py
@@ -25,7 +25,7 @@
from spack import *
-class Scorep(Package):
+class Scorep(AutotoolsPackage):
"""The Score-P measurement infrastructure is a highly scalable and
easy-to-use tool suite for profiling, event tracing, and online analysis
of HPC applications.
@@ -34,6 +34,7 @@ class Scorep(Package):
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.0', '44da8beaa3f71436a5f6fe51938aab2f')
version('2.0.2', '8f00e79e1b5b96e511c5ebecd10b2888')
version('1.4.2', '3b9a042b13bdd5836452354e6567f71e')
version('1.3', '9db6f957b7f51fa01377a9537867a55c')
@@ -41,6 +42,10 @@ class Scorep(Package):
##########
# Dependencies for SCORE-P are quite tight. See the homepage for more
# information.
+ # SCOREP 3
+ depends_on('otf2@2:', when='@3:')
+ depends_on('opari2@2:', when='@3:')
+ depends_on('cube@4.3:', when='@3:')
# SCOREP 2.0.2
depends_on('otf2@2.0', when='@2.0.2')
depends_on('opari2@2.0', when='@2.0.2')
@@ -60,20 +65,20 @@ class Scorep(Package):
variant('shmem', default=False, description='Enable shmem tracing')
- def install(self, spec, prefix):
- configure = Executable(join_path(self.stage.source_path, 'configure'))
- with working_dir('spack-build', create=True):
- configure_args = [
- "--prefix=%s" % prefix,
- "--with-otf2=%s" % spec['otf2'].prefix.bin,
- "--with-opari2=%s" % spec['opari2'].prefix.bin,
- "--with-cube=%s" % spec['cube'].prefix.bin,
- "--with-papi-header=%s" % spec['papi'].prefix.include,
- "--with-papi-lib=%s" % spec['papi'].prefix.lib,
- "--enable-shared",
- "--without-shmem" if '~shmem' in spec else '',
- "CFLAGS=-fPIC",
- "CXXFLAGS=-fPIC"]
- configure(*configure_args)
- make()
- make("install")
+ def configure_args(self):
+ spec = self.spec
+
+ config_args = [
+ "--with-otf2=%s" % spec['otf2'].prefix.bin,
+ "--with-opari2=%s" % spec['opari2'].prefix.bin,
+ "--with-cube=%s" % spec['cube'].prefix.bin,
+ "--with-papi-header=%s" % spec['papi'].prefix.include,
+ "--with-papi-lib=%s" % spec['papi'].prefix.lib,
+ "--enable-shared",
+ ]
+
+ if '~shmem' in spec:
+ config_args.append("--without-shmem")
+
+ config_args.extend(["CFLAGS=-fPIC", "CXXFLAGS=-fPIC"])
+ return config_args