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.
This commit is contained in:
Mark Olesen
2017-04-05 21:54:40 +02:00
committed by Adam J. Stewart
parent a813764874
commit aa63bc6f34
4 changed files with 59 additions and 64 deletions

View File

@@ -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