diff options
author | Mark Olesen <Mark.Olesen@gmx.net> | 2017-04-05 21:54:40 +0200 |
---|---|---|
committer | Adam J. Stewart <ajstewart426@gmail.com> | 2017-04-05 14:54:40 -0500 |
commit | aa63bc6f34eaa2f1329bb28ce6a312ee6a6313ea (patch) | |
tree | 05a9491a648696ab20e67c2a1657888cc6e4cb32 /var | |
parent | a8137648749abbd517106bb98ec6b291c6215499 (diff) | |
download | spack-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.
Diffstat (limited to 'var')
-rw-r--r-- | var/spack/repos/builtin/packages/opari2/package.py | 16 | ||||
-rw-r--r-- | var/spack/repos/builtin/packages/otf2/package.py | 29 | ||||
-rw-r--r-- | var/spack/repos/builtin/packages/scalasca/package.py | 37 | ||||
-rw-r--r-- | var/spack/repos/builtin/packages/scorep/package.py | 41 |
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 |