Merge pull request #558 from adamjstewart/features/pgi
Add Licensed Software Support
This commit is contained in:
28
var/spack/repos/builtin/packages/allinea-forge/package.py
Normal file
28
var/spack/repos/builtin/packages/allinea-forge/package.py
Normal file
@@ -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)
|
28
var/spack/repos/builtin/packages/allinea-reports/package.py
Normal file
28
var/spack/repos/builtin/packages/allinea-reports/package.py
Normal file
@@ -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)
|
32
var/spack/repos/builtin/packages/nag/package.py
Normal file
32
var/spack/repos/builtin/packages/nag/package.py
Normal file
@@ -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')
|
72
var/spack/repos/builtin/packages/pgi/package.py
Normal file
72
var/spack/repos/builtin/packages/pgi/package.py
Normal file
@@ -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")
|
Reference in New Issue
Block a user