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:
		
				
					committed by
					
						
						Adam J. Stewart
					
				
			
			
				
	
			
			
			
						parent
						
							a813764874
						
					
				
				
					commit
					aa63bc6f34
				
			@@ -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"]
 | 
			
		||||
 
 | 
			
		||||
@@ -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"]
 | 
			
		||||
 
 | 
			
		||||
@@ -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
 | 
			
		||||
 
 | 
			
		||||
@@ -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
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user