summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorTodd Gamblin <tgamblin@llnl.gov>2016-05-11 17:17:47 -0700
committerTodd Gamblin <tgamblin@llnl.gov>2016-05-11 17:17:47 -0700
commit14fe0b8ad2a2a8e21c0e1fe34b4459370a8ca55f (patch)
tree54d79c3737e4e814503274b3f79c195d4ef7fe8a /var
parent2dc49ee88d2990ecac2e9a967b2ab87bed03a6ce (diff)
parentc043275f1b83e54ad00355fdae255aa11a2d03e1 (diff)
downloadspack-14fe0b8ad2a2a8e21c0e1fe34b4459370a8ca55f.tar.gz
spack-14fe0b8ad2a2a8e21c0e1fe34b4459370a8ca55f.tar.bz2
spack-14fe0b8ad2a2a8e21c0e1fe34b4459370a8ca55f.tar.xz
spack-14fe0b8ad2a2a8e21c0e1fe34b4459370a8ca55f.zip
Merge pull request #558 from adamjstewart/features/pgi
Add Licensed Software Support
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/allinea-forge/package.py28
-rw-r--r--var/spack/repos/builtin/packages/allinea-reports/package.py28
-rw-r--r--var/spack/repos/builtin/packages/nag/package.py32
-rw-r--r--var/spack/repos/builtin/packages/pgi/package.py72
4 files changed, 160 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/allinea-forge/package.py b/var/spack/repos/builtin/packages/allinea-forge/package.py
new file mode 100644
index 0000000000..e5bd62dd70
--- /dev/null
+++ b/var/spack/repos/builtin/packages/allinea-forge/package.py
@@ -0,0 +1,28 @@
+from spack import *
+
+
+class AllineaForge(Package):
+ """Allinea Forge is the complete toolsuite for software development - with
+ everything needed to debug, profile, optimize, edit and build C, C++ and
+ Fortran applications on Linux for high performance - from single threads
+ through to complex parallel HPC codes with MPI, OpenMP, threads or CUDA."""
+
+ homepage = "http://www.allinea.com/products/develop-allinea-forge"
+
+ version('6.0.4', 'df7f769975048477a36f208d0cd57d7e')
+
+ # Licensing
+ license_required = True
+ license_comment = '#'
+ license_files = ['licences/Licence']
+ license_vars = ['ALLINEA_LICENCE_FILE', 'ALLINEA_LICENSE_FILE']
+ license_url = 'http://www.allinea.com/user-guide/forge/Installation.html'
+
+ def url_for_version(self, version):
+ # TODO: add support for other architectures/distributions
+ url = "http://content.allinea.com/downloads/"
+ return url + "allinea-forge-%s-Redhat-6.0-x86_64.tar" % version
+
+ def install(self, spec, prefix):
+ textinstall = which('textinstall.sh')
+ textinstall('--accept-licence', prefix)
diff --git a/var/spack/repos/builtin/packages/allinea-reports/package.py b/var/spack/repos/builtin/packages/allinea-reports/package.py
new file mode 100644
index 0000000000..7b11e681f5
--- /dev/null
+++ b/var/spack/repos/builtin/packages/allinea-reports/package.py
@@ -0,0 +1,28 @@
+from spack import *
+
+
+class AllineaReports(Package):
+ """Allinea Performance Reports are the most effective way to characterize
+ and understand the performance of HPC application runs. One single-page
+ HTML report elegantly answers a range of vital questions for any HPC site
+ """
+
+ homepage = "http://www.allinea.com/products/allinea-performance-reports"
+
+ version('6.0.4', '3f13b08a32682737bc05246fbb2fcc77')
+
+ # Licensing
+ license_required = True
+ license_comment = '#'
+ license_files = ['licences/Licence']
+ license_vars = ['ALLINEA_LICENCE_FILE', 'ALLINEA_LICENSE_FILE']
+ license_url = 'http://www.allinea.com/user-guide/reports/Installation.html'
+
+ def url_for_version(self, version):
+ # TODO: add support for other architectures/distributions
+ url = "http://content.allinea.com/downloads/"
+ return url + "allinea-reports-%s-Redhat-6.0-x86_64.tar" % version
+
+ def install(self, spec, prefix):
+ textinstall = which('textinstall.sh')
+ textinstall('--accept-licence', prefix)
diff --git a/var/spack/repos/builtin/packages/nag/package.py b/var/spack/repos/builtin/packages/nag/package.py
new file mode 100644
index 0000000000..af893d3db0
--- /dev/null
+++ b/var/spack/repos/builtin/packages/nag/package.py
@@ -0,0 +1,32 @@
+from spack import *
+import os
+
+
+class Nag(Package):
+ """The NAG Fortran Compiler."""
+ homepage = "http://www.nag.com/nagware/np.asp"
+
+ version('6.1', '1e29d9d435b7ccc2842a320150b28ba4')
+ version('6.0', '3fa1e7f7b51ef8a23e6c687cdcad9f96')
+
+ # Licensing
+ license_required = True
+ license_comment = '!'
+ license_files = ['lib/nag.key']
+ license_vars = ['NAG_KUSARI_FILE']
+ license_url = 'http://www.nag.com/doc/inun/np61/lin-mac/klicence.txt'
+
+ def url_for_version(self, version):
+ # TODO: url and checksum are architecture dependent
+ # TODO: We currently only support x86_64
+ return 'http://www.nag.com/downloads/impl/npl6a%sna_amd64.tgz' % \
+ str(version).replace('.', '')
+
+ def install(self, spec, prefix):
+ # Set installation directories
+ os.environ['INSTALL_TO_BINDIR'] = prefix.bin
+ os.environ['INSTALL_TO_LIBDIR'] = prefix.lib
+ os.environ['INSTALL_TO_MANDIR'] = prefix + '/share/man/man'
+
+ # Run install script
+ os.system('./INSTALLU.sh')
diff --git a/var/spack/repos/builtin/packages/pgi/package.py b/var/spack/repos/builtin/packages/pgi/package.py
new file mode 100644
index 0000000000..8dc6453469
--- /dev/null
+++ b/var/spack/repos/builtin/packages/pgi/package.py
@@ -0,0 +1,72 @@
+from spack import *
+import os
+
+
+class Pgi(Package):
+ """PGI optimizing multi-core x64 compilers for Linux, MacOS & Windows
+ with support for debugging and profiling of local MPI processes.
+
+ Note: The PGI compilers are licensed software. You will need to create
+ an account on the PGI homepage and download PGI yourself. Once the download
+ finishes, rename the file (which may contain information such as the
+ architecture) to the format: pgi-<version>.tar.gz. Spack will search your
+ current directory for a file of this format. Alternatively, add this
+ file to a mirror so that Spack can find it. For instructions on how to
+ set up a mirror, see http://software.llnl.gov/spack/mirrors.html"""
+
+ homepage = "http://www.pgroup.com/"
+ url = "file://%s/pgi-16.3.tar.gz" % os.getcwd()
+
+ version('16.3', '618cb7ddbc57d4e4ed1f21a0ab25f427')
+
+ variant('network', default=True,
+ description="Perform a network install")
+ variant('single', default=False,
+ description="Perform a single system install")
+ variant('nvidia', default=False,
+ description="Enable installation of optional NVIDIA components")
+ variant('amd', default=False,
+ description="Enable installation of optional AMD components")
+ variant('java', default=False,
+ description="Enable installation of Java Runtime Environment")
+ variant('mpi', default=False,
+ description="Enable installation of Open MPI")
+
+ # Licensing
+ license_required = True
+ license_comment = '#'
+ license_files = ['license.dat']
+ license_vars = ['PGROUPD_LICENSE_FILE', 'LM_LICENSE_FILE']
+ license_url = 'http://www.pgroup.com/doc/pgiinstall.pdf'
+
+ def install(self, spec, prefix):
+ # Enable the silent installation feature
+ os.environ['PGI_SILENT'] = "true"
+ os.environ['PGI_ACCEPT_EULA'] = "accept"
+ os.environ['PGI_INSTALL_DIR'] = prefix
+
+ if '+network' in spec and '~single' in spec:
+ os.environ['PGI_INSTALL_TYPE'] = "network"
+ os.environ['PGI_INSTALL_LOCAL_DIR'] = "%s/%s/share_objects" % \
+ (prefix, self.version)
+ elif '+single' in spec and '~network' in spec:
+ os.environ['PGI_INSTALL_TYPE'] = "single"
+ else:
+ msg = 'You must choose either a network install or a single '
+ msg += 'system install.\nYou cannot choose both.'
+ raise RuntimeError(msg)
+
+ if '+nvidia' in spec:
+ os.environ['PGI_INSTALL_NVIDIA'] = "true"
+
+ if '+amd' in spec:
+ os.environ['PGI_INSTALL_AMD'] = "true"
+
+ if '+java' in spec:
+ os.environ['PGI_INSTALL_JAVA'] = "true"
+
+ if '+mpi' in spec:
+ os.environ['PGI_INSTALL_MPI'] = "true"
+
+ # Run install script
+ os.system("./install")