Merge branch 'develop' into features/shared
This commit is contained in:
@@ -80,6 +80,14 @@ config:
|
||||
verify_ssl: true
|
||||
|
||||
|
||||
# Suppress gpg warnings from binary package verification
|
||||
# Only suppresses warnings, gpg failure will still fail the install
|
||||
# Potential rationale to set True: users have already explicitly trusted the
|
||||
# gpg key they are using, and may not want to see repeated warnings that it
|
||||
# is self-signed or something of the sort.
|
||||
suppress_gpg_warnings: false
|
||||
|
||||
|
||||
# If set to true, Spack will attempt to build any compiler on the spec
|
||||
# that is not already available. If set to False, Spack will only use
|
||||
# compilers already configured in compilers.yaml
|
||||
|
||||
@@ -176,7 +176,25 @@ def setup(sphinx):
|
||||
#show_authors = False
|
||||
|
||||
# The name of the Pygments (syntax highlighting) style to use.
|
||||
pygments_style = 'sphinx'
|
||||
# We use our own extension of the default style with a few modifications
|
||||
from pygments.style import Style
|
||||
from pygments.styles.default import DefaultStyle
|
||||
from pygments.token import Generic, Comment, Text
|
||||
|
||||
class SpackStyle(DefaultStyle):
|
||||
styles = DefaultStyle.styles.copy()
|
||||
background_color = "#f4f4f8"
|
||||
styles[Generic.Output] = "#355"
|
||||
styles[Generic.Prompt] = "bold #346ec9"
|
||||
|
||||
import pkg_resources
|
||||
dist = pkg_resources.Distribution(__file__)
|
||||
sys.path.append('.') # make 'conf' module findable
|
||||
ep = pkg_resources.EntryPoint.parse('spack = conf:SpackStyle', dist=dist)
|
||||
dist._ep_map = {'pygments.styles': {'plugin1': ep}}
|
||||
pkg_resources.working_set.add(dist)
|
||||
|
||||
pygments_style = 'spack'
|
||||
|
||||
# A list of ignored prefixes for module index sorting.
|
||||
#modindex_common_prefix = []
|
||||
|
||||
@@ -136,6 +136,10 @@ generates a boilerplate template for your package, and opens up the new
|
||||
homepage = "http://www.example.com"
|
||||
url = "https://gmplib.org/download/gmp/gmp-6.1.2.tar.bz2"
|
||||
|
||||
# FIXME: Add a list of GitHub accounts to
|
||||
# notify when the package is updated.
|
||||
# maintainers = ['github_user1', 'github_user2']
|
||||
|
||||
version('6.1.2', '8ddbb26dc3bd4e2302984debba1406a5')
|
||||
version('6.1.1', '4c175f86e11eb32d8bf9872ca3a8e11d')
|
||||
version('6.1.0', '86ee6e54ebfc4a90b643a65e402c4048')
|
||||
@@ -184,6 +188,17 @@ The rest of the tasks you need to do are as follows:
|
||||
The ``homepage`` is displayed when users run ``spack info`` so
|
||||
that they can learn more about your package.
|
||||
|
||||
#. Add a comma-separated list of maintainers.
|
||||
|
||||
The ``maintainers`` field is a list of GitHub accounts of people
|
||||
who want to be notified any time the package is modified. When a
|
||||
pull request is submitted that updates the package, these people
|
||||
will be requested to review the PR. This is useful for developers
|
||||
who maintain a Spack package for their own software, as well as
|
||||
users who rely on a piece of software and want to ensure that the
|
||||
package doesn't break. It also gives users a list of people to
|
||||
contact for help when someone reports a build error with the package.
|
||||
|
||||
#. Add ``depends_on()`` calls for the package's dependencies.
|
||||
|
||||
``depends_on`` tells Spack that other packages need to be built
|
||||
@@ -1464,8 +1479,8 @@ that the same package with different patches applied will have different
|
||||
hash identifiers. To ensure that the hashing scheme is consistent, you
|
||||
must use a ``sha256`` checksum for the patch. Patches will be fetched
|
||||
from their URLs, checked, and applied to your source code. You can use
|
||||
the ``spack sha256`` command to generate a checksum for a patch file or
|
||||
URL.
|
||||
the GNU utils ``sha256sum`` or the macOS ``shasum -a 256`` commands to
|
||||
generate a checksum for a patch file.
|
||||
|
||||
Spack can also handle compressed patches. If you use these, Spack needs
|
||||
a little more help. Specifically, it needs *two* checksums: the
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
from llnl.util.filesystem import mkdirp, install_tree
|
||||
|
||||
import spack.cmd
|
||||
import spack.config as config
|
||||
import spack.fetch_strategy as fs
|
||||
import spack.util.gpg as gpg_util
|
||||
import spack.relocate as relocate
|
||||
@@ -536,7 +537,22 @@ def relocate_package(workdir, spec, allow_root):
|
||||
newprefix=new_prefix)
|
||||
# If the binary files in the package were not edited to use
|
||||
# relative RPATHs, then the RPATHs need to be relocated
|
||||
if not rel:
|
||||
if rel:
|
||||
if old_path != new_path:
|
||||
files_to_relocate = list(filter(
|
||||
lambda pathname: not relocate.file_is_relocatable(
|
||||
pathname, paths_to_relocate=[old_path, old_prefix]),
|
||||
map(lambda filename: os.path.join(workdir, filename),
|
||||
buildinfo['relocate_binaries'])))
|
||||
|
||||
if len(old_path) < len(new_path) and files_to_relocate:
|
||||
tty.debug('Cannot do a binary string replacement with padding '
|
||||
'for package because %s is longer than %s.' %
|
||||
(new_path, old_path))
|
||||
else:
|
||||
for path_name in files_to_relocate:
|
||||
relocate.replace_prefix_bin(path_name, old_path, new_path)
|
||||
else:
|
||||
path_names = set()
|
||||
for filename in buildinfo['relocate_binaries']:
|
||||
path_name = os.path.join(workdir, filename)
|
||||
@@ -579,7 +595,8 @@ def extract_tarball(spec, filename, allow_root=False, unsigned=False,
|
||||
if not unsigned:
|
||||
if os.path.exists('%s.asc' % specfile_path):
|
||||
try:
|
||||
Gpg.verify('%s.asc' % specfile_path, specfile_path)
|
||||
suppress = config.get('config:suppress_gpg_warnings', False)
|
||||
Gpg.verify('%s.asc' % specfile_path, specfile_path, suppress)
|
||||
except Exception as e:
|
||||
shutil.rmtree(tmpdir)
|
||||
tty.die(e)
|
||||
|
||||
@@ -60,6 +60,10 @@ class {class_name}({base_class_name}):
|
||||
homepage = "https://www.example.com"
|
||||
{url_def}
|
||||
|
||||
# FIXME: Add a list of GitHub accounts to
|
||||
# notify when the package is updated.
|
||||
# maintainers = ['github_user1', 'github_user2']
|
||||
|
||||
{versions}
|
||||
|
||||
{dependencies}
|
||||
|
||||
@@ -1117,7 +1117,7 @@ def add_default_view_to_shell(self, shell):
|
||||
self.default_view))
|
||||
|
||||
for _, spec in self.concretized_specs():
|
||||
if spec in self.default_view:
|
||||
if spec in self.default_view and spec.package.installed:
|
||||
env_mod.extend(self.environment_modifications_for_spec(
|
||||
spec, self.default_view))
|
||||
|
||||
@@ -1138,7 +1138,7 @@ def rm_default_view_from_shell(self, shell):
|
||||
self.default_view).reversed())
|
||||
|
||||
for _, spec in self.concretized_specs():
|
||||
if spec in self.default_view:
|
||||
if spec in self.default_view and spec.package.installed:
|
||||
env_mod.extend(
|
||||
self.environment_modifications_for_spec(
|
||||
spec, self.default_view).reversed())
|
||||
|
||||
@@ -502,11 +502,11 @@ def make_link_relative(cur_path_names, orig_path_names):
|
||||
Change absolute links to be relative.
|
||||
"""
|
||||
for cur_path, orig_path in zip(cur_path_names, orig_path_names):
|
||||
old_src = os.readlink(orig_path)
|
||||
new_src = os.path.relpath(old_src, orig_path)
|
||||
target = os.readlink(orig_path)
|
||||
relative_target = os.path.relpath(target, os.path.dirname(orig_path))
|
||||
|
||||
os.unlink(cur_path)
|
||||
os.symlink(new_src, cur_path)
|
||||
os.symlink(relative_target, cur_path)
|
||||
|
||||
|
||||
def make_macho_binaries_relative(cur_path_names, orig_path_names, old_dir,
|
||||
@@ -651,7 +651,7 @@ def is_relocatable(spec):
|
||||
return True
|
||||
|
||||
|
||||
def file_is_relocatable(file):
|
||||
def file_is_relocatable(file, paths_to_relocate=None):
|
||||
"""Returns True if the file passed as argument is relocatable.
|
||||
|
||||
Args:
|
||||
@@ -664,6 +664,8 @@ def file_is_relocatable(file):
|
||||
|
||||
ValueError: if the file does not exist or the path is not absolute
|
||||
"""
|
||||
default_paths_to_relocate = [spack.store.layout.root, spack.paths.prefix]
|
||||
paths_to_relocate = paths_to_relocate or default_paths_to_relocate
|
||||
|
||||
if not (platform.system().lower() == 'darwin'
|
||||
or platform.system().lower() == 'linux'):
|
||||
@@ -704,19 +706,13 @@ def file_is_relocatable(file):
|
||||
if idpath is not None:
|
||||
set_of_strings.discard(idpath)
|
||||
|
||||
if any(spack.store.layout.root in x for x in set_of_strings):
|
||||
# One binary has the root folder not in the RPATH,
|
||||
# meaning that this spec is not relocatable
|
||||
msg = 'Found "{0}" in {1} strings'
|
||||
tty.debug(msg.format(spack.store.layout.root, file))
|
||||
return False
|
||||
|
||||
if any(spack.paths.prefix in x for x in set_of_strings):
|
||||
# One binary has the root folder not in the RPATH,
|
||||
# meaning that this spec is not relocatable
|
||||
msg = 'Found "{0}" in {1} strings'
|
||||
tty.debug(msg.format(spack.paths.prefix, file))
|
||||
return False
|
||||
for path_to_relocate in paths_to_relocate:
|
||||
if any(path_to_relocate in x for x in set_of_strings):
|
||||
# One binary has the root folder not in the RPATH,
|
||||
# meaning that this spec is not relocatable
|
||||
msg = 'Found "{0}" in {1} strings'
|
||||
tty.debug(msg.format(path_to_relocate, file))
|
||||
return False
|
||||
|
||||
return True
|
||||
|
||||
|
||||
@@ -56,6 +56,7 @@
|
||||
'source_cache': {'type': 'string'},
|
||||
'misc_cache': {'type': 'string'},
|
||||
'verify_ssl': {'type': 'boolean'},
|
||||
'suppress_gpg_warnings': {'type': 'boolean'},
|
||||
'install_missing_compilers': {'type': 'boolean'},
|
||||
'debug': {'type': 'boolean'},
|
||||
'checksum': {'type': 'boolean'},
|
||||
|
||||
@@ -100,8 +100,11 @@ def sign(cls, key, file, output, clearsign=False):
|
||||
cls.gpg()(*args)
|
||||
|
||||
@classmethod
|
||||
def verify(cls, signature, file):
|
||||
cls.gpg()('--verify', signature, file)
|
||||
def verify(cls, signature, file, suppress_warnings=False):
|
||||
if suppress_warnings:
|
||||
cls.gpg()('--verify', signature, file, error=str)
|
||||
else:
|
||||
cls.gpg()('--verify', signature, file)
|
||||
|
||||
@classmethod
|
||||
def list(cls, trusted, signing):
|
||||
|
||||
@@ -28,24 +28,26 @@ def compute_hash(path):
|
||||
|
||||
def create_manifest_entry(path):
|
||||
data = {}
|
||||
stat = os.stat(path)
|
||||
|
||||
data['mode'] = stat.st_mode
|
||||
data['owner'] = stat.st_uid
|
||||
data['group'] = stat.st_gid
|
||||
if os.path.exists(path):
|
||||
stat = os.stat(path)
|
||||
|
||||
if os.path.islink(path):
|
||||
data['type'] = 'link'
|
||||
data['dest'] = os.readlink(path)
|
||||
data['mode'] = stat.st_mode
|
||||
data['owner'] = stat.st_uid
|
||||
data['group'] = stat.st_gid
|
||||
|
||||
elif os.path.isdir(path):
|
||||
data['type'] = 'dir'
|
||||
if os.path.islink(path):
|
||||
data['type'] = 'link'
|
||||
data['dest'] = os.readlink(path)
|
||||
|
||||
else:
|
||||
data['type'] = 'file'
|
||||
data['hash'] = compute_hash(path)
|
||||
data['time'] = stat.st_mtime
|
||||
data['size'] = stat.st_size
|
||||
elif os.path.isdir(path):
|
||||
data['type'] = 'dir'
|
||||
|
||||
else:
|
||||
data['type'] = 'file'
|
||||
data['hash'] = compute_hash(path)
|
||||
data['time'] = stat.st_mtime
|
||||
data['size'] = stat.st_size
|
||||
|
||||
return data
|
||||
|
||||
|
||||
@@ -16,6 +16,7 @@ class Alquimia(CMakePackage):
|
||||
maintainers = ['smolins', 'balay']
|
||||
|
||||
version('develop')
|
||||
version('xsdk-0.5.0', commit='8397c3b00a09534c5473ff3ab21f0e32bb159380')
|
||||
version('xsdk-0.4.0', commit='2edad6733106142d014bb6e6a73c2b21d5e3cf2d')
|
||||
version('xsdk-0.3.0', tag='xsdk-0.3.0')
|
||||
version('xsdk-0.2.0', tag='xsdk-0.2.0')
|
||||
@@ -25,6 +26,7 @@ class Alquimia(CMakePackage):
|
||||
|
||||
depends_on('mpi')
|
||||
depends_on('hdf5')
|
||||
depends_on('pflotran@xsdk-0.5.0', when='@xsdk-0.5.0')
|
||||
depends_on('pflotran@xsdk-0.4.0', when='@xsdk-0.4.0')
|
||||
depends_on('pflotran@xsdk-0.3.0', when='@xsdk-0.3.0')
|
||||
depends_on('pflotran@xsdk-0.2.0', when='@xsdk-0.2.0')
|
||||
|
||||
@@ -146,23 +146,23 @@ class Athena(AutotoolsPackage):
|
||||
|
||||
patch('missing-separator.patch')
|
||||
|
||||
def setup_environment(self, spack_env, run_env):
|
||||
def setup_build_environment(self, env):
|
||||
spec = self.spec
|
||||
|
||||
spack_env.set('OPT', '-O3')
|
||||
env.set('OPT', '-O3')
|
||||
|
||||
if '+mpi' in spec:
|
||||
spack_env.set('CC', spec['mpi'].mpicc)
|
||||
spack_env.set('LDR', spec['mpi'].mpicc)
|
||||
spack_env.set('MPILIB', spec['mpi'].libs.ld_flags)
|
||||
spack_env.set('MPIINC', spec['mpi'].headers.include_flags)
|
||||
env.set('CC', spec['mpi'].mpicc)
|
||||
env.set('LDR', spec['mpi'].mpicc)
|
||||
env.set('MPILIB', spec['mpi'].libs.ld_flags)
|
||||
env.set('MPIINC', spec['mpi'].headers.include_flags)
|
||||
else:
|
||||
spack_env.set('CC', spack_cc)
|
||||
spack_env.set('LDR', spack_cc)
|
||||
env.set('CC', spack_cc)
|
||||
env.set('LDR', spack_cc)
|
||||
|
||||
if '+fft' in spec:
|
||||
spack_env.set('FFTWLIB', spec['fftw'].libs.ld_flags)
|
||||
spack_env.set('FFTWINC', spec['fftw'].headers.include_flags)
|
||||
env.set('FFTWLIB', spec['fftw'].libs.ld_flags)
|
||||
env.set('FFTWINC', spec['fftw'].headers.include_flags)
|
||||
|
||||
def configure_args(self):
|
||||
spec = self.spec
|
||||
|
||||
@@ -31,6 +31,9 @@ class Bison(AutotoolsPackage):
|
||||
|
||||
patch('pgi.patch', when='@3.0.4')
|
||||
|
||||
conflicts('%intel@:14', when='@3.4.2:',
|
||||
msg="Intel 14 has immature C11 support")
|
||||
|
||||
if sys.platform == 'darwin' and macos_version() >= Version('10.13'):
|
||||
patch('secure_snprintf.patch', level=0, when='@3.0.4')
|
||||
|
||||
|
||||
@@ -22,13 +22,14 @@ class Butterflypack(CMakePackage):
|
||||
|
||||
homepage = "https://github.com/liuyangzhuan/ButterflyPACK"
|
||||
git = "https://github.com/liuyangzhuan/ButterflyPACK.git"
|
||||
url = "https://github.com/liuyangzhuan/ButterflyPACK/archive/v1.0.3.tar.gz"
|
||||
url = "https://github.com/liuyangzhuan/ButterflyPACK/archive/v1.1.0.tar.gz"
|
||||
maintainers = ['liuyangzhuan']
|
||||
|
||||
version('master', branch='master')
|
||||
version('1.0.0', sha256='86c5eb09a18522367d63ce2bacf67ca1c9813ef351a1443baaab3c53f0d77232')
|
||||
version('1.0.1', sha256='e8ada37466a19f49e13456b150700d4c3afaad2ddbe3678f4e933f9d556a24a5')
|
||||
version('1.1.0', sha256='0e6fd0f9e27b3ee8a273dc52f4d24b8737e7279dc26d461ef5658b317215f1dc')
|
||||
version('1.0.3', sha256='acf9bc98dd7fea31ab73756b68b3333228b53ab0e85400a8250fcc749a1a6656')
|
||||
version('1.0.1', sha256='e8ada37466a19f49e13456b150700d4c3afaad2ddbe3678f4e933f9d556a24a5')
|
||||
version('1.0.0', sha256='86c5eb09a18522367d63ce2bacf67ca1c9813ef351a1443baaab3c53f0d77232')
|
||||
|
||||
variant('shared', default=True, description='Build shared libraries')
|
||||
|
||||
|
||||
@@ -10,16 +10,17 @@
|
||||
|
||||
class Caliper(CMakePackage):
|
||||
"""Caliper is a program instrumentation and performance measurement
|
||||
framework. It provides data collection mechanisms and a source-code
|
||||
annotation API for a variety of performance engineering use cases,
|
||||
e.g., performance profiling, tracing, monitoring, and
|
||||
auto-tuning.
|
||||
framework. It is designed as a performance analysis toolbox in a
|
||||
library, allowing one to bake performance analysis capabilities
|
||||
directly into applications and activate them at runtime.
|
||||
"""
|
||||
|
||||
homepage = "https://github.com/LLNL/Caliper"
|
||||
git = "https://github.com/LLNL/Caliper.git"
|
||||
|
||||
version('master')
|
||||
version('2.2.0', tag='v2.2.0')
|
||||
version('2.1.1', tag='v2.1.1')
|
||||
version('2.0.1', tag='v2.0.1')
|
||||
version('1.9.1', tag='v1.9.1')
|
||||
version('1.9.0', tag='v1.9.0')
|
||||
@@ -29,6 +30,8 @@ class Caliper(CMakePackage):
|
||||
is_linux = sys.platform.startswith('linux')
|
||||
variant('shared', default=True,
|
||||
description='Build shared libraries')
|
||||
variant('adiak', default=True,
|
||||
description='Enable Adiak support')
|
||||
variant('mpi', default=True,
|
||||
description='Enable MPI wrappers')
|
||||
variant('dyninst', default=False,
|
||||
@@ -49,6 +52,8 @@ class Caliper(CMakePackage):
|
||||
variant('sosflow', default=False,
|
||||
description='Enable SOSflow support')
|
||||
|
||||
depends_on('adiak@0.1:', when='@2.2: +adiak')
|
||||
|
||||
depends_on('gotcha@1.0.2:1.0.99', when='+gotcha')
|
||||
|
||||
depends_on('dyninst@9.3.0:9.99', when='@:1.99 +dyninst')
|
||||
@@ -67,7 +72,8 @@ class Caliper(CMakePackage):
|
||||
depends_on('python', type='build')
|
||||
|
||||
# sosflow support not yet in 2.0
|
||||
conflicts('+sosflow', '@2.0.0:2.0.99')
|
||||
conflicts('+sosflow', '@2.0.0:2.2.99')
|
||||
conflicts('+adiak', '@:2.1.99')
|
||||
|
||||
def cmake_args(self):
|
||||
spec = self.spec
|
||||
@@ -76,6 +82,7 @@ def cmake_args(self):
|
||||
'-DBUILD_TESTING=Off',
|
||||
'-DBUILD_DOCS=Off',
|
||||
'-DBUILD_SHARED_LIBS=%s' % ('On' if '+shared' in spec else 'Off'),
|
||||
'-DWITH_ADIAK=%s' % ('On' if '+adiak' in spec else 'Off'),
|
||||
'-DWITH_DYNINST=%s' % ('On' if '+dyninst' in spec else 'Off'),
|
||||
'-DWITH_CALLPATH=%s' % ('On' if '+callpath' in spec else 'Off'),
|
||||
'-DWITH_GOTCHA=%s' % ('On' if '+gotcha' in spec else 'Off'),
|
||||
|
||||
@@ -17,6 +17,7 @@ class Cdo(AutotoolsPackage):
|
||||
|
||||
maintainers = ['skosukhin']
|
||||
|
||||
version('1.9.8', sha256='f2660ac6f8bf3fa071cf2a3a196b3ec75ad007deb3a782455e80f28680c5252a', url='https://code.mpimet.mpg.de/attachments/download/20286/cdo-1.9.8.tar.gz')
|
||||
version('1.9.7.1', sha256='3771952e065bcf935d43e492707370ed2a0ecb59a06bea24f9ab69d77943962c',
|
||||
url='https://code.mpimet.mpg.de/attachments/download/20124/cdo-1.9.7.1.tar.gz')
|
||||
version('1.9.6', sha256='b31474c94548d21393758caa33f35cf7f423d5dfc84562ad80a2bdcb725b5585', url='https://code.mpimet.mpg.de/attachments/download/19299/cdo-1.9.6.tar.gz')
|
||||
|
||||
@@ -10,20 +10,21 @@ class Cmake(Package):
|
||||
"""A cross-platform, open-source build system. CMake is a family of
|
||||
tools designed to build, test and package software."""
|
||||
homepage = 'https://www.cmake.org'
|
||||
url = 'https://github.com/Kitware/CMake/releases/download/v3.15.4/cmake-3.15.4.tar.gz'
|
||||
url = 'https://github.com/Kitware/CMake/releases/download/v3.15.5/cmake-3.15.5.tar.gz'
|
||||
maintainers = ['chuckatkins']
|
||||
|
||||
version('3.15.4', sha256='8a211589ea21374e49b25fc1fc170e2d5c7462b795f1b29c84dd0e984301ed7a')
|
||||
version('3.15.3', sha256='13958243a01365b05652fa01b21d40fa834f70a9e30efa69c02604e64f58b8f5')
|
||||
version('3.15.2', sha256='539088cb29a68e6d6a8fba5c00951e5e5b1a92c68fa38a83e1ed2f355933f768')
|
||||
version('3.15.1', sha256='18dec548d8f8b04d53c60f9cedcebaa6762f8425339d1e2c889c383d3ccdd7f7')
|
||||
version('3.15.0', sha256='0678d74a45832cacaea053d85a5685f3ed8352475e6ddf9fcb742ffca00199b5')
|
||||
version('3.14.5', sha256='505ae49ebe3c63c595fa5f814975d8b72848447ee13b6613b0f8b96ebda18c06')
|
||||
version('3.14.4', sha256='00b4dc9b0066079d10f16eed32ec592963a44e7967371d2f5077fd1670ff36d9')
|
||||
version('3.14.3', sha256='215d0b64e81307182b29b63e562edf30b3875b834efdad09b3fcb5a7d2f4b632')
|
||||
version('3.14.2', sha256='a3cbf562b99270c0ff192f692139e98c605f292bfdbc04d70da0309a5358e71e')
|
||||
version('3.14.1', sha256='7321be640406338fc12590609c42b0fae7ea12980855c1be363d25dcd76bb25f')
|
||||
version('3.14.0', sha256='aa76ba67b3c2af1946701f847073f4652af5cbd9f141f221c97af99127e75502')
|
||||
version('3.15.5', sha256='fbdd7cef15c0ced06bb13024bfda0ecc0dedbcaaaa6b8a5d368c75255243beb4')
|
||||
version('3.15.4', sha256='8a211589ea21374e49b25fc1fc170e2d5c7462b795f1b29c84dd0e984301ed7a')
|
||||
version('3.15.3', sha256='13958243a01365b05652fa01b21d40fa834f70a9e30efa69c02604e64f58b8f5')
|
||||
version('3.15.2', sha256='539088cb29a68e6d6a8fba5c00951e5e5b1a92c68fa38a83e1ed2f355933f768')
|
||||
version('3.15.1', sha256='18dec548d8f8b04d53c60f9cedcebaa6762f8425339d1e2c889c383d3ccdd7f7')
|
||||
version('3.15.0', sha256='0678d74a45832cacaea053d85a5685f3ed8352475e6ddf9fcb742ffca00199b5')
|
||||
version('3.14.5', sha256='505ae49ebe3c63c595fa5f814975d8b72848447ee13b6613b0f8b96ebda18c06')
|
||||
version('3.14.4', sha256='00b4dc9b0066079d10f16eed32ec592963a44e7967371d2f5077fd1670ff36d9')
|
||||
version('3.14.3', sha256='215d0b64e81307182b29b63e562edf30b3875b834efdad09b3fcb5a7d2f4b632')
|
||||
version('3.14.2', sha256='a3cbf562b99270c0ff192f692139e98c605f292bfdbc04d70da0309a5358e71e')
|
||||
version('3.14.1', sha256='7321be640406338fc12590609c42b0fae7ea12980855c1be363d25dcd76bb25f')
|
||||
version('3.14.0', sha256='aa76ba67b3c2af1946701f847073f4652af5cbd9f141f221c97af99127e75502')
|
||||
version('3.13.4', sha256='fdd928fee35f472920071d1c7f1a6a2b72c9b25e04f7a37b409349aef3f20e9b')
|
||||
version('3.13.3', sha256='665f905036b1f731a2a16f83fb298b1fb9d0f98c382625d023097151ad016b25')
|
||||
version('3.13.2', sha256='c925e7d2c5ba511a69f43543ed7b4182a7d446c274c7480d0e42cd933076ae25')
|
||||
@@ -116,6 +117,8 @@ class Cmake(Package):
|
||||
|
||||
# https://gitlab.kitware.com/cmake/cmake/issues/18166
|
||||
conflicts('%intel', when='@3.11.0:3.11.4')
|
||||
conflicts('%intel@:14', when='@3.14:',
|
||||
msg="Intel 14 has immature C++11 support")
|
||||
|
||||
phases = ['bootstrap', 'build', 'install']
|
||||
|
||||
|
||||
@@ -13,39 +13,177 @@ class Cudnn(Package):
|
||||
|
||||
homepage = "https://developer.nvidia.com/cudnn"
|
||||
|
||||
version('7.6.3-10.1-x86_64', sha256='352557346d8111e2f954c494be1a90207103d316b8777c33e62b3a7f7b708961',
|
||||
url='https://developer.download.nvidia.com/compute/redist/cudnn/v7.6.3/cudnn-10.1-linux-x64-v7.6.3.30.tgz')
|
||||
version('7.6.3-10.1-ppc64le', sha256='f274735a8fc31923d3623b1c3d2b1d0d35bb176687077c6a4d4353c6b900d8ee',
|
||||
url='https://developer.download.nvidia.com/compute/redist/cudnn/v7.6.3/cudnn-10.1-linux-ppc64le-v7.6.3.30.tgz')
|
||||
version('7.5.1-10.1-x86_64', sha256='2c833f43c9147d9a25a20947a4c5a5f5c33b2443240fd767f63b330c482e68e0',
|
||||
url='https://developer.download.nvidia.com/compute/redist/cudnn/v7.5.1/cudnn-10.1-linux-x64-v7.5.1.10.tgz')
|
||||
version('7.5.1-10.1-ppc64le', sha256='a9e23bc83c970daec20874ccd1d8d80b648adf15440ecd0164818b330b1e2663',
|
||||
url='https://developer.download.nvidia.com/compute/redist/cudnn/v7.5.1/cudnn-10.1-linux-ppc64le-v7.5.1.10.tgz')
|
||||
version('7.5.1-10.0-x86_64', sha256='c0a4ec438920aa581dd567117b9c316745b4a451ac739b1e04939a3d8b229985',
|
||||
url='https://developer.download.nvidia.com/compute/redist/cudnn/v7.5.1/cudnn-10.0-linux-x64-v7.5.1.10.tgz')
|
||||
version('7.5.1-10.0-ppc64le', sha256='d9205718da5fbab85433476f9ff61fcf4b889d216d6eea26753bbc24d115dd70',
|
||||
url='https://developer.download.nvidia.com/compute/redist/cudnn/v7.5.1/cudnn-10.0-linux-ppc64le-v7.5.1.10.tgz')
|
||||
version('7.5.0-10.1-x86_64', sha256='c31697d6b71afe62838ad2e57da3c3c9419c4e9f5635d14b683ebe63f904fbc8',
|
||||
url='https://developer.download.nvidia.com/compute/redist/cudnn/v7.5.0/cudnn-10.1-linux-x64-v7.5.0.56.tgz')
|
||||
version('7.5.0-10.1-ppc64le', sha256='15415eb714ab86ab6c7531f2cac6474b5dafd989479b062776c670b190e43638',
|
||||
url='https://developer.download.nvidia.com/compute/redist/cudnn/v7.5.0/cudnn-10.1-linux-ppc64le-v7.5.0.56.tgz')
|
||||
version('7.5.0-10.0-x86_64', sha256='701097882cb745d4683bb7ff6c33b8a35c7c81be31bac78f05bad130e7e0b781',
|
||||
url='https://developer.download.nvidia.com/compute/redist/cudnn/v7.5.0/cudnn-10.0-linux-x64-v7.5.0.56.tgz')
|
||||
version('7.5.0-10.0-ppc64le', sha256='f0c1cbd9de553c8e2a3893915bd5fff57b30e368ef4c964d783b6a877869e93a',
|
||||
url='https://developer.download.nvidia.com/compute/redist/cudnn/v7.5.0/cudnn-10.0-linux-ppc64le-v7.5.0.56.tgz')
|
||||
version('7.3.0', sha256='403f9043ff2c7b2c5967454872275d07bca11fd41dfc7b21995eadcad6dbe49b',
|
||||
url='http://developer.download.nvidia.com/compute/redist/cudnn/v7.3.0/cudnn-9.0-linux-x64-v7.3.0.29.tgz')
|
||||
version('7.2.1', sha256='cf007437b9ac6250ec63b89c25f248d2597fdd01369c80146567f78e75ce4e37',
|
||||
url='http://developer.download.nvidia.com/compute/redist/cudnn/v7.2.1/cudnn-9.0-linux-x64-v7.2.1.38.tgz')
|
||||
version('6.0', sha256='9b09110af48c9a4d7b6344eb4b3e344daa84987ed6177d5c44319732f3bb7f9c',
|
||||
url='http://developer.download.nvidia.com/compute/redist/cudnn/v6.0/cudnn-8.0-linux-x64-v6.0.tgz')
|
||||
version('5.1', sha256='c10719b36f2dd6e9ddc63e3189affaa1a94d7d027e63b71c3f64d449ab0645ce',
|
||||
url='http://developer.download.nvidia.com/compute/redist/cudnn/v5.1/cudnn-8.0-linux-x64-v5.1.tgz')
|
||||
# Latest versions available at:
|
||||
# https://developer.nvidia.com/rdp/cudnn-download
|
||||
# Archived versions available at:
|
||||
# https://developer.nvidia.com/rdp/cudnn-archive
|
||||
# Note that download links don't work from command line,
|
||||
# need to use modified URLs like in url_for_version.
|
||||
|
||||
depends_on('cuda@8:', when='@5.1:@7')
|
||||
depends_on('cuda@9:', when='@7.2:@7.4')
|
||||
depends_on('cuda@10:', when='@7.5.0-10.0-ppc64le,7.5.0-10.0-x86_64,7.5.1-10.0-ppc64le,7.5.1-10.0-x86_64')
|
||||
depends_on('cuda@10.1:', when='@7.5.0-10.1-ppc64le,7.5.0-10.1-x86_64,7.5.1-10.1-ppc64le,7.5.1-10.1-x86_64,7.6.3-10.1-ppc64le,7.6.3-10.1-x86_64')
|
||||
maintainers = ['adamjstewart']
|
||||
|
||||
# cuDNN 7.6.5
|
||||
version('7.6.5.32-10.1-linux-x64',
|
||||
sha256='7eaec8039a2c30ab0bc758d303588767693def6bf49b22485a2c00bf2e136cb3',
|
||||
preferred=True)
|
||||
version('7.6.5.32-10.1-osx-x64',
|
||||
sha256='8ecce28a5ed388a2b9b2d239e08d7c550f53b79288e6d9e5eb4c152bfc711aff')
|
||||
version('7.6.5.32-10.1-linux-ppc64le',
|
||||
sha256='97b2faf73eedfc128f2f5762784d21467a95b2d5ba719825419c058f427cbf56')
|
||||
|
||||
version('7.6.5.32-10.0-linux-x64',
|
||||
sha256='28355e395f0b2b93ac2c83b61360b35ba6cd0377e44e78be197b6b61b4b492ba')
|
||||
version('7.6.5.32-10.0-osx-x64',
|
||||
sha256='6fa0b819374da49102e285ecf7fcb8879df4d0b3cc430cc8b781cdeb41009b47')
|
||||
version('7.6.5.32-10.0-linux-ppc64le',
|
||||
sha256='b1717f4570083bbfc6b8b59f280bae4e4197cc1cb50e9d873c05adf670084c5b')
|
||||
|
||||
version('7.6.5.32-9.2-linux-x64',
|
||||
sha256='a2a2c7a8ba7b16d323b651766ee37dcfdbc2b50d920f73f8fde85005424960e4')
|
||||
version('7.6.5.32-9.2-linux-ppc64le',
|
||||
sha256='a11f44f9a827b7e69f527a9d260f1637694ff7c1674a3e46bd9ec054a08f9a76')
|
||||
|
||||
version('7.6.5.32-9.0-linux-x64',
|
||||
sha256='bd0a4c0090d5b02feec3f195738968690cc2470b9bc6026e6fe8ff245cd261c8')
|
||||
|
||||
# cuDNN 7.6.4
|
||||
version('7.6.4.38-10.1-linux-x64',
|
||||
sha256='32091d115c0373027418620a09ebec3658a6bc467d011de7cdd0eb07d644b099')
|
||||
version('7.6.4.38-10.1-osx-x64',
|
||||
sha256='bfced062c3689ced2c1fb49c7d5052e6bc3da6974c1eb707e4dcf8cd209d4236')
|
||||
version('7.6.4.38-10.1-linux-ppc64le',
|
||||
sha256='f3615fea50986a4dfd05d7a0cf83396dfdceefa9c209e8bf9691e20a48e420ce')
|
||||
|
||||
version('7.6.4.38-10.0-linux-x64',
|
||||
sha256='417bb5daf51377037eb2f5c87649000ca1b9cec0acb16cfe07cb1d3e9a961dbf')
|
||||
version('7.6.4.38-10.0-osx-x64',
|
||||
sha256='af01ab841caec25087776a6b8fc7782883da12e590e24825ad1031f9ae0ed4b1')
|
||||
version('7.6.4.38-10.0-linux-ppc64le',
|
||||
sha256='c1725ad6bd7d7741e080a1e6da4b62eac027a94ac55c606cce261e3f829400bb')
|
||||
|
||||
version('7.6.4.38-9.2-linux-x64',
|
||||
sha256='c79156531e641289b6a6952888b9637059ef30defd43c3cf82acf38d67f60a27')
|
||||
version('7.6.4.38-9.2-linux-ppc64le',
|
||||
sha256='98d8aae2dcd851558397a9a30b73242f257e1556be17c83650e63a0685969884')
|
||||
|
||||
version('7.6.4.38-9.0-linux-x64',
|
||||
sha256='8db78c3623c192d4f03f3087b41c32cb0baac95e13408b5d9dabe626cb4aab5d')
|
||||
|
||||
# cuDNN 7.6.3
|
||||
version('7.6.3.30-10.1-linux-x64',
|
||||
sha256='352557346d8111e2f954c494be1a90207103d316b8777c33e62b3a7f7b708961')
|
||||
version('7.6.3.30-10.1-linux-ppc64le',
|
||||
sha256='f274735a8fc31923d3623b1c3d2b1d0d35bb176687077c6a4d4353c6b900d8ee')
|
||||
|
||||
# cuDNN 7.5.1
|
||||
version('7.5.1.10-10.1-linux-x64',
|
||||
sha256='2c833f43c9147d9a25a20947a4c5a5f5c33b2443240fd767f63b330c482e68e0')
|
||||
version('7.5.1.10-10.1-linux-ppc64le',
|
||||
sha256='a9e23bc83c970daec20874ccd1d8d80b648adf15440ecd0164818b330b1e2663')
|
||||
|
||||
version('7.5.1.10-10.0-linux-x64',
|
||||
sha256='c0a4ec438920aa581dd567117b9c316745b4a451ac739b1e04939a3d8b229985')
|
||||
version('7.5.1.10-10.0-linux-ppc64le',
|
||||
sha256='d9205718da5fbab85433476f9ff61fcf4b889d216d6eea26753bbc24d115dd70')
|
||||
|
||||
# cuDNN 7.5.0
|
||||
version('7.5.0.56-10.1-linux-x64',
|
||||
sha256='c31697d6b71afe62838ad2e57da3c3c9419c4e9f5635d14b683ebe63f904fbc8')
|
||||
version('7.5.0.56-10.1-linux-ppc64le',
|
||||
sha256='15415eb714ab86ab6c7531f2cac6474b5dafd989479b062776c670b190e43638')
|
||||
|
||||
version('7.5.0.56-10.0-linux-x64',
|
||||
sha256='701097882cb745d4683bb7ff6c33b8a35c7c81be31bac78f05bad130e7e0b781')
|
||||
version('7.5.0.56-10.0-linux-ppc64le',
|
||||
sha256='f0c1cbd9de553c8e2a3893915bd5fff57b30e368ef4c964d783b6a877869e93a')
|
||||
|
||||
# cuDNN 7.3.0
|
||||
version('7.3.0.29-9.0-linux-x64',
|
||||
sha256='403f9043ff2c7b2c5967454872275d07bca11fd41dfc7b21995eadcad6dbe49b')
|
||||
|
||||
# cuDNN 7.2.1
|
||||
version('7.2.1.38-9.0-linux-x64',
|
||||
sha256='cf007437b9ac6250ec63b89c25f248d2597fdd01369c80146567f78e75ce4e37')
|
||||
|
||||
# cuDNN 7.1.3
|
||||
version('7.1.3-9.1-linux-x64',
|
||||
sha256='dd616d3794167ceb923d706bf73e8d6acdda770751492b921ee6827cdf190228')
|
||||
version('7.1.3-9.1-linux-ppc64le',
|
||||
sha256='e3b4837f711b98a52faacc872a68b332c833917ef3cf87c0108f1d01af9b2931')
|
||||
|
||||
# cuDNN 6.0
|
||||
version('6.0-8.0-linux-x64',
|
||||
sha256='9b09110af48c9a4d7b6344eb4b3e344daa84987ed6177d5c44319732f3bb7f9c')
|
||||
|
||||
# cuDNN 5.1
|
||||
version('5.1-8.0-linux-x64',
|
||||
sha256='c10719b36f2dd6e9ddc63e3189affaa1a94d7d027e63b71c3f64d449ab0645ce')
|
||||
|
||||
# CUDA 10.1
|
||||
depends_on('cuda@10.1.0:10.1.999', when='@7.6.5.32-10.1-osx-x64')
|
||||
depends_on('cuda@10.1.0:10.1.999', when='@7.6.5.32-10.1-linux-x64')
|
||||
depends_on('cuda@10.1.0:10.1.999', when='@7.6.5.32-10.1-linux-ppc64le')
|
||||
depends_on('cuda@10.1.0:10.1.999', when='@7.6.4.38-10.1-osx-x64')
|
||||
depends_on('cuda@10.1.0:10.1.999', when='@7.6.4.38-10.1-linux-x64')
|
||||
depends_on('cuda@10.1.0:10.1.999', when='@7.6.4.38-10.1-linux-ppc64le')
|
||||
depends_on('cuda@10.1.0:10.1.999', when='@7.6.3.30-10.1-linux-x64')
|
||||
depends_on('cuda@10.1.0:10.1.999', when='@7.6.3.30-10.1-linux-ppc64le')
|
||||
depends_on('cuda@10.1.0:10.1.999', when='@7.5.0.56-10.1-linux-x64')
|
||||
depends_on('cuda@10.1.0:10.1.999', when='@7.5.0.56-10.1-linux-ppc64le')
|
||||
|
||||
# CUDA 10.0
|
||||
depends_on('cuda@10.0.0:10.0.999', when='@7.6.5.32-10.0-osx-x64')
|
||||
depends_on('cuda@10.0.0:10.0.999', when='@7.6.5.32-10.0-linux-x64')
|
||||
depends_on('cuda@10.0.0:10.0.999', when='@7.6.5.32-10.0-linux-ppc64le')
|
||||
depends_on('cuda@10.0.0:10.0.999', when='@7.6.4.38-10.0-osx-x64')
|
||||
depends_on('cuda@10.0.0:10.0.999', when='@7.6.4.38-10.0-linux-x64')
|
||||
depends_on('cuda@10.0.0:10.0.999', when='@7.6.4.38-10.0-linux-ppc64le')
|
||||
depends_on('cuda@10.0.0:10.0.999', when='@7.5.1.10-10.0-linux-x64')
|
||||
depends_on('cuda@10.0.0:10.0.999', when='@7.5.1.10-10.0-linux-ppc64le')
|
||||
depends_on('cuda@10.0.0:10.0.999', when='@7.5.0.56-10.0-linux-x64')
|
||||
depends_on('cuda@10.0.0:10.0.999', when='@7.5.0.56-10.0-linux-ppc64le')
|
||||
|
||||
# CUDA 9.2
|
||||
depends_on('cuda@9.2.0:9.2.999', when='@7.6.5.32-9.2-linux-x64')
|
||||
depends_on('cuda@9.2.0:9.2.999', when='@7.6.5.32-9.2-linux-ppc64le')
|
||||
depends_on('cuda@9.2.0:9.2.999', when='@7.6.4.38-9.2-linux-x64')
|
||||
depends_on('cuda@9.2.0:9.2.999', when='@7.6.4.38-9.2-linux-ppc64le')
|
||||
|
||||
# CUDA 9.1
|
||||
depends_on('cuda@9.1.0:9.1.999', when='@7.1.3-9.1-linux-x64')
|
||||
depends_on('cuda@9.1.0:9.1.999', when='@7.1.3-9.1-linux-ppc64le')
|
||||
|
||||
# CUDA 9.0
|
||||
depends_on('cuda@9.0.0:9.0.999', when='@7.6.5.32-9.0-linux-x64')
|
||||
depends_on('cuda@9.0.0:9.0.999', when='@7.6.4.38-9.0-linux-x64')
|
||||
depends_on('cuda@9.0.0:9.0.999', when='@7.3.0.29-9.0-linux-x64')
|
||||
depends_on('cuda@9.0.0:9.0.999', when='@7.2.1.38-9.0-linux-x64')
|
||||
|
||||
# CUDA 8.0
|
||||
depends_on('cuda@8.0.0:8.0.999', when='@6.0-8.0-linux-x64')
|
||||
depends_on('cuda@8.0.0:8.0.999', when='@5.1-8.0-linux-x64')
|
||||
|
||||
def url_for_version(self, version):
|
||||
url = 'https://developer.download.nvidia.com/compute/redist/cudnn/v{0}/cudnn-{1}-v{2}.tgz'
|
||||
|
||||
if version >= Version('7.2'):
|
||||
directory = version[:3]
|
||||
ver = version[:4]
|
||||
cuda = version[4:]
|
||||
elif version >= Version('7.1'):
|
||||
directory = version[:3]
|
||||
ver = version[:2]
|
||||
cuda = version[3:]
|
||||
elif version >= Version('7.0'):
|
||||
directory = version[:3]
|
||||
ver = version[0]
|
||||
cuda = version[3:]
|
||||
else:
|
||||
directory = version[:2]
|
||||
ver = version[:2]
|
||||
cuda = version[2:]
|
||||
|
||||
return url.format(directory, cuda, ver)
|
||||
|
||||
def install(self, spec, prefix):
|
||||
install_tree('.', prefix)
|
||||
|
||||
@@ -14,3 +14,4 @@ class Damselfly(CMakePackage):
|
||||
version('1.0', sha256='560e1b800c9036766396a1033c00914bd8d181b911e87140c3ac8879baf6545a')
|
||||
|
||||
depends_on('cmake@2.6:', type='build')
|
||||
depends_on('mpi')
|
||||
|
||||
@@ -20,9 +20,7 @@ class Dataspaces(AutotoolsPackage):
|
||||
|
||||
homepage = "http://www.dataspaces.org"
|
||||
url = "https://dataspaces.rdi2.rutgers.edu/downloads/dataspaces-1.6.2.tar.gz"
|
||||
git = "https://github.com/melrom/dataspaces.git"
|
||||
|
||||
version('develop', branch='master')
|
||||
version('1.8.0', sha256='7f204bb3c03c2990f5a2d76a29185466b584793c63ada03e5e694627e6060605')
|
||||
version('1.6.2', sha256='3c43d551c1e8198a4ab269c83928e1dc6f8054e6d41ceaee45155d91a48cf9bf')
|
||||
|
||||
|
||||
@@ -12,6 +12,7 @@ class Dmtcp(AutotoolsPackage):
|
||||
with no modifications to user code or to the O/S."""
|
||||
|
||||
homepage = "http://dmtcp.sourceforge.net/"
|
||||
url = "https://sourceforge.net/projects/dmtcp/files/2.5.2/dmtcp-2.5.2.tar.gz/download"
|
||||
url = "https://sourceforge.net/projects/dmtcp/files/2.6.0/dmtcp-2.6.0.tar.gz/download"
|
||||
|
||||
version('2.6.0', sha256='3ed62a86dd0cb9c828b93ee8c7c852d6f9c96a0efa48bcfe867521adf7bced68')
|
||||
version('2.5.2', sha256='0e3e5e15bd401b7b6937f2b678cd7d6a252eab0a143d5740b89cc3bebb4282be')
|
||||
|
||||
15
var/spack/repos/builtin/packages/file/package.py
Normal file
15
var/spack/repos/builtin/packages/file/package.py
Normal file
@@ -0,0 +1,15 @@
|
||||
# Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
|
||||
# Spack Project Developers. See the top-level COPYRIGHT file for details.
|
||||
#
|
||||
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
||||
from spack import *
|
||||
|
||||
|
||||
class File(AutotoolsPackage):
|
||||
"""The file command is "a file type guesser", that is, a command-line
|
||||
tool that tells you in words what kind of data a file contains"""
|
||||
|
||||
homepage = "http://www.darwinsys.com/file/"
|
||||
url = "https://astron.com/pub/file/file-5.37.tar.gz"
|
||||
|
||||
version('5.37', sha256='e9c13967f7dd339a3c241b7710ba093560b9a33013491318e88e6b8b57bae07f')
|
||||
@@ -27,6 +27,8 @@ class Flex(AutotoolsPackage):
|
||||
depends_on('bison', type='build')
|
||||
depends_on('gettext@0.19:', type='build')
|
||||
depends_on('help2man', type='build')
|
||||
depends_on('findutils', type='build')
|
||||
depends_on('diffutils', type='build')
|
||||
|
||||
# Older tarballs don't come with a configure script and the patch for
|
||||
# 2.6.4 touches configure
|
||||
|
||||
@@ -18,16 +18,14 @@ class Geopm(AutotoolsPackage):
|
||||
msr-safe kernel module by your administrator."""
|
||||
|
||||
homepage = "https://geopm.github.io"
|
||||
url = "https://github.com/geopm/geopm/releases/download/v0.4.0/geopm-0.4.0.tar.gz"
|
||||
url = "https://github.com/geopm/geopm/releases/download/v1.0.0/geopm-1.0.0.tar.gz"
|
||||
git = "https://github.com/geopm/geopm.git"
|
||||
|
||||
# Add additional proper versions and checksums here. "spack checksum geopm"
|
||||
version('develop', branch='dev')
|
||||
version('master', branch='master')
|
||||
version('1.0.0-rc2', sha256='c6637df54728ded31fd682f39a07dffee45883f350e6dbd13e1496dd50243ffd',
|
||||
url='https://github.com/geopm/geopm/releases/download/v1.0.0%2Brc2/geopm-1.0.0+rc2.tar.gz')
|
||||
version('1.0.0-rc1', sha256='f8a2e5c384a15e9663f409de478b6372cd63e63a28d4701a33ac043fc27905e0',
|
||||
url='https://github.com/geopm/geopm/releases/download/v1.0.0-rc1/geopm-1.0.0+rc1.tar.gz')
|
||||
version('1.1.0', sha256='5f9a4df37ef0d64c53d64829d46736803c9fe614afd8d2c70fe7a5ebea09f88e')
|
||||
version('1.0.0', sha256='24fe72265a7e44d62bdfe49467c49f0b7a649131ddda402d763c00a49765e1cb')
|
||||
version('0.6.1', sha256='0ca42853f90885bf213df190c3462b8675c143cc843aee0d8b8a0e30802b55a9')
|
||||
version('0.6.0', sha256='95ccf256c2b7cb35838978152479569d154347c3065af1639ed17be1399182d3')
|
||||
version('0.5.1', sha256='db247af55f7000b6e4628af099956349b68a637500b9d4fe8d8fb13687124d53')
|
||||
@@ -45,27 +43,44 @@ class Geopm(AutotoolsPackage):
|
||||
variant('doc', default=True, description='Create man pages with ruby-ronn.')
|
||||
variant('openmp', default=True, description='Build with OpenMP.')
|
||||
variant('ompt', default=False, description='Use OpenMP Tools Interface.')
|
||||
variant('hwloc', default=False, description='Build with hwloc, deprecated and ignored after v0.5.1.')
|
||||
variant('gnu-ld', default=False, description='Assume C compiler uses gnu-ld.')
|
||||
|
||||
# Added dependencies.
|
||||
depends_on('ruby-ronn', type='build', when='+doc')
|
||||
depends_on('doxygen', type='build', when='+doc')
|
||||
depends_on('mpi@2.2:', when='+mpi')
|
||||
|
||||
depends_on('m4', type='build')
|
||||
depends_on('automake', type='build')
|
||||
depends_on('autoconf', type='build')
|
||||
depends_on('automake', type='build')
|
||||
depends_on('libtool', type='build')
|
||||
depends_on('ruby-ronn', type='build', when='+doc')
|
||||
depends_on('doxygen', type='build', when='+doc')
|
||||
depends_on('numactl')
|
||||
depends_on('numactl', when="@:1.0.0-rc2")
|
||||
depends_on('mpi', when='+mpi')
|
||||
depends_on('hwloc@1.11.9', when='@:0.5.1+hwloc')
|
||||
depends_on('json-c')
|
||||
depends_on('py-pandas', type='run')
|
||||
depends_on('py-numpy', type='run')
|
||||
depends_on('py-natsort', type='run')
|
||||
depends_on('py-matplotlib@2.2.3', type='run')
|
||||
depends_on('json-c', when='@:0.9.9')
|
||||
depends_on('py-cycler@0.10.0:', when="@1.0.0:", type=('build', 'run'))
|
||||
depends_on('py-pandas@0.22.0:', type=('build', 'run'))
|
||||
depends_on('py-tables@3.4.3:3.5.2', when="@1.0.0:", type=('build', 'run'))
|
||||
depends_on('py-cffi@1.6.0:', when="@1.1.0:", type=('build', 'run'))
|
||||
depends_on('py-pyyaml@5.1.0:', when="@1.1.0:", type=('build', 'run'))
|
||||
depends_on('py-mock@3.0.0:', when="@1.1.0:", type=('build', 'run'))
|
||||
depends_on('py-future@0.17.1:', when="@1.1.0:", type=('build', 'run'))
|
||||
depends_on('py-numpy@1.14.3:', type=('build', 'run'))
|
||||
depends_on('py-setuptools@39.2.0:', when="@1.0.0:", type='build')
|
||||
depends_on('py-natsort@5.3.2:', type=('build', 'run'))
|
||||
depends_on('py-psutil@5.4.8:', when="@1.0.0:", type=('build', 'run'))
|
||||
depends_on('py-pylint@1.9.5:', when="@1.1.0:", type=('build', 'run'))
|
||||
depends_on('py-matplotlib@2.2.3', when="@:1.0.0-rc2", type=('build', 'run'))
|
||||
depends_on('py-matplotlib@2.2.3:', when="@1.1.0:", type=('build', 'run'))
|
||||
|
||||
parallel = False
|
||||
|
||||
def autoreconf(self, spec, prefix):
|
||||
bash = which("bash")
|
||||
bash('./autogen.sh')
|
||||
|
||||
def configure_args(self):
|
||||
args = []
|
||||
args.extend(self.enable_or_disable('debug'))
|
||||
@@ -77,10 +92,6 @@ def configure_args(self):
|
||||
args.extend(self.enable_or_disable('doc'))
|
||||
args.extend(self.enable_or_disable('openmp'))
|
||||
args.extend(self.enable_or_disable('ompt'))
|
||||
if self.version <= Version('0.5.1'):
|
||||
args.extend(self.with_or_without(
|
||||
'hwloc',
|
||||
activation_value='prefix'))
|
||||
args.extend(self.with_or_without('gnu-ld'))
|
||||
|
||||
return args
|
||||
|
||||
@@ -22,6 +22,8 @@ class Gmake(AutotoolsPackage):
|
||||
depends_on('gettext', when='+nls')
|
||||
depends_on('guile', when='+guile')
|
||||
|
||||
depends_on('texinfo', type='build')
|
||||
|
||||
build_directory = 'spack-build'
|
||||
|
||||
patch('https://src.fedoraproject.org/rpms/make/raw/519a7c5bcbead22e6ea2d2c2341d981ef9e25c0d/f/make-4.2.1-glob-fix-2.patch', level=1, sha256='fe5b60d091c33f169740df8cb718bf4259f84528b42435194ffe0dd5b79cd125', when='@4.2.1')
|
||||
|
||||
15
var/spack/repos/builtin/packages/grep/package.py
Normal file
15
var/spack/repos/builtin/packages/grep/package.py
Normal file
@@ -0,0 +1,15 @@
|
||||
# Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
|
||||
# Spack Project Developers. See the top-level COPYRIGHT file for details.
|
||||
#
|
||||
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
||||
from spack import *
|
||||
|
||||
|
||||
class Grep(AutotoolsPackage):
|
||||
"""Grep searches one or more input files for lines containing a match to
|
||||
a specified pattern"""
|
||||
|
||||
homepage = "https://www.gnu.org/software/grep/"
|
||||
url = "https://ftp.gnu.org/gnu/grep/grep-3.3.tar.xz"
|
||||
|
||||
version('3.3', sha256='b960541c499619efd6afe1fa795402e4733c8e11ebf9fafccc0bb4bccdc5b514')
|
||||
@@ -30,12 +30,14 @@ class Gromacs(CMakePackage):
|
||||
version('2019.2', sha256='bcbf5cc071926bc67baa5be6fb04f0986a2b107e1573e15fadcb7d7fc4fb9f7e')
|
||||
version('2019.1', sha256='b2c37ed2fcd0e64c4efcabdc8ee581143986527192e6e647a197c76d9c4583ec')
|
||||
version('2019', sha256='c5b281a5f0b5b4eeb1f4c7d4dc72f96985b566561ca28acc9c7c16f6ee110d0b')
|
||||
version('2018.8', sha256='3776923415df4bc78869d7f387c834141fdcda930b2e75be979dc59ecfa6ebec')
|
||||
version('2018.5', sha256='32261df6f7ec4149fc0508f9af416953d056e281590359838c1ed6644ba097b8')
|
||||
version('2018.4', sha256='6f2ee458c730994a8549d6b4f601ecfc9432731462f8bd4ffa35d330d9aaa891')
|
||||
version('2018.3', sha256='4423a49224972969c52af7b1f151579cea6ab52148d8d7cbae28c183520aa291')
|
||||
version('2018.2', sha256='4bdde8120c510b6543afb4b18f82551fddb11851f7edbd814aa24022c5d37857')
|
||||
version('2018.1', sha256='4d3533340499323fece83b4a2d4251fa856376f2426c541e00b8e6b4c0d705cd')
|
||||
version('2018', sha256='deb5d0b749a52a0c6083367b5f50a99e08003208d81954fb49e7009e1b1fd0e9')
|
||||
version('2016.6', sha256='bac0117d2cad21f9b94fe5b854fb9ae7435b098a6da4e732ee745f18e52473d7')
|
||||
version('2016.5', sha256='57db26c6d9af84710a1e0c47a1f5bf63a22641456448dcd2eeb556ebd14e0b7c')
|
||||
version('2016.4', sha256='4be9d3bfda0bdf3b5c53041e0b8344f7d22b75128759d9bfa9442fe65c289264')
|
||||
version('2016.3', sha256='7bf00e74a9d38b7cef9356141d20e4ba9387289cbbfd4d11be479ef932d77d27')
|
||||
|
||||
@@ -24,20 +24,29 @@ class Guile(AutotoolsPackage):
|
||||
version('2.0.11', sha256='e6786c934346fa2e38e46d8d81a622bb1c16d130153523f6129fcd79ef1fb040')
|
||||
|
||||
variant('readline', default=True, description='Use the readline library')
|
||||
variant('threads', default=True, description='Use the thread interface')
|
||||
variant(
|
||||
'threads',
|
||||
default='none',
|
||||
values=('none', 'posix', 'dgux386'),
|
||||
multi=False,
|
||||
description='Use the thread interface'
|
||||
)
|
||||
|
||||
depends_on('bdw-gc@7.0: threads=none', when='threads=none')
|
||||
depends_on('bdw-gc@7.0: threads=posix', when='threads=posix')
|
||||
depends_on('bdw-gc@7.0: threads=dgux386', when='threads=dgux386')
|
||||
depends_on('gmp@4.2:')
|
||||
depends_on('gettext')
|
||||
depends_on('libtool@1.5.6:')
|
||||
depends_on('libunistring@0.9.3:')
|
||||
depends_on('bdw-gc@7.0:')
|
||||
depends_on('libffi')
|
||||
depends_on('readline', when='+readline')
|
||||
depends_on('pkgconfig', type='build')
|
||||
|
||||
build_directory = 'spack-build'
|
||||
|
||||
conflicts('+threads', when='%intel')
|
||||
conflicts('threads=posix', when='%intel')
|
||||
conflicts('threads=dgux386', when='%intel')
|
||||
|
||||
def configure_args(self):
|
||||
spec = self.spec
|
||||
@@ -49,7 +58,11 @@ def configure_args(self):
|
||||
'--with-libgmp-prefix={0}'.format(spec['gmp'].prefix),
|
||||
'--with-libintl-prefix={0}'.format(spec['gettext'].prefix),
|
||||
]
|
||||
config_args += self.with_or_without('threads')
|
||||
|
||||
if 'threads=none' in spec:
|
||||
config_args.append('--without-threads')
|
||||
else:
|
||||
config_args.append('--with-threads')
|
||||
|
||||
if '+readline' in spec:
|
||||
config_args.append('--with-libreadline-prefix={0}'.format(
|
||||
|
||||
15
var/spack/repos/builtin/packages/gzip/package.py
Normal file
15
var/spack/repos/builtin/packages/gzip/package.py
Normal file
@@ -0,0 +1,15 @@
|
||||
# Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
|
||||
# Spack Project Developers. See the top-level COPYRIGHT file for details.
|
||||
#
|
||||
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
||||
from spack import *
|
||||
|
||||
|
||||
class Gzip(AutotoolsPackage):
|
||||
"""GNU Gzip is a popular data compression program originally written by
|
||||
Jean-loup Gailly for the GNU project."""
|
||||
|
||||
homepage = "https://www.gnu.org/software/gzip/"
|
||||
url = "https://ftp.gnu.org/gnu/gzip/gzip-1.10.tar.gz"
|
||||
|
||||
version('1.10', sha256='c91f74430bf7bc20402e1f657d0b252cb80aa66ba333a25704512af346633c68')
|
||||
@@ -2,9 +2,6 @@
|
||||
# Spack Project Developers. See the top-level COPYRIGHT file for details.
|
||||
#
|
||||
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
||||
|
||||
|
||||
from spack import *
|
||||
import sys
|
||||
|
||||
|
||||
@@ -28,7 +25,9 @@ class Hwloc(AutotoolsPackage):
|
||||
url = "https://download.open-mpi.org/release/hwloc/v2.0/hwloc-2.0.2.tar.gz"
|
||||
list_url = "http://www.open-mpi.org/software/hwloc/"
|
||||
list_depth = 2
|
||||
git = 'https://github.com/open-mpi/hwloc.git'
|
||||
|
||||
version('master', branch='master')
|
||||
version('2.0.2', sha256='27dcfe42e3fb3422b72ce48b48bf601c0a3e46e850ee72d9bdd17b5863b6e42c')
|
||||
version('2.0.1', sha256='f1156df22fc2365a31a3dc5f752c53aad49e34a5e22d75ed231cd97eaa437f9d')
|
||||
version('2.0.0', sha256='a0d425a0fc7c7e3f2c92a272ffaffbd913005556b4443e1887d2e1718d902887')
|
||||
@@ -59,7 +58,10 @@ class Hwloc(AutotoolsPackage):
|
||||
)
|
||||
|
||||
depends_on('pkgconfig', type='build')
|
||||
|
||||
depends_on('m4', type='build', when='@master')
|
||||
depends_on('autoconf', type='build', when='@master')
|
||||
depends_on('automake', type='build', when='@master')
|
||||
depends_on('libtool', type='build', when='@master')
|
||||
depends_on('cuda', when='+nvml')
|
||||
depends_on('cuda', when='+cuda')
|
||||
depends_on('gl', when='+gl')
|
||||
|
||||
@@ -29,6 +29,9 @@ class Icu4c(AutotoolsPackage):
|
||||
|
||||
depends_on('python', type='build', when='@64.1:')
|
||||
|
||||
conflicts('%intel@:16', when='@60.1:',
|
||||
msg="Intel compilers have immature C++11 and multibyte support")
|
||||
|
||||
configure_directory = 'source'
|
||||
|
||||
def url_for_version(self, version):
|
||||
|
||||
@@ -10,14 +10,38 @@ class IntelMklDnn(CMakePackage):
|
||||
"""Intel(R) Math Kernel Library for Deep Neural Networks
|
||||
(Intel(R) MKL-DNN)."""
|
||||
|
||||
homepage = "https://01.org/mkl-dnn"
|
||||
url = "https://github.com/intel/mkl-dnn/archive/v0.19.tar.gz"
|
||||
homepage = "https://intel.github.io/mkl-dnn/"
|
||||
url = "https://github.com/intel/mkl-dnn/archive/v1.1.1.tar.gz"
|
||||
|
||||
version('1.0-pc2', sha256='fcc2d951f7170eade0cfdd0d8d1d58e3e7785bd326bca6555f3722f8cba71811')
|
||||
version('0.19', sha256='ba39da6adb263df05c4ca2a120295641fc97be75b588922e4274cb628dbe1dcd', preferred=True)
|
||||
version('0.18.1', sha256='fc7506701dfece9b03c0dc83d0cda9a44a5de17cdb54bc7e09168003f02dbb70')
|
||||
version('0.11', sha256='4cb4a85b05fe42aa527fd70a048caddcba9361f6d3d7bea9f33d74524e206d7d')
|
||||
version('0.10', sha256='59828764ae43f1151f77b8997012c52e0e757bc50af1196b86fce8934178c570')
|
||||
version('0.9', sha256='8606a80851c45b0076f7d4047fbf774ce13d6b6d857cb2edf95c7e1fd4bca1c7')
|
||||
maintainers = ['adamjstewart']
|
||||
|
||||
version('1.1.1', sha256='a31b08a89473bfe3bd6ed542503336d21b4177ebe4ccb9a97810808f634db6b6')
|
||||
version('0.19', sha256='ba39da6adb263df05c4ca2a120295641fc97be75b588922e4274cb628dbe1dcd')
|
||||
version('0.18.1', sha256='fc7506701dfece9b03c0dc83d0cda9a44a5de17cdb54bc7e09168003f02dbb70')
|
||||
version('0.11', sha256='4cb4a85b05fe42aa527fd70a048caddcba9361f6d3d7bea9f33d74524e206d7d')
|
||||
version('0.10', sha256='59828764ae43f1151f77b8997012c52e0e757bc50af1196b86fce8934178c570')
|
||||
version('0.9', sha256='8606a80851c45b0076f7d4047fbf774ce13d6b6d857cb2edf95c7e1fd4bca1c7')
|
||||
|
||||
depends_on('cmake@2.8.11:', type='build')
|
||||
depends_on('intel-mkl')
|
||||
depends_on('llvm-openmp', when='%clang platform=darwin')
|
||||
|
||||
def cmake_args(self):
|
||||
args = []
|
||||
|
||||
# https://github.com/intel/mkl-dnn/issues/591
|
||||
if self.spec.satisfies('%clang platform=darwin'):
|
||||
args.extend([
|
||||
'-DOpenMP_CXX_FLAGS={0}'.format(self.compiler.openmp_flag),
|
||||
'-DOpenMP_C_FLAGS={0}'.format(self.compiler.openmp_flag),
|
||||
'-DOpenMP_CXX_LIB_NAMES=libomp',
|
||||
'-DOpenMP_C_LIB_NAMES=libomp',
|
||||
'-DOpenMP_libomp_LIBRARY={0}'.format(
|
||||
self.spec['llvm-openmp'].libs.libraries[0]
|
||||
),
|
||||
'-DCMAKE_SHARED_LINKER_FLAGS={0}'.format(
|
||||
self.spec['llvm-openmp'].libs.ld_flags
|
||||
),
|
||||
])
|
||||
|
||||
return args
|
||||
|
||||
21
var/spack/repos/builtin/packages/lcov/package.py
Normal file
21
var/spack/repos/builtin/packages/lcov/package.py
Normal file
@@ -0,0 +1,21 @@
|
||||
# Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
|
||||
# Spack Project Developers. See the top-level COPYRIGHT file for details.
|
||||
#
|
||||
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
||||
from spack import *
|
||||
|
||||
|
||||
class Lcov(MakefilePackage):
|
||||
"""LCOV is a graphical front-end for GCC's coverage testing tool gcov.
|
||||
It collects gcov data for multiple source files and creates HTML pages
|
||||
containing the source code annotated with coverage information. It also
|
||||
adds overview pages for easy navigation within the file structure. LCOV
|
||||
supports statement, function and branch coverage measurement."""
|
||||
|
||||
homepage = "http://ltp.sourceforge.net/coverage/lcov.php"
|
||||
url = "https://github.com/linux-test-project/lcov/releases/download/v1.14/lcov-1.14.tar.gz"
|
||||
|
||||
version('1.14', sha256='14995699187440e0ae4da57fe3a64adc0a3c5cf14feab971f8db38fb7d8f071a')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
make("DESTDIR=", "PREFIX=%s" % prefix, "install")
|
||||
11
var/spack/repos/builtin/packages/libbsd/local-elf.h.patch
Normal file
11
var/spack/repos/builtin/packages/libbsd/local-elf.h.patch
Normal file
@@ -0,0 +1,11 @@
|
||||
--- a/src/local-elf.h 2018-04-21 17:30:22.000000000 -0400
|
||||
+++ b/src/local-elf.h 2019-11-13 11:02:53.965684506 -0500
|
||||
@@ -43,7 +43,7 @@
|
||||
#define ELF_TARG_CLASS ELFCLASS64
|
||||
#define ELF_TARG_DATA ELFDATA2LSB
|
||||
|
||||
-#elif defined(__amd64__)
|
||||
+#elif defined(__amd64__) || defined(__x86_64__)
|
||||
|
||||
#define ELF_TARG_MACH EM_X86_64
|
||||
#if defined(__ILP32__)
|
||||
@@ -16,12 +16,14 @@ class Libbsd(AutotoolsPackage):
|
||||
homepage = "https://libbsd.freedesktop.org/wiki/"
|
||||
url = "https://libbsd.freedesktop.org/releases/libbsd-0.9.1.tar.xz"
|
||||
|
||||
version('0.10.0', sha256='34b8adc726883d0e85b3118fa13605e179a62b31ba51f676136ecb2d0bc1a887')
|
||||
version('0.9.1', sha256='56d835742327d69faccd16955a60b6dcf30684a8da518c4eca0ac713b9e0a7a4')
|
||||
version('0.9.0', sha256='8a469afd1bab340992cf99e1e6b7ae4f4c54882d663d8a2c5ea52250617afb01')
|
||||
version('0.8.7', sha256='f548f10e5af5a08b1e22889ce84315b1ebe41505b015c9596bad03fd13a12b31')
|
||||
version('0.8.6', sha256='467fbf9df1f49af11f7f686691057c8c0a7613ae5a870577bef9155de39f9687')
|
||||
|
||||
patch('cdefs.h.patch', when='@0.8.6 %gcc@:4')
|
||||
patch('local-elf.h.patch', when='%intel')
|
||||
|
||||
# https://gitlab.freedesktop.org/libbsd/libbsd/issues/1
|
||||
conflicts('platform=darwin')
|
||||
|
||||
@@ -14,7 +14,7 @@ class Libffi(AutotoolsPackage):
|
||||
homepage = "https://sourceware.org/libffi/"
|
||||
|
||||
version('3.2.1', sha256='d06ebb8e1d9a22d19e38d63fdb83954253f39bedc5d46232a05645685722ca37',
|
||||
url="https://www.mirrorservice.org/sites/sourceware.org/pub/libffi/libffi-3.2.1.tar.gz")
|
||||
url="https://sourceware.org/pub/libffi/libffi-3.2.1.tar.gz")
|
||||
|
||||
@property
|
||||
def headers(self):
|
||||
|
||||
@@ -46,7 +46,7 @@ class Mgis(CMakePackage):
|
||||
depends_on('tfel@3.2.1', when="@1.0.1")
|
||||
depends_on('tfel@rliv-3.2', when="@rliv-1.0")
|
||||
depends_on('tfel@master', when="@master")
|
||||
depends_on('boost+python', when='+python')
|
||||
depends_on('boost+python+numpy', when='+python')
|
||||
extends('python', when='+python')
|
||||
|
||||
def cmake_args(self):
|
||||
|
||||
77
var/spack/repos/builtin/packages/mpt/package.py
Normal file
77
var/spack/repos/builtin/packages/mpt/package.py
Normal file
@@ -0,0 +1,77 @@
|
||||
# Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
|
||||
# Spack Project Developers. See the top-level COPYRIGHT file for details.
|
||||
#
|
||||
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
||||
|
||||
from spack import *
|
||||
|
||||
|
||||
class Mpt(Package):
|
||||
"""HPE MPI is HPE's implementation of
|
||||
the Message Passing Interface (MPI) standard.
|
||||
|
||||
Note: HPE MPI is proprietry software. Spack will search your
|
||||
current directory for the download file. Alternatively, add this file to a
|
||||
mirror so that Spack can find it. For instructions on how to set up a
|
||||
mirror, see http://spack.readthedocs.io/en/latest/mirrors.html"""
|
||||
|
||||
homepage = "https://buy.hpe.com/us/en/software/high-performance-computing-software/hpe-message-passing-interface-mpi/p/1010144155"
|
||||
|
||||
provides('mpi')
|
||||
provides('mpi@:3.1', when='@3:')
|
||||
provides('mpi@:1.3', when='@1:')
|
||||
|
||||
filter_compiler_wrappers(
|
||||
'mpicc', 'mpicxx', 'mpif77', 'mpif90', 'mpif08',
|
||||
relative_root='bin'
|
||||
)
|
||||
|
||||
@property
|
||||
def libs(self):
|
||||
query_parameters = self.spec.last_query.extra_parameters
|
||||
libraries = ['libmpi']
|
||||
|
||||
if 'cxx' in query_parameters:
|
||||
libraries = ['libmpicxx'] + libraries
|
||||
|
||||
return find_libraries(
|
||||
libraries, root=self.prefix, shared=True, recursive=True
|
||||
)
|
||||
|
||||
def setup_dependent_build_environment(self, env, dependent_spec):
|
||||
env.set('MPICC', self.prefix.bin.mpicc)
|
||||
env.set('MPICXX', self.prefix.bin.mpicxx)
|
||||
env.set('MPIF77', self.prefix.bin.mpif77)
|
||||
env.set('MPIF90', self.prefix.bin.mpif90)
|
||||
env.set('MPICC_CC', spack_cc)
|
||||
env.set('MPICXX_CXX', spack_cxx)
|
||||
env.set('MPIF90_F90', spack_fc)
|
||||
|
||||
def setup_dependent_package(self, module, dependent_spec):
|
||||
if 'platform=cray' in self.spec:
|
||||
self.spec.mpicc = spack_cc
|
||||
self.spec.mpicxx = spack_cxx
|
||||
self.spec.mpifc = spack_fc
|
||||
self.spec.mpif77 = spack_f77
|
||||
else:
|
||||
self.spec.mpicc = self.prefix.bin.mpicc
|
||||
self.spec.mpicxx = self.prefix.bin.mpicxx
|
||||
self.spec.mpifc = self.prefix.bin.mpif90
|
||||
self.spec.mpif77 = self.prefix.bin.mpif77
|
||||
|
||||
@property
|
||||
def fetcher(self):
|
||||
msg = """This package is a placeholder for HPE MPI, a
|
||||
system-provided, proprietary MPI implementation.
|
||||
|
||||
Add to your packages.yaml (changing the /opt/ path to match
|
||||
where HPE MPI is actually installed):
|
||||
|
||||
packages:
|
||||
mpt:
|
||||
paths:
|
||||
mpt@2.20: /opt/
|
||||
buildable: False
|
||||
|
||||
"""
|
||||
raise InstallError(msg)
|
||||
@@ -3,19 +3,19 @@
|
||||
#
|
||||
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
||||
|
||||
import os.path
|
||||
import sys
|
||||
|
||||
from spack import *
|
||||
|
||||
|
||||
class Mvapich2(AutotoolsPackage):
|
||||
"""MVAPICH2 is an MPI implementation for Infiniband networks."""
|
||||
homepage = "http://mvapich.cse.ohio-state.edu/"
|
||||
url = "http://mvapich.cse.ohio-state.edu/download/mvapich/mv2/mvapich2-2.2.tar.gz"
|
||||
url = "http://mvapich.cse.ohio-state.edu/download/mvapich/mv2/mvapich2-2.3.2.tar.gz"
|
||||
list_url = "http://mvapich.cse.ohio-state.edu/downloads/"
|
||||
|
||||
# Prefer the latest stable release
|
||||
version('2.3.1', sha256='314e12829f75f3ed83cd4779a972572d1787aac6543a3d024ea7c6080e0ee3bf', preferred=True)
|
||||
version('2.3.2', sha256='30cc0d7bcaa075d204692f76bca4d65a539e0f661c7460ffa9f835d6249e1ebf')
|
||||
version('2.3.1', sha256='314e12829f75f3ed83cd4779a972572d1787aac6543a3d024ea7c6080e0ee3bf')
|
||||
version('2.3', sha256='01d5fb592454ddd9ecc17e91c8983b6aea0e7559aa38f410b111c8ef385b50dd')
|
||||
version('2.3rc2', sha256='dc3801f879a54358d17002a56afd45186e2e83edc5b8367b5c317e282eb6d6bf')
|
||||
version('2.3rc1', sha256='607d309c864a6d57f5fa78fe6dd02368919736b8be0f4ddb938aba303ef9c45c')
|
||||
@@ -24,8 +24,10 @@ class Mvapich2(AutotoolsPackage):
|
||||
version('2.1', sha256='49f3225ad17d2f3b6b127236a0abdc979ca8a3efb8d47ab4b6cd4f5252d05d29')
|
||||
|
||||
provides('mpi')
|
||||
provides('mpi@:3.0')
|
||||
provides('mpi@:3.1', when='@2.3:')
|
||||
provides('mpi@:3.0', when='@2.1:')
|
||||
|
||||
variant('wrapperrpath', default=True, description='Enable wrapper rpath')
|
||||
variant('debug', default=False,
|
||||
description='Enable debug info and error messages at run-time')
|
||||
|
||||
@@ -72,7 +74,7 @@ class Mvapich2(AutotoolsPackage):
|
||||
variant(
|
||||
'fabrics',
|
||||
description='The fabric enabled for this build',
|
||||
default='psm',
|
||||
default='mrail',
|
||||
values=(
|
||||
'psm', 'psm2', 'sock', 'nemesisib', 'nemesis', 'mrail',
|
||||
'nemesisibtcp', 'nemesistcpib', 'nemesisofi'
|
||||
@@ -195,34 +197,35 @@ def file_system_options(self):
|
||||
|
||||
return opts
|
||||
|
||||
def setup_environment(self, spack_env, run_env):
|
||||
spec = self.spec
|
||||
def setup_build_environment(self, env):
|
||||
# mvapich2 configure fails when F90 and F90FLAGS are set
|
||||
spack_env.unset('F90')
|
||||
spack_env.unset('F90FLAGS')
|
||||
if 'process_managers=slurm' in spec:
|
||||
run_env.set('SLURM_MPI_TYPE', 'pmi2')
|
||||
env.unset('F90')
|
||||
env.unset('F90FLAGS')
|
||||
|
||||
def setup_dependent_environment(self, spack_env, run_env, dependent_spec):
|
||||
spack_env.set('MPICC', join_path(self.prefix.bin, 'mpicc'))
|
||||
spack_env.set('MPICXX', join_path(self.prefix.bin, 'mpicxx'))
|
||||
spack_env.set('MPIF77', join_path(self.prefix.bin, 'mpif77'))
|
||||
spack_env.set('MPIF90', join_path(self.prefix.bin, 'mpif90'))
|
||||
def setup_run_environment(self, env):
|
||||
if 'process_managers=slurm' in self.spec:
|
||||
env.set('SLURM_MPI_TYPE', 'pmi2')
|
||||
|
||||
spack_env.set('MPICH_CC', spack_cc)
|
||||
spack_env.set('MPICH_CXX', spack_cxx)
|
||||
spack_env.set('MPICH_F77', spack_f77)
|
||||
spack_env.set('MPICH_F90', spack_fc)
|
||||
spack_env.set('MPICH_FC', spack_fc)
|
||||
def setup_dependent_build_environment(self, env, dependent_spec):
|
||||
env.set('MPICC', os.path.join(self.prefix.bin, 'mpicc'))
|
||||
env.set('MPICXX', os.path.join(self.prefix.bin, 'mpicxx'))
|
||||
env.set('MPIF77', os.path.join(self.prefix.bin, 'mpif77'))
|
||||
env.set('MPIF90', os.path.join(self.prefix.bin, 'mpif90'))
|
||||
|
||||
env.set('MPICH_CC', spack_cc)
|
||||
env.set('MPICH_CXX', spack_cxx)
|
||||
env.set('MPICH_F77', spack_f77)
|
||||
env.set('MPICH_F90', spack_fc)
|
||||
env.set('MPICH_FC', spack_fc)
|
||||
|
||||
def setup_dependent_package(self, module, dependent_spec):
|
||||
self.spec.mpicc = join_path(self.prefix.bin, 'mpicc')
|
||||
self.spec.mpicxx = join_path(self.prefix.bin, 'mpicxx')
|
||||
self.spec.mpifc = join_path(self.prefix.bin, 'mpif90')
|
||||
self.spec.mpif77 = join_path(self.prefix.bin, 'mpif77')
|
||||
self.spec.mpicc = os.path.join(self.prefix.bin, 'mpicc')
|
||||
self.spec.mpicxx = os.path.join(self.prefix.bin, 'mpicxx')
|
||||
self.spec.mpifc = os.path.join(self.prefix.bin, 'mpif90')
|
||||
self.spec.mpif77 = os.path.join(self.prefix.bin, 'mpif77')
|
||||
self.spec.mpicxx_shared_libs = [
|
||||
join_path(self.prefix.lib, 'libmpicxx.{0}'.format(dso_suffix)),
|
||||
join_path(self.prefix.lib, 'libmpi.{0}'.format(dso_suffix))
|
||||
os.path.join(self.prefix.lib, 'libmpicxx.{0}'.format(dso_suffix)),
|
||||
os.path.join(self.prefix.lib, 'libmpi.{0}'.format(dso_suffix))
|
||||
]
|
||||
|
||||
@run_before('configure')
|
||||
@@ -246,6 +249,8 @@ def configure_args(self):
|
||||
"--enable-threads={0}".format(spec.variants['threads'].value),
|
||||
"--with-ch3-rank-bits={0}".format(
|
||||
spec.variants['ch3_rank_bits'].value),
|
||||
'--enable-wrapper-rpath={0}'.format('no' if '~wrapperrpath' in
|
||||
spec else 'yes')
|
||||
]
|
||||
|
||||
args.extend(self.enable_or_disable('alloca'))
|
||||
|
||||
@@ -22,3 +22,6 @@ class Nasm(AutotoolsPackage):
|
||||
# Fix compilation with GCC 8
|
||||
# https://bugzilla.nasm.us/show_bug.cgi?id=3392461
|
||||
patch('https://src.fedoraproject.org/rpms/nasm/raw/0cc3eb244bd971df81a7f02bc12c5ec259e1a5d6/f/0001-Remove-invalid-pure_func-qualifiers.patch', level=1, sha256='ac9f315d204afa6b99ceefa1fe46d4eed2b8a23c7315d32d33c0f378d930e950', when='@2.13.03 %gcc@8:')
|
||||
|
||||
conflicts('%intel@:14', when='@2.14:',
|
||||
msg="Intel 14 has immature C11 support")
|
||||
|
||||
@@ -13,6 +13,7 @@ class NlohmannJson(CMakePackage):
|
||||
url = "https://github.com/nlohmann/json/archive/v3.1.2.tar.gz"
|
||||
maintainers = ['ax3l']
|
||||
|
||||
version('3.7.2', sha256='914c4af3f14bb98ff084172685fba5d32e8ce4390ec8ba5da45c63daa305df4d')
|
||||
version('3.7.0', sha256='d51a3a8d3efbb1139d7608e28782ea9efea7e7933157e8ff8184901efd8ee760')
|
||||
version('3.5.0', sha256='e0b1fc6cc6ca05706cce99118a87aca5248bd9db3113e703023d23f044995c1d')
|
||||
version('3.4.0', sha256='c377963a95989270c943d522bfefe7b889ef5ed0e1e15d535fd6f6f16ed70732')
|
||||
|
||||
@@ -16,7 +16,7 @@ class Nlopt(CMakePackage):
|
||||
url = "https://github.com/stevengj/nlopt/archive/v2.5.0.tar.gz"
|
||||
git = "https://github.com/stevengj/nlopt.git"
|
||||
|
||||
version('develop', branch='master')
|
||||
version('master', branch='master')
|
||||
version('2.5.0', sha256='c6dd7a5701fff8ad5ebb45a3dc8e757e61d52658de3918e38bab233e7fd3b4ae')
|
||||
|
||||
variant('shared', default=True, description='Enables the build of shared libraries')
|
||||
@@ -28,13 +28,14 @@ class Nlopt(CMakePackage):
|
||||
# Note: matlab is licenced - spack does not download automatically
|
||||
variant("matlab", default=False, description="Build the Matlab bindings.")
|
||||
|
||||
depends_on('cmake@3.0:', type='build', when='@develop')
|
||||
depends_on('python', when='+python')
|
||||
depends_on('cmake@3.0:', type='build', when='@master')
|
||||
depends_on('python', when='+python', type=('build', 'run'))
|
||||
depends_on('py-numpy', when='+python', type=('build', 'run'))
|
||||
depends_on('swig', when='+python')
|
||||
depends_on('guile', when='+guile')
|
||||
depends_on('octave', when='+octave')
|
||||
depends_on('matlab', when='+matlab')
|
||||
extends('python', when='+python')
|
||||
|
||||
def cmake_args(self):
|
||||
# Add arguments other than
|
||||
@@ -43,7 +44,7 @@ def cmake_args(self):
|
||||
args = []
|
||||
|
||||
# Specify on command line to alter defaults:
|
||||
# eg: spack install nlopt@develop +guile -octave +cxx
|
||||
# eg: spack install nlopt@master +guile -octave +cxx
|
||||
|
||||
# Spack should locate python by default - but to point to a build
|
||||
if '+python' in spec:
|
||||
|
||||
@@ -17,11 +17,12 @@ class Papi(Package):
|
||||
enables software engineers to see, in near real time, the
|
||||
relation between software performance and processor events. In
|
||||
addition Component PAPI provides access to a collection of
|
||||
components that expose performance measurement opportunites
|
||||
components that expose performance measurement opportunities
|
||||
across the hardware and software stack."""
|
||||
homepage = "http://icl.cs.utk.edu/papi/index.html"
|
||||
maintainers = ['G-Ragghianti']
|
||||
|
||||
url = "http://icl.cs.utk.edu/projects/papi/downloads/papi-5.4.1.tar.gz"
|
||||
url = "http://icl.cs.utk.edu/projects/papi/downloads/papi-5.4.1.tar.gz"
|
||||
version('5.7.0', sha256='d1a3bb848e292c805bc9f29e09c27870e2ff4cda6c2fba3b7da8b4bba6547589')
|
||||
version('5.6.0', sha256='49b7293f9ca2d74d6d80bd06b5c4be303663123267b4ac0884cbcae4c914dc47')
|
||||
version('5.5.1', sha256='49dc2c2323f6164c4a7e81b799ed690ee73158671205e71501f849391dd2c2d4')
|
||||
@@ -30,11 +31,27 @@ class Papi(Package):
|
||||
version('5.4.1', sha256='e131c1449786fe870322a949e44f974a5963824f683232e653fb570cc65d4e87')
|
||||
version('5.3.0', sha256='99f2f36398b370e75d100b4a189d5bc0ac4f5dd66df44d441f88fd32e1421524')
|
||||
|
||||
variant('example', default=True, description='Install the example files')
|
||||
variant('infiniband', default=False, description='Enable Infiniband support')
|
||||
variant('powercap', default=False, description='Enable powercap interface support')
|
||||
variant('rapl', default=False, description='Enable RAPL support')
|
||||
variant('lmsensors', default=False, description='Enable lm_sensors support')
|
||||
|
||||
depends_on('lm-sensors', when='+lmsensors')
|
||||
|
||||
# Does not build with newer versions of gcc, see
|
||||
# https://bitbucket.org/icl/papi/issues/46/cannot-compile-on-arch-linux
|
||||
patch('https://bitbucket.org/icl/papi/commits/53de184a162b8a7edff48fed01a15980664e15b1/raw', sha256='64c57b3ad4026255238cc495df6abfacc41de391a0af497c27d0ac819444a1f8', when='@5.4.0:5.6.99%gcc@8:')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
if '+lmsensors' in spec:
|
||||
with working_dir("src/components/lmsensors"):
|
||||
configure_args = [
|
||||
"--with-sensors_incdir=%s/include/sensors" %
|
||||
spec['lm-sensors'].prefix,
|
||||
"--with-sensors_libdir=%s/lib" %
|
||||
spec['lm-sensors'].prefix]
|
||||
configure(*configure_args)
|
||||
with working_dir("src"):
|
||||
|
||||
configure_args = ["--prefix=%s" % prefix]
|
||||
@@ -44,6 +61,10 @@ def install(self, spec, prefix):
|
||||
# fail, so that PAPI does not get confused
|
||||
configure_args.append('MPICC=:')
|
||||
|
||||
configure_args.append(
|
||||
'--with-components={0}'.format(' '.join(
|
||||
filter(lambda x: spec.variants[x].value, spec.variants))))
|
||||
|
||||
configure(*configure_args)
|
||||
|
||||
# Don't use <malloc.h>
|
||||
|
||||
@@ -18,6 +18,7 @@ class Pflotran(AutotoolsPackage):
|
||||
maintainers = ['ghammond86', 'balay']
|
||||
|
||||
version('develop')
|
||||
version('xsdk-0.5.0', commit='98a959c591b72f73373febf5f9735d2c523b4c20')
|
||||
version('xsdk-0.4.0', commit='c851cbc94fc56a32cfdb0678f3c24b9936a5584e')
|
||||
version('xsdk-0.3.0', branch='release/xsdk-0.3.0')
|
||||
version('xsdk-0.2.0', commit='4da763c6136df57caff43f98c926433958cfdea6')
|
||||
@@ -25,11 +26,11 @@ class Pflotran(AutotoolsPackage):
|
||||
depends_on('mpi')
|
||||
depends_on('hdf5@1.8.12:+mpi+fortran')
|
||||
depends_on('petsc@develop:+hdf5+metis', when='@develop')
|
||||
depends_on('petsc@3.12:+hdf5+metis', when='@xsdk-0.5.0')
|
||||
depends_on('petsc@3.10:+hdf5+metis', when='@xsdk-0.4.0')
|
||||
depends_on('petsc@xsdk-0.2.0+hdf5+metis', when='@xsdk-0.2.0')
|
||||
depends_on('petsc@3.8.0:+hdf5+metis', when='@xsdk-0.3.0')
|
||||
|
||||
@property
|
||||
def parallel(self):
|
||||
return (self.spec.satisfies('@develop') or
|
||||
self.spec.satisfies('@xsdk-0.4.0'))
|
||||
return (self.spec.satisfies('@xsdk-0.4.0:'))
|
||||
|
||||
@@ -21,9 +21,16 @@ class Plumed(AutotoolsPackage):
|
||||
and C/C++ codes.
|
||||
"""
|
||||
homepage = 'http://www.plumed.org/'
|
||||
url = 'https://github.com/plumed/plumed2/archive/v2.5.0.tar.gz'
|
||||
url = 'https://github.com/plumed/plumed2/archive/v2.5.3.tar.gz'
|
||||
git = 'https://github.com/plumed/plumed2.git'
|
||||
|
||||
version('master', branch='master')
|
||||
version('2.6b', sha256='3ecda9d46967c8ddd08e820aed974794d926cffb78b262f9d42cdbece3b15677')
|
||||
version('2.5.3', preferred=True, sha256='543288be667dc4201fc461ecd2dd4878ddfbeac682d0c021c99ea8e501c7c9dc')
|
||||
version('2.5.2', sha256='85d10cc46e2e37c7719cf51c0931278f56c2c8f8a9d86188b2bf97c2535a2ab4')
|
||||
version('2.5.1', sha256='de309980dcfd6f6e0e70e138856f4bd9eb4d8a513906a5e6389f18a5af7f2eba')
|
||||
version('2.5.0', sha256='53e08187ec9f8af2326fa84407e34644a7c51d2af93034309fb70675eee5e4f7')
|
||||
version('2.4.6', sha256='c22ad19f5cd36ce9fe4ba0b53158fc2a3d985c48fc04606e3f3b3e835b994cb3')
|
||||
version('2.4.4', sha256='1e5c24109314481fad404da97d61c7339b219e27e120c9c80bacc79c9f6a51a8')
|
||||
version('2.4.2', sha256='528ce57f1f5330480bcd403140166a4580efd2acaea39c85dfeca5e2cd649321')
|
||||
version('2.4.1', sha256='f00410ebdd739c2ddf55fcd714ff4bd88a1029e02d2fc9cea0b5fca34e0fc4eb')
|
||||
@@ -53,7 +60,7 @@ class Plumed(AutotoolsPackage):
|
||||
depends_on('lapack')
|
||||
# For libmatheval support through the 'function' module
|
||||
# which is enabled by default (or when optional_modules=all)
|
||||
depends_on('libmatheval')
|
||||
depends_on('libmatheval', when='@:2.4.99')
|
||||
|
||||
depends_on('mpi', when='+mpi')
|
||||
depends_on('gsl', when='+gsl')
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
||||
|
||||
from spack import *
|
||||
import spack.architecture
|
||||
|
||||
|
||||
class Pmdk(Package):
|
||||
@@ -36,7 +35,7 @@ def install(self, spec, prefix):
|
||||
|
||||
# pmdk is particular about the ARCH specification, must be
|
||||
# exactly "x86_64" for build to work
|
||||
if 'x86_64' in spack.architecture.sys_type():
|
||||
if spec.target.family == 'x86_64':
|
||||
make_args += ['ARCH=x86_64']
|
||||
|
||||
make("install", *make_args)
|
||||
|
||||
@@ -31,7 +31,7 @@ class Precice(CMakePackage):
|
||||
# Skip version 1.1.1 entirely, the cmake was lacking install.
|
||||
|
||||
variant('mpi', default=True, description='Enable MPI support')
|
||||
variant('petsc', default=False, description='Enable PETSc support')
|
||||
variant('petsc', default=True, description='Enable PETSc support')
|
||||
variant('python', default=False, description='Enable Python support')
|
||||
variant('shared', default=True, description='Build shared libraries')
|
||||
|
||||
|
||||
@@ -15,6 +15,5 @@ class PyEnum34(PythonPackage):
|
||||
version('1.1.6', sha256='8ad8c4783bf61ded74527bffb48ed9b54166685e4230386a9ed9b1279e2df5b1')
|
||||
|
||||
depends_on('python')
|
||||
conflicts('python@3.4:')
|
||||
depends_on('py-ordereddict', when='^python@:2.6', type=('build', 'run'))
|
||||
depends_on('py-setuptools', type='build')
|
||||
|
||||
@@ -85,7 +85,7 @@ class PyMatplotlib(PythonPackage):
|
||||
depends_on('py-subprocess32', type=('build', 'run'), when='^python@:2.7')
|
||||
depends_on('py-functools32', type=('build', 'run'), when='@:2.0.999 ^python@2.7')
|
||||
depends_on('py-backports-functools-lru-cache', type=('build', 'run'),
|
||||
when='@2.1.0:2.999.999')
|
||||
when='@2.1.0:2.999.999 ^python@:2')
|
||||
depends_on('py-six@1.9.0:', type=('build', 'run'), when='@:2')
|
||||
|
||||
# Optional backend dependencies
|
||||
|
||||
@@ -31,5 +31,6 @@ class PyMultiqc(PythonPackage):
|
||||
depends_on('py-pyyaml', type=('build', 'run'))
|
||||
depends_on('py-simplejson', type=('build', 'run'))
|
||||
depends_on('py-requests', type=('build', 'run'), when='@1.5:')
|
||||
depends_on('py-enum34', type=('build', 'run'), when='@1.5:')
|
||||
depends_on('py-enum34', type=('build', 'run'), when='@1.4:1.5 ^python@:3.3')
|
||||
depends_on('py-enum34', type=('build', 'run'), when='@1.3')
|
||||
depends_on('py-markdown', type=('build', 'run'), when='@1.5:')
|
||||
|
||||
@@ -15,7 +15,7 @@ class PyNumpy(PythonPackage):
|
||||
number capabilities"""
|
||||
|
||||
homepage = "http://www.numpy.org/"
|
||||
url = "https://pypi.io/packages/source/n/numpy/numpy-1.17.3.zip"
|
||||
url = "https://pypi.io/packages/source/n/numpy/numpy-1.17.4.zip"
|
||||
|
||||
maintainers = ['adamjstewart']
|
||||
install_time_test_callbacks = ['install_test', 'import_module_test']
|
||||
@@ -27,6 +27,7 @@ class PyNumpy(PythonPackage):
|
||||
'numpy.distutils.command', 'numpy.distutils.fcompiler'
|
||||
]
|
||||
|
||||
version('1.17.4', sha256='f58913e9227400f1395c7b800503ebfdb0772f1c33ff8cb4d6451c06cabdf316')
|
||||
version('1.17.3', sha256='a0678793096205a4d784bd99f32803ba8100f639cf3b932dc63b21621390ea7e')
|
||||
version('1.17.2', sha256='73615d3edc84dd7c4aeb212fa3748fb83217e00d201875a47327f55363cef2df')
|
||||
version('1.17.1', sha256='f11331530f0eff69a758d62c2461cd98cdc2eae0147279d8fc86e0464eb7e8ca')
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
||||
|
||||
from spack import *
|
||||
import os
|
||||
|
||||
|
||||
class PyPyqt4(SIPPackage):
|
||||
@@ -28,16 +29,73 @@ class PyPyqt4(SIPPackage):
|
||||
version('4.11.3', sha256='853780dcdbe2e6ba785d703d059b096e1fc49369d3e8d41a060be874b8745686',
|
||||
url='http://sourceforge.net/projects/pyqt/files/PyQt4/PyQt-4.11.3/PyQt-x11-gpl-4.11.3.tar.gz')
|
||||
|
||||
variant('qsci', default=False, description='Build with QScintilla python bindings')
|
||||
|
||||
# Supposedly can also be built with Qt 5 compatibility layer
|
||||
depends_on('qt@:4')
|
||||
depends_on('qscintilla', when='+qsci')
|
||||
|
||||
# For building Qscintilla python bindings
|
||||
resource(name='qscintilla',
|
||||
url='https://www.riverbankcomputing.com/static/Downloads/QScintilla/2.10.2/QScintilla_gpl-2.10.2.tar.gz',
|
||||
sha256='14b31d20717eed95ea9bea4cd16e5e1b72cee7ebac647cba878e0f6db6a65ed0',
|
||||
destination='spack-resource-qscintilla',
|
||||
when='^qscintilla@2.10.2'
|
||||
)
|
||||
|
||||
# https://www.riverbankcomputing.com/static/Docs/PyQt4/installation.html
|
||||
def configure_file(self):
|
||||
return 'configure-ng.py'
|
||||
|
||||
def configure_args(self):
|
||||
return [
|
||||
args = [
|
||||
'--pyuic4-interpreter', self.spec['python'].command.path,
|
||||
'--sipdir', self.prefix.share.sip.PyQt4,
|
||||
'--stubsdir', join_path(site_packages_dir, 'PyQt4'),
|
||||
'--stubsdir', join_path(site_packages_dir, 'PyQt4')
|
||||
]
|
||||
if '+qsci' in self.spec:
|
||||
args.extend(['--qsci-api-destdir', self.prefix.share.qsci])
|
||||
return args
|
||||
|
||||
@run_after('install')
|
||||
def make_qsci(self):
|
||||
if '+qsci' in self.spec:
|
||||
rsrc_py_path = os.path.join(
|
||||
self.stage.source_path,
|
||||
'spack-resource-qscintilla/QScintilla_gpl-' +
|
||||
str(self.spec['qscintilla'].version), 'Python')
|
||||
with working_dir(rsrc_py_path):
|
||||
pydir = join_path(site_packages_dir, 'PyQt4')
|
||||
python = self.spec['python'].command
|
||||
python('configure.py',
|
||||
'--sip=' + self.prefix.bin.sip,
|
||||
'--qsci-incdir=' +
|
||||
self.spec['qscintilla'].prefix.include,
|
||||
'--qsci-libdir=' + self.spec['qscintilla'].prefix.lib,
|
||||
'--qsci-sipdir=' + self.prefix.share.sip.PyQt4,
|
||||
'--apidir=' + self.prefix.share.qsci,
|
||||
'--destdir=' + pydir,
|
||||
'--pyqt-sipdir=' + self.prefix.share.sip.PyQt4,
|
||||
'--sip-incdir=' + python_include_dir,
|
||||
'--stubsdir=' + pydir)
|
||||
|
||||
# Fix build errors
|
||||
# "QAbstractScrollArea: No such file or directory"
|
||||
# "qprinter.h: No such file or directory"
|
||||
# ".../Qsci.so: undefined symbol: _ZTI10Qsci...."
|
||||
qscipro = FileFilter('Qsci/Qsci.pro')
|
||||
link_qscilibs = 'LIBS += -L' + self.prefix.lib +\
|
||||
' -lqscintilla2_qt4'
|
||||
qscipro.filter('TEMPLATE = lib',
|
||||
'TEMPLATE = lib\nQT += widgets' +
|
||||
'\nQT += printsupport\n' + link_qscilibs)
|
||||
|
||||
make()
|
||||
|
||||
# Fix installation prefixes
|
||||
makefile = FileFilter('Makefile')
|
||||
makefile.filter(r'\$\(INSTALL_ROOT\)', '')
|
||||
makefile = FileFilter('Qsci/Makefile')
|
||||
makefile.filter(r'\$\(INSTALL_ROOT\)', '')
|
||||
|
||||
make('install')
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
||||
|
||||
from spack import *
|
||||
import os
|
||||
|
||||
|
||||
class PyPyqt5(SIPPackage):
|
||||
@@ -27,16 +28,74 @@ class PyPyqt5(SIPPackage):
|
||||
|
||||
version('5.13.0', sha256='0cdbffe5135926527b61cc3692dd301cd0328dd87eeaf1313e610787c46faff9')
|
||||
|
||||
variant('qsci', default=False, description='Build with QScintilla python bindings')
|
||||
|
||||
# Without opengl support, I got the following error:
|
||||
# sip: QOpenGLFramebufferObject is undefined
|
||||
depends_on('qt@5:+opengl')
|
||||
depends_on('python@2.6:', type=('build', 'run'))
|
||||
depends_on('py-enum34', type=('build', 'run'), when='^python@:3.3')
|
||||
|
||||
depends_on('qscintilla', when='+qsci')
|
||||
|
||||
# For building Qscintilla python bindings
|
||||
resource(name='qscintilla',
|
||||
url='https://www.riverbankcomputing.com/static/Downloads/QScintilla/2.10.2/QScintilla_gpl-2.10.2.tar.gz',
|
||||
sha256='14b31d20717eed95ea9bea4cd16e5e1b72cee7ebac647cba878e0f6db6a65ed0',
|
||||
destination='spack-resource-qscintilla',
|
||||
when='^qscintilla@2.10.2'
|
||||
)
|
||||
|
||||
# https://www.riverbankcomputing.com/static/Docs/PyQt5/installation.html
|
||||
def configure_args(self):
|
||||
return [
|
||||
args = [
|
||||
'--pyuic5-interpreter', self.spec['python'].command.path,
|
||||
'--sipdir', self.prefix.share.sip.PyQt5,
|
||||
'--stubsdir', join_path(site_packages_dir, 'PyQt5'),
|
||||
]
|
||||
if '+qsci' in self.spec:
|
||||
args.extend(['--qsci-api-destdir', self.prefix.share.qsci])
|
||||
return args
|
||||
|
||||
@run_after('install')
|
||||
def make_qsci(self):
|
||||
if '+qsci' in self.spec:
|
||||
rsrc_py_path = os.path.join(
|
||||
self.stage.source_path,
|
||||
'spack-resource-qscintilla/QScintilla_gpl-' +
|
||||
str(self.spec['qscintilla'].version), 'Python')
|
||||
with working_dir(rsrc_py_path):
|
||||
pydir = join_path(site_packages_dir, 'PyQt5')
|
||||
python = self.spec['python'].command
|
||||
python('configure.py', '--pyqt=PyQt5',
|
||||
'--sip=' + self.prefix.bin.sip,
|
||||
'--qsci-incdir=' +
|
||||
self.spec['qscintilla'].prefix.include,
|
||||
'--qsci-libdir=' + self.spec['qscintilla'].prefix.lib,
|
||||
'--qsci-sipdir=' + self.prefix.share.sip.PyQt5,
|
||||
'--apidir=' + self.prefix.share.qsci,
|
||||
'--destdir=' + pydir,
|
||||
'--pyqt-sipdir=' + self.prefix.share.sip.PyQt5,
|
||||
'--sip-incdir=' + python_include_dir,
|
||||
'--stubsdir=' + pydir)
|
||||
|
||||
# Fix build errors
|
||||
# "QAbstractScrollArea: No such file or directory"
|
||||
# "qprinter.h: No such file or directory"
|
||||
# ".../Qsci.so: undefined symbol: _ZTI10Qsci...."
|
||||
qscipro = FileFilter('Qsci/Qsci.pro')
|
||||
link_qscilibs = 'LIBS += -L' + self.prefix.lib +\
|
||||
' -lqscintilla2_qt5'
|
||||
qscipro.filter('TEMPLATE = lib',
|
||||
'TEMPLATE = lib\nQT += widgets' +
|
||||
'\nQT += printsupport\n' + link_qscilibs)
|
||||
|
||||
make()
|
||||
|
||||
# Fix installation prefixes
|
||||
makefile = FileFilter('Makefile')
|
||||
makefile.filter(r'\$\(INSTALL_ROOT\)', '')
|
||||
makefile = FileFilter('Qsci/Makefile')
|
||||
makefile.filter(r'\$\(INSTALL_ROOT\)', '')
|
||||
|
||||
make('install')
|
||||
|
||||
17
var/spack/repos/builtin/packages/py-ranger-fm/package.py
Normal file
17
var/spack/repos/builtin/packages/py-ranger-fm/package.py
Normal file
@@ -0,0 +1,17 @@
|
||||
# Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
|
||||
# Spack Project Developers. See the top-level COPYRIGHT file for details.
|
||||
#
|
||||
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
||||
|
||||
#
|
||||
from spack import *
|
||||
|
||||
|
||||
class PyRangerFm(PythonPackage):
|
||||
"""A VIM-inspired filemanager for the console"""
|
||||
|
||||
homepage = "https://pypi.python.org/pypi/ranger-fm"
|
||||
url = "https://pypi.io/packages/source/r/ranger-fm/ranger-fm-1.9.2.tar.gz"
|
||||
git = "https://github.com/ranger/ranger.git"
|
||||
|
||||
version('1.9.2', sha256='0ec62031185ad1f40b9faebd5a2d517c8597019c2eee919e3f1c60ce466d8625')
|
||||
@@ -1,18 +0,0 @@
|
||||
# Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
|
||||
# Spack Project Developers. See the top-level COPYRIGHT file for details.
|
||||
#
|
||||
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
||||
|
||||
#
|
||||
from spack import *
|
||||
|
||||
|
||||
class PyRanger(PythonPackage):
|
||||
"""A VIM-inspired filemanager for the console"""
|
||||
|
||||
homepage = "http://ranger.nongnu.org/"
|
||||
url = "https://github.com/ranger/ranger/archive/v1.7.2.tar.gz"
|
||||
|
||||
version('1.7.2', sha256='80917c93396e46272b6de63816d925eb708291a9f7a559d49b24c571ea0eeeb3')
|
||||
|
||||
depends_on('python@2.6:')
|
||||
@@ -79,7 +79,7 @@ def setup_build_environment(self, env):
|
||||
# https://scikit-learn.org/stable/developers/advanced_installation.html#mac-osx
|
||||
elif self.spec.satisfies('@0.21: %clang platform=darwin +openmp'):
|
||||
env.append_flags(
|
||||
'CPPFLAGS', '-Xpreprocessor -fopenmp')
|
||||
'CPPFLAGS', self.compiler.openmp_flag)
|
||||
env.append_flags(
|
||||
'CFLAGS', self.spec['llvm-openmp'].headers.include_flags)
|
||||
env.append_flags(
|
||||
|
||||
@@ -128,7 +128,7 @@ class PyTorch(PythonPackage):
|
||||
depends_on('fbgemm', when='+fbgemm')
|
||||
# TODO: add dependency: https://github.com/ROCmSoftwarePlatform/MIOpen
|
||||
depends_on('miopen', when='+miopen')
|
||||
depends_on('mkl', when='+mkldnn')
|
||||
depends_on('intel-mkl-dnn', when='+mkldnn')
|
||||
# TODO: add dependency: https://github.com/Maratyszcza/NNPACK
|
||||
depends_on('nnpack', when='+nnpack')
|
||||
depends_on('qnnpack', when='+qnnpack')
|
||||
@@ -219,7 +219,7 @@ def enable_or_disable(variant, keyword='USE', var=None, newer=False):
|
||||
|
||||
enable_or_disable('mkldnn')
|
||||
if '+mkldnn' in self.spec:
|
||||
env.set('MKLDNN_HOME', self.spec['intel-mkl'].prefix)
|
||||
env.set('MKLDNN_HOME', self.spec['intel-mkl-dnn'].prefix)
|
||||
|
||||
enable_or_disable('nnpack')
|
||||
enable_or_disable('qnnpack')
|
||||
|
||||
68
var/spack/repos/builtin/packages/qscintilla/package.py
Normal file
68
var/spack/repos/builtin/packages/qscintilla/package.py
Normal file
@@ -0,0 +1,68 @@
|
||||
# Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
|
||||
# Spack Project Developers. See the top-level COPYRIGHT file for details.
|
||||
#
|
||||
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
||||
|
||||
from spack import *
|
||||
import os
|
||||
|
||||
|
||||
class Qscintilla(QMakePackage):
|
||||
"""
|
||||
QScintilla is a port to Qt of Neil Hodgson's Scintilla C++ editor control.
|
||||
"""
|
||||
|
||||
homepage = "https://www.riverbankcomputing.com/software/qscintilla/intro"
|
||||
url = "https://www.riverbankcomputing.com/static/Downloads/QScintilla/2.11.2/QScintilla_gpl-2.11.2.tar.gz"
|
||||
|
||||
version('2.11.2', sha256='029bdc476a069fda2cea3cd937ba19cc7fa614fb90578caef98ed703b658f4a1')
|
||||
# Newer versions of Qscintilla won't build, so prefer the following version
|
||||
version('2.10.2', sha256='14b31d20717eed95ea9bea4cd16e5e1b72cee7ebac647cba878e0f6db6a65ed0', preferred=True)
|
||||
|
||||
variant('designer', default=False, description="Enable pluging for Qt-Designer")
|
||||
# No 'python' variant, since Python bindings will be
|
||||
# built by PyQt5+qsci instead
|
||||
|
||||
depends_on('qt')
|
||||
|
||||
@run_before('qmake')
|
||||
def chdir(self):
|
||||
os.chdir(str(self.stage.source_path) + '/Qt4Qt5')
|
||||
|
||||
def qmake_args(self):
|
||||
# below, DEFINES ... gets rid of ...regex...errors during build
|
||||
# although, there shouldn't be such errors since we use '-std=c++11'
|
||||
args = ['CONFIG+=-std=c++11', 'DEFINES+=NO_CXX11_REGEX=1']
|
||||
return args
|
||||
|
||||
# When INSTALL_ROOT is unset, qscintilla is installed under qt_prefix
|
||||
# giving 'Nothing Installed Error'
|
||||
def setup_build_environment(self, env):
|
||||
spack_env.set('INSTALL_ROOT', self.prefix)
|
||||
|
||||
def setup_run_environment(self, env):
|
||||
env.prepend_path('QT_PLUGIN_PATH', self.prefix.plugins)
|
||||
|
||||
# Fix install prefix
|
||||
@run_after('qmake')
|
||||
def fix_install_path(self):
|
||||
makefile = FileFilter('Makefile')
|
||||
makefile.filter(r'\$\(INSTALL_ROOT\)' +
|
||||
self.spec['qt'].prefix, '$(INSTALL_ROOT)')
|
||||
|
||||
@run_after('install')
|
||||
def postinstall(self):
|
||||
# Make designer plugin
|
||||
if '+designer' in self.spec:
|
||||
with working_dir(os.path.join(self.stage.source_path,
|
||||
'designer-Qt4Qt5')):
|
||||
qscipro = FileFilter('designer.pro')
|
||||
qscipro.filter('TEMPLATE = lib',
|
||||
'TEMPLATE = lib\nINCLUDEPATH += ../Qt4Qt5\n')
|
||||
|
||||
qmake()
|
||||
make()
|
||||
makefile = FileFilter('Makefile')
|
||||
makefile.filter(r'\$\(INSTALL_ROOT\)' +
|
||||
self.spec['qt'].prefix, '$(INSTALL_ROOT)')
|
||||
make('install')
|
||||
@@ -12,7 +12,11 @@ class Revbayes(CMakePackage):
|
||||
|
||||
homepage = "https://revbayes.github.io"
|
||||
url = "https://github.com/revbayes/revbayes/archive/v1.0.11.tar.gz"
|
||||
git = "https://github.com/revbayes/revbayes.git"
|
||||
|
||||
version('develop', branch='development')
|
||||
version('1.0.13', sha256='472b4ccc44d813c1ff1b8d27e8ccf3d96388de79aa1688b3714f683ba65038fa')
|
||||
version('1.0.12', sha256='d79f3a9bc72305cab35009d11e1f027fcaacde7329a4c49b5b8285588a8d3588')
|
||||
version('1.0.11', sha256='7e81b1952e3a63cb84617fa632f4ccdf246b4d79e7d537a423540de047dadf50')
|
||||
version('1.0.10', sha256='95e9affe8ca8d62880cf46778b6ec9dd8726e62a185670ebcbadf2eb2bb79f93')
|
||||
|
||||
@@ -21,9 +25,14 @@ class Revbayes(CMakePackage):
|
||||
depends_on('boost')
|
||||
depends_on('mpi', when='+mpi')
|
||||
|
||||
conflicts('%gcc@7.1.0:')
|
||||
conflicts('%gcc@7.1.0:', when='@:1.0.12')
|
||||
|
||||
root_cmakelists_dir = 'projects/cmake/build'
|
||||
@property
|
||||
def root_cmakelists_dir(self):
|
||||
if self.spec.version > Version('1.0.13') and '+mpi' in self.spec:
|
||||
return 'projects/cmake/build-mpi'
|
||||
else:
|
||||
return 'projects/cmake/build'
|
||||
|
||||
@run_before('cmake')
|
||||
def regenerate(self):
|
||||
@@ -44,3 +53,9 @@ def install(self, spec, prefix):
|
||||
else:
|
||||
install_path = join_path(self.build_directory, '..', 'rb')
|
||||
install(install_path, prefix.bin)
|
||||
|
||||
@when('@1.0.12:1.0.13')
|
||||
def install(self, spec, prefix):
|
||||
mkdirp(prefix.bin)
|
||||
install_path = join_path(self.build_directory, '..', 'rb')
|
||||
install(install_path, prefix.bin)
|
||||
|
||||
15
var/spack/repos/builtin/packages/rnaz/package.py
Normal file
15
var/spack/repos/builtin/packages/rnaz/package.py
Normal file
@@ -0,0 +1,15 @@
|
||||
# Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
|
||||
# Spack Project Developers. See the top-level COPYRIGHT file for details.
|
||||
#
|
||||
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
||||
|
||||
from spack import *
|
||||
|
||||
|
||||
class Rnaz(AutotoolsPackage):
|
||||
"""RNAz - predicting structural noncoding RNAs."""
|
||||
|
||||
homepage = "https://www.tbi.univie.ac.at/software/RNAz"
|
||||
url = "https://www.tbi.univie.ac.at/software/RNAz/RNAz-2.1.tar.gz"
|
||||
|
||||
version('2.1', sha256='b32ec0361889319f2058f224d6c456c853dbc30dff4dba90c53a8f9fd7b83be5')
|
||||
@@ -252,8 +252,7 @@ class Root(CMakePackage):
|
||||
depends_on('vc', when='+vc')
|
||||
depends_on('veccore', when='+veccore')
|
||||
depends_on('vdt', when='+vdt')
|
||||
depends_on('libxml2+python', when='+xml+python')
|
||||
depends_on('libxml2~python', when='+xml~python')
|
||||
depends_on('libxml2', when='+xml')
|
||||
depends_on('xrootd', when='+xrootd')
|
||||
# depends_on('hdfs') - supported (TODO)
|
||||
|
||||
@@ -507,23 +506,27 @@ def cmake_args(self):
|
||||
spec['python'].command.path)
|
||||
return options
|
||||
|
||||
def setup_environment(self, spack_env, run_env):
|
||||
run_env.set('ROOTSYS', self.prefix)
|
||||
run_env.set('ROOT_VERSION', 'v{0}'.format(self.version.up_to(1)))
|
||||
run_env.prepend_path('PYTHONPATH', self.prefix.lib)
|
||||
def setup_build_environment(self, env):
|
||||
if 'lz4' in self.spec:
|
||||
spack_env.append_path('CMAKE_PREFIX_PATH',
|
||||
self.spec['lz4'].prefix)
|
||||
spack_env.set('SPACK_INCLUDE_DIRS', '', force=True)
|
||||
env.append_path('CMAKE_PREFIX_PATH',
|
||||
self.spec['lz4'].prefix)
|
||||
env.set('SPACK_INCLUDE_DIRS', '', force=True)
|
||||
|
||||
def setup_dependent_environment(self, spack_env, run_env, dependent_spec):
|
||||
spack_env.set('ROOTSYS', self.prefix)
|
||||
spack_env.set('ROOT_VERSION', 'v{0}'.format(self.version.up_to(1)))
|
||||
spack_env.prepend_path('PYTHONPATH', self.prefix.lib)
|
||||
spack_env.prepend_path('PATH', self.prefix.bin)
|
||||
spack_env.append_path('CMAKE_MODULE_PATH', '{0}/cmake'
|
||||
.format(self.prefix))
|
||||
run_env.set('ROOTSYS', self.prefix)
|
||||
run_env.set('ROOT_VERSION', 'v{0}'.format(self.version.up_to(1)))
|
||||
run_env.prepend_path('PYTHONPATH', self.prefix.lib)
|
||||
run_env.prepend_path('PATH', self.prefix.bin)
|
||||
def setup_run_environment(self, env):
|
||||
env.set('ROOTSYS', self.prefix)
|
||||
env.set('ROOT_VERSION', 'v{0}'.format(self.version.up_to(1)))
|
||||
env.prepend_path('PYTHONPATH', self.prefix.lib)
|
||||
|
||||
def setup_dependent_build_environment(self, env, dependent_spec):
|
||||
env.set('ROOTSYS', self.prefix)
|
||||
env.set('ROOT_VERSION', 'v{0}'.format(self.version.up_to(1)))
|
||||
env.prepend_path('PYTHONPATH', self.prefix.lib)
|
||||
env.prepend_path('PATH', self.prefix.bin)
|
||||
env.append_path('CMAKE_MODULE_PATH', '{0}/cmake'
|
||||
.format(self.prefix))
|
||||
|
||||
def setup_dependent_run_environment(self, env, dependent_spec):
|
||||
env.set('ROOTSYS', self.prefix)
|
||||
env.set('ROOT_VERSION', 'v{0}'.format(self.version.up_to(1)))
|
||||
env.prepend_path('PYTHONPATH', self.prefix.lib)
|
||||
env.prepend_path('PATH', self.prefix.bin)
|
||||
|
||||
32
var/spack/repos/builtin/packages/sfcgal/package.py
Normal file
32
var/spack/repos/builtin/packages/sfcgal/package.py
Normal file
@@ -0,0 +1,32 @@
|
||||
# Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
|
||||
# Spack Project Developers. See the top-level COPYRIGHT file for details.
|
||||
#
|
||||
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
||||
|
||||
from spack import *
|
||||
|
||||
|
||||
class Sfcgal(CMakePackage):
|
||||
"""
|
||||
SFCGAL is a C++ wrapper library around CGAL with the aim of supporting
|
||||
ISO 19107:2013 and OGC Simple Features Access 1.2 for 3D operations. SFCGAL
|
||||
provides standard compliant geometry types and operations, that can be
|
||||
accessed from its C or C++ APIs.
|
||||
"""
|
||||
|
||||
homepage = "http://www.sfcgal.org/"
|
||||
url = "https://github.com/Oslandia/SFCGAL/archive/v1.3.7.tar.gz"
|
||||
|
||||
version('1.3.7', sha256='30ea1af26cb2f572c628aae08dd1953d80a69d15e1cac225390904d91fce031b')
|
||||
|
||||
# Ref: http://oslandia.github.io/SFCGAL/installation.html
|
||||
depends_on('cgal@4.3 +core')
|
||||
depends_on('boost@1.54.0:1.69.0')
|
||||
depends_on('mpfr@2.2.1:')
|
||||
depends_on('gmp@4.2:')
|
||||
|
||||
def cmake_args(self):
|
||||
# It seems viewer is discontinued as of v1.3.0
|
||||
# https://github.com/Oslandia/SFCGAL/releases/tag/v1.3.0
|
||||
# Also, see https://github.com/Oslandia/SFCGAL-viewer
|
||||
return ['-DSFCGAL_BUILD_VIEWER=OFF']
|
||||
@@ -14,9 +14,17 @@ class Sirius(CMakePackage, CudaPackage):
|
||||
homepage = "https://github.com/electronic-structure/SIRIUS"
|
||||
url = "https://github.com/electronic-structure/SIRIUS/archive/v6.1.5.tar.gz"
|
||||
list_url = "https://github.com/electronic-structure/SIRIUS/releases"
|
||||
git = "https://github.com/electronic-structure/SIRIUS.git"
|
||||
|
||||
version('6.1.5', sha256='379f0a2e5208fd6d91c2bd4939c3a5c40002975fb97652946fa1bfe4a3ef97cb')
|
||||
version('develop', branch='develop')
|
||||
version('master', branch='master')
|
||||
|
||||
version('6.4.1', sha256='86f25c71517952a63e92e0a9bcf66d27e4afb2b0d67cf84af480f116b8e7f53c')
|
||||
version('6.4.0', sha256='bc61758b71dd2996e2ff515b8c3560b2c69c00931cb2811a163a31bcfea4436e')
|
||||
version('6.3.4', sha256='8839e988b4bb6ef99b6180f7fba03a5537e31fce51bb3e4c2298b513d6a07e0a')
|
||||
version('6.3.3', sha256='7ba30a4e5c9a545433251211454ec0d59b74ba8941346057bc7de11e7f6886f7')
|
||||
version('6.3.2', sha256='1723e5ad338dad9a816369a6957101b2cae7214425406b12e8712c82447a7ee5')
|
||||
version('6.1.5', sha256='379f0a2e5208fd6d91c2bd4939c3a5c40002975fb97652946fa1bfe4a3ef97cb')
|
||||
|
||||
variant('shared', default=False, description="Build shared libraries")
|
||||
variant('openmp', default=True, description="Build with OpenMP support")
|
||||
@@ -25,8 +33,12 @@ class Sirius(CMakePackage, CudaPackage):
|
||||
variant('elpa', default=False, description="Use ELPA")
|
||||
variant('vdwxc', default=False, description="Enable libvdwxc support")
|
||||
variant('scalapack', default=False, description="Enable scalapack support")
|
||||
variant('magma', default=False, description="Enable MAGMA support")
|
||||
variant('build_type', default='Release',
|
||||
description='CMake build type',
|
||||
values=('Debug', 'Release', 'RelWithDebInfo'))
|
||||
|
||||
depends_on('python')
|
||||
depends_on('python', type=('build', 'run'))
|
||||
depends_on('mpi')
|
||||
depends_on('gsl')
|
||||
depends_on('lapack')
|
||||
@@ -35,19 +47,29 @@ class Sirius(CMakePackage, CudaPackage):
|
||||
depends_on('spglib')
|
||||
depends_on('hdf5+hl')
|
||||
depends_on('pkgconfig', type='build')
|
||||
depends_on('py-mpi4py', when='+python')
|
||||
depends_on('py-pybind11', when='+python')
|
||||
depends_on('py-numpy', when='+python', type=('build', 'run'))
|
||||
depends_on('py-scipy', when='+python', type=('build', 'run'))
|
||||
depends_on('py-h5py', when='+python', type=('build', 'run'))
|
||||
depends_on('py-mpi4py', when='+python', type=('build', 'run'))
|
||||
depends_on('py-pyyaml', when='+python', type=('build', 'run'))
|
||||
depends_on('py-mpi4py', when='+python', type=('build', 'run'))
|
||||
depends_on('py-voluptuous', when='+python', type=('build', 'run'))
|
||||
depends_on('py-pybind11', when='+python', type=('build', 'run'))
|
||||
depends_on('magma', when='+magma')
|
||||
|
||||
depends_on('spfft', when='@6.4.0:~cuda')
|
||||
depends_on('spfft+cuda', when='@6.4.0:+cuda')
|
||||
depends_on('elpa+openmp', when='+elpa+openmp')
|
||||
depends_on('elpa~openmp', when='+elpa~openmp')
|
||||
depends_on('libvdwxc+mpi', when='+vdwxc')
|
||||
depends_on('scalapack', when='+scalapack')
|
||||
depends_on('cuda', when='+cuda')
|
||||
extends('python', when='+python')
|
||||
|
||||
conflicts('+shared', when='@6.3.0:') # option to build shared libraries has been removed
|
||||
|
||||
# TODO:
|
||||
# add support for MAGMA, CRAY_LIBSCI, ROCm, testing
|
||||
# add support for CRAY_LIBSCI, ROCm, testing
|
||||
|
||||
patch("strip-spglib-include-subfolder.patch", when='@6.1.5')
|
||||
patch("link-libraries-fortran.patch", when='@6.1.5')
|
||||
@@ -96,6 +118,7 @@ def _def(variant, flag=None):
|
||||
args = [
|
||||
_def('+openmp'),
|
||||
_def('+elpa'),
|
||||
_def('+magma'),
|
||||
_def('+vdwxc'),
|
||||
_def('+scalapack'),
|
||||
_def('+fortran', 'CREATE_FORTRAN_BINDINGS'),
|
||||
@@ -137,7 +160,7 @@ def _def(variant, flag=None):
|
||||
|
||||
if '+cuda' in spec:
|
||||
cuda_arch = spec.variants['cuda_arch'].value
|
||||
if cuda_arch:
|
||||
if cuda_arch[0] != 'none':
|
||||
args += [
|
||||
'-DCMAKE_CUDA_FLAGS=-arch=sm_{0}'.format(cuda_arch[0])
|
||||
]
|
||||
|
||||
@@ -2,8 +2,7 @@
|
||||
# Spack Project Developers. See the top-level COPYRIGHT file for details.
|
||||
#
|
||||
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
||||
|
||||
from spack import *
|
||||
import os.path
|
||||
|
||||
|
||||
class SpectrumMpi(Package):
|
||||
@@ -19,41 +18,41 @@ def install(self, spec, prefix):
|
||||
def setup_dependent_package(self, module, dependent_spec):
|
||||
# get the compiler names
|
||||
if '%xl' in dependent_spec or '%xl_r' in dependent_spec:
|
||||
self.spec.mpicc = join_path(self.prefix.bin, 'mpixlc')
|
||||
self.spec.mpicxx = join_path(self.prefix.bin, 'mpixlC')
|
||||
self.spec.mpif77 = join_path(self.prefix.bin, 'mpixlf')
|
||||
self.spec.mpifc = join_path(self.prefix.bin, 'mpixlf')
|
||||
self.spec.mpicc = os.path.join(self.prefix.bin, 'mpixlc')
|
||||
self.spec.mpicxx = os.path.join(self.prefix.bin, 'mpixlC')
|
||||
self.spec.mpif77 = os.path.join(self.prefix.bin, 'mpixlf')
|
||||
self.spec.mpifc = os.path.join(self.prefix.bin, 'mpixlf')
|
||||
elif '%pgi' in dependent_spec:
|
||||
self.spec.mpicc = join_path(self.prefix.bin, 'mpipgicc')
|
||||
self.spec.mpicxx = join_path(self.prefix.bin, 'mpipgic++')
|
||||
self.spec.mpif77 = join_path(self.prefix.bin, 'mpipgifort')
|
||||
self.spec.mpifc = join_path(self.prefix.bin, 'mpipgifort')
|
||||
self.spec.mpicc = os.path.join(self.prefix.bin, 'mpipgicc')
|
||||
self.spec.mpicxx = os.path.join(self.prefix.bin, 'mpipgic++')
|
||||
self.spec.mpif77 = os.path.join(self.prefix.bin, 'mpipgifort')
|
||||
self.spec.mpifc = os.path.join(self.prefix.bin, 'mpipgifort')
|
||||
else:
|
||||
self.spec.mpicc = join_path(self.prefix.bin, 'mpicc')
|
||||
self.spec.mpicxx = join_path(self.prefix.bin, 'mpicxx')
|
||||
self.spec.mpif77 = join_path(self.prefix.bin, 'mpif77')
|
||||
self.spec.mpifc = join_path(self.prefix.bin, 'mpif90')
|
||||
self.spec.mpicc = os.path.join(self.prefix.bin, 'mpicc')
|
||||
self.spec.mpicxx = os.path.join(self.prefix.bin, 'mpicxx')
|
||||
self.spec.mpif77 = os.path.join(self.prefix.bin, 'mpif77')
|
||||
self.spec.mpifc = os.path.join(self.prefix.bin, 'mpif90')
|
||||
|
||||
def setup_dependent_environment(self, spack_env, run_env, dependent_spec):
|
||||
def setup_dependent_build_environment(self, env, dependent_spec):
|
||||
if '%xl' in dependent_spec or '%xl_r' in dependent_spec:
|
||||
spack_env.set('MPICC', join_path(self.prefix.bin, 'mpixlc'))
|
||||
spack_env.set('MPICXX', join_path(self.prefix.bin, 'mpixlC'))
|
||||
spack_env.set('MPIF77', join_path(self.prefix.bin, 'mpixlf'))
|
||||
spack_env.set('MPIF90', join_path(self.prefix.bin, 'mpixlf'))
|
||||
env.set('MPICC', os.path.join(self.prefix.bin, 'mpixlc'))
|
||||
env.set('MPICXX', os.path.join(self.prefix.bin, 'mpixlC'))
|
||||
env.set('MPIF77', os.path.join(self.prefix.bin, 'mpixlf'))
|
||||
env.set('MPIF90', os.path.join(self.prefix.bin, 'mpixlf'))
|
||||
elif '%pgi' in dependent_spec:
|
||||
spack_env.set('MPICC', join_path(self.prefix.bin, 'mpipgicc'))
|
||||
spack_env.set('MPICXX', join_path(self.prefix.bin, 'mpipgic++'))
|
||||
spack_env.set('MPIF77', join_path(self.prefix.bin, 'mpipgifort'))
|
||||
spack_env.set('MPIF90', join_path(self.prefix.bin, 'mpipgifort'))
|
||||
env.set('MPICC', os.path.join(self.prefix.bin, 'mpipgicc'))
|
||||
env.set('MPICXX', os.path.join(self.prefix.bin, 'mpipgic++'))
|
||||
env.set('MPIF77', os.path.join(self.prefix.bin, 'mpipgifort'))
|
||||
env.set('MPIF90', os.path.join(self.prefix.bin, 'mpipgifort'))
|
||||
else:
|
||||
spack_env.set('MPICC', join_path(self.prefix.bin, 'mpicc'))
|
||||
spack_env.set('MPICXX', join_path(self.prefix.bin, 'mpic++'))
|
||||
spack_env.set('MPIF77', join_path(self.prefix.bin, 'mpif77'))
|
||||
spack_env.set('MPIF90', join_path(self.prefix.bin, 'mpif90'))
|
||||
env.set('MPICC', os.path.join(self.prefix.bin, 'mpicc'))
|
||||
env.set('MPICXX', os.path.join(self.prefix.bin, 'mpic++'))
|
||||
env.set('MPIF77', os.path.join(self.prefix.bin, 'mpif77'))
|
||||
env.set('MPIF90', os.path.join(self.prefix.bin, 'mpif90'))
|
||||
|
||||
spack_env.set('OMPI_CC', spack_cc)
|
||||
spack_env.set('OMPI_CXX', spack_cxx)
|
||||
spack_env.set('OMPI_FC', spack_fc)
|
||||
spack_env.set('OMPI_F77', spack_f77)
|
||||
env.set('OMPI_CC', spack_cc)
|
||||
env.set('OMPI_CXX', spack_cxx)
|
||||
env.set('OMPI_FC', spack_fc)
|
||||
env.set('OMPI_F77', spack_f77)
|
||||
|
||||
spack_env.prepend_path('LD_LIBRARY_PATH', self.prefix.lib)
|
||||
env.prepend_path('LD_LIBRARY_PATH', self.prefix.lib)
|
||||
|
||||
@@ -49,6 +49,7 @@ class Stat(AutotoolsPackage):
|
||||
depends_on('py-xdot', when='@4.0.1:')
|
||||
depends_on('swig')
|
||||
depends_on('mpi', when='+examples')
|
||||
depends_on('boost')
|
||||
|
||||
patch('configure_mpicxx.patch', when='@2.1.0')
|
||||
|
||||
@@ -60,6 +61,7 @@ def configure_args(self):
|
||||
"--with-graphlib=%s" % spec['graphlib'].prefix,
|
||||
"--with-stackwalker=%s" % spec['dyninst'].prefix,
|
||||
"--with-python=%s" % spec['python'].command.path,
|
||||
"--with-boost=%s" % spec['boost'].prefix,
|
||||
]
|
||||
if '+fgfs' in spec:
|
||||
args.append('--with-fgfs=%s'
|
||||
|
||||
@@ -18,12 +18,14 @@ class Strumpack(CMakePackage):
|
||||
iterative solvers."""
|
||||
|
||||
homepage = "http://portal.nersc.gov/project/sparse/strumpack"
|
||||
url = "https://github.com/pghysels/STRUMPACK/archive/v3.0.3.tar.gz"
|
||||
url = "https://github.com/pghysels/STRUMPACK/archive/v3.3.0.tar.gz"
|
||||
git = "https://github.com/pghysels/STRUMPACK.git"
|
||||
|
||||
maintainers = ['pghysels']
|
||||
|
||||
version('master', branch='master')
|
||||
version('3.3.0', sha256='499fd3b58656b4b6495496920e5372895861ebf15328be8a7a9354e06c734bc7')
|
||||
version('3.2.0', sha256='34d93e1b2a3b8908ef89804b7e08c5a884cbbc0b2c9f139061627c0d2de282c1')
|
||||
version('3.1.1', sha256='c1c3446ee023f7b24baa97b24907735e89ce4ae9f5ef516645dfe390165d1778')
|
||||
version('3.1.0', sha256='b4f91b7d433955518b04538be1c726afc5de4bffb163e982ef8844d391b26fa7')
|
||||
version('3.0.3', sha256='2bd2a40d9585b769ae4ba461de02c6e36433bf2b21827f824a50f2fdf73389f7')
|
||||
@@ -32,6 +34,7 @@ class Strumpack(CMakePackage):
|
||||
version('3.0.0', sha256='7acd9b4653b8b11380de733c80b164348ca00f9226904f5dc166a8e3db88cd20')
|
||||
version('2.2.0', sha256='8fe73875cbbb29ed1faf714e3bf13ad538eb062e39d7d5e73cb9c4aafb571e24')
|
||||
|
||||
variant('shared', default=False, description='Build shared libraries')
|
||||
variant('mpi', default=True, description='Use MPI')
|
||||
variant('openmp', default=True,
|
||||
description='Enable thread parallellism via tasking with OpenMP')
|
||||
@@ -39,6 +42,8 @@ class Strumpack(CMakePackage):
|
||||
description='Enable use of ParMetis')
|
||||
variant('scotch', default=False,
|
||||
description='Enable use of Scotch')
|
||||
variant('butterflypack', default=True,
|
||||
description='Enable use of ButterflyPACK')
|
||||
variant('c_interface', default=True,
|
||||
description='Enable C interface')
|
||||
variant('count_flops', default=False,
|
||||
@@ -59,8 +64,11 @@ class Strumpack(CMakePackage):
|
||||
depends_on('parmetis', when='+parmetis')
|
||||
depends_on('scotch~metis', when='+scotch')
|
||||
depends_on('scotch~metis+mpi', when='+scotch+mpi')
|
||||
depends_on('butterflypack@1.1.0:', when='+butterflypack+mpi')
|
||||
|
||||
conflicts('+parmetis', when='~mpi')
|
||||
conflicts('+butterflypack', when='~mpi')
|
||||
conflicts('+butterflypack', when='strumpack@:3.2.0')
|
||||
|
||||
patch('intel-19-compile.patch', when='@3.1.1')
|
||||
|
||||
@@ -90,11 +98,17 @@ def on_off(varstr):
|
||||
if spec.satisfies('@3.0.4:'):
|
||||
args.extend([
|
||||
'-DTPL_ENABLE_PARMETIS=%s' % on_off('+parmetis'),
|
||||
'-DTPL_ENABLE_SCOTCH=%s' % on_off('+scotch')
|
||||
'-DTPL_ENABLE_SCOTCH=%s' % on_off('+scotch'),
|
||||
'-DTPL_ENABLE_BPACK=%s' % on_off('+butterflypack')
|
||||
])
|
||||
else:
|
||||
args.extend([
|
||||
'-DSTRUMPACK_USE_PARMETIS=%s' % on_off('+parmetis'),
|
||||
'-DSTRUMPACK_USE_SCOTCH=%s' % on_off('+scotch')
|
||||
])
|
||||
|
||||
args.extend([
|
||||
'-DBUILD_SHARED_LIBS=%s' % on_off('+shared')
|
||||
])
|
||||
|
||||
return args
|
||||
|
||||
@@ -0,0 +1,69 @@
|
||||
diff --git a/config/FindPackageMultipass.cmake b/config/FindPackageMultipass.cmake
|
||||
index 128eee9..847c246 100644
|
||||
--- a/config/FindPackageMultipass.cmake
|
||||
+++ b/config/FindPackageMultipass.cmake
|
||||
@@ -138,7 +138,10 @@ macro (MULTIPASS_SOURCE_RUNS includes libraries source runs language)
|
||||
math (EXPR _tmp "${MULTIPASS_TEST_COUNT} + 1") # Why can't I add to a cache variable?
|
||||
set (MULTIPASS_TEST_COUNT ${_tmp} CACHE INTERNAL "Unique test ID")
|
||||
set (testname MULTIPASS_TEST_${MULTIPASS_TEST_COUNT}_${runs})
|
||||
- set (testdir ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp)
|
||||
+ set (testdir ${PROJECT_BINARY_DIR}/PETSC_test)
|
||||
+ if (NOT EXISTS ${testdir})
|
||||
+ file(MAKE_DIRECTORY ${testdir})
|
||||
+ endif ()
|
||||
set (CMAKE_REQUIRED_INCLUDES ${includes})
|
||||
set (CMAKE_REQUIRED_LIBRARIES ${libraries})
|
||||
# if MPI is available, use it for the test
|
||||
@@ -148,24 +151,38 @@ macro (MULTIPASS_SOURCE_RUNS includes libraries source runs language)
|
||||
set (REQUIRED_COMPILER ${CMAKE_${language}_COMPILER})
|
||||
endif ()
|
||||
if(${language} STREQUAL "C")
|
||||
- file(WRITE ${testdir}/src.c "${source}")
|
||||
- try_run(${testname} _compiles ${testdir} ${testdir}/src.c
|
||||
- CMAKE_FLAGS -DCMAKE_C_COMPILER=${REQUIRED_COMPILER} -DINCLUDE_DIRECTORIES=${CMAKE_REQUIRED_INCLUDES}
|
||||
- LINK_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES})
|
||||
- elseif(${language} STREQUAL "CXX")
|
||||
- file(WRITE ${testdir}/src.cxx "${source}")
|
||||
- try_run(${testname} _compiles ${testdir} ${testdir}/src.cxx
|
||||
- CMAKE_FLAGS -DCMAKE_CXX_COMPILER=${REQUIRED_COMPILER} -DINCLUDE_DIRECTORIES=${CMAKE_REQUIRED_INCLUDES}
|
||||
- LINK_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES})
|
||||
- endif()
|
||||
- # ${testname} is the exit code returned by try_run,
|
||||
- # so 0 is success and anything else is a failure.
|
||||
- if (${testname})
|
||||
- set (${runs} FALSE)
|
||||
+ set (extension c)
|
||||
else ()
|
||||
+ set (extension cxx)
|
||||
+ endif ()
|
||||
+ # Create simple test code
|
||||
+ file(WRITE ${testdir}/src.${extension} "${source}")
|
||||
+ # Create a CMakeLists.txt file for the test code
|
||||
+ file(WRITE ${testdir}/CMakeLists.txt
|
||||
+ "cmake_minimum_required(VERSION 3.5)\n"
|
||||
+ "project(ctest ${language})\n"
|
||||
+ "set(CMAKE_VERBOSE_MAKEFILE ON)\n"
|
||||
+ "set(CMAKE_${language}_COMPILER \"${REQUIRED_COMPILER}\")\n"
|
||||
+ "set(CMAKE_${language}_FLAGS \"${CMAKE_${language}_FLAGS}\")\n"
|
||||
+ "include_directories(${CMAKE_REQUIRED_INCLUDES})\n"
|
||||
+ "add_executable(ctest src.${extension})\n"
|
||||
+ "target_link_libraries(ctest ${CMAKE_REQUIRED_LIBRARIES})\n")
|
||||
+ # Attempt to compile the test code
|
||||
+ try_compile(${testname} ${testdir} ${testdir} ctest
|
||||
+ OUTPUT_VARIABLE _output)
|
||||
+ # Write output compiling the test code
|
||||
+ file(WRITE ${testdir}/src.out "${_output}")
|
||||
+ # To ensure we do not use stuff from the previous attempts,
|
||||
+ # we must remove the CMakeFiles directory.
|
||||
+ file(REMOVE_RECURSE ${testdir}/CMakeFiles)
|
||||
+ # Process test result
|
||||
+ if (${testname})
|
||||
set (${runs} TRUE)
|
||||
+ else ()
|
||||
+ set (${runs} FALSE)
|
||||
endif ()
|
||||
unset (_compiles)
|
||||
+ unset (_output)
|
||||
endmacro (MULTIPASS_SOURCE_RUNS)
|
||||
|
||||
|
||||
@@ -194,6 +194,7 @@ class Sundials(CMakePackage):
|
||||
|
||||
# remove OpenMP header file and function from hypre vector test code
|
||||
patch('test_nvector_parhyp.patch', when='@2.7.0:3.0.0')
|
||||
patch('FindPackageMultipass.cmake.patch', when='@5.0.0')
|
||||
|
||||
# ==========================================================================
|
||||
# SUNDIALS Settings
|
||||
|
||||
@@ -40,6 +40,9 @@ class SuperluDist(CMakePackage):
|
||||
depends_on('parmetis')
|
||||
depends_on('metis@5:')
|
||||
|
||||
patch('xl-611.patch', when='@:6.1.1 %xl')
|
||||
patch('xl-611.patch', when='@:6.1.1 %xl_r')
|
||||
|
||||
def cmake_args(self):
|
||||
spec = self.spec
|
||||
args = [
|
||||
@@ -54,6 +57,10 @@ def cmake_args(self):
|
||||
'-DTPL_PARMETIS_INCLUDE_DIRS=%s' % spec['parmetis'].prefix.include
|
||||
]
|
||||
|
||||
if (spec.satisfies('%xl') or spec.satisfies('%xl_r')) and \
|
||||
spec.satisfies('@:6.1.1'):
|
||||
args.append('-DCMAKE_C_FLAGS=-DNoChange')
|
||||
|
||||
if '+int64' in spec:
|
||||
args.append('-DXSDK_INDEX_SIZE=64')
|
||||
else:
|
||||
|
||||
26
var/spack/repos/builtin/packages/superlu-dist/xl-611.patch
Normal file
26
var/spack/repos/builtin/packages/superlu-dist/xl-611.patch
Normal file
@@ -0,0 +1,26 @@
|
||||
commit e51132dbd022139933678b3a751a9b3148fafd19
|
||||
Author: Satish Balay <balay@mcs.anl.gov>
|
||||
Date: Tue Nov 12 16:07:08 2019 -0600
|
||||
|
||||
add ztrtri_ mapping for xlf
|
||||
|
||||
diff --git a/SRC/Cnames.h b/SRC/Cnames.h
|
||||
index 792f514..ebef619 100644
|
||||
--- a/SRC/Cnames.h
|
||||
+++ b/SRC/Cnames.h
|
||||
@@ -179,6 +179,7 @@ at the top-level directory.
|
||||
#define zher2_ ZHER2
|
||||
#define zgeru_ ZGERU
|
||||
|
||||
+#define ztrtri_ ZTRTRI
|
||||
/*
|
||||
#define mc64id_dist MC64ID_DIST
|
||||
#define mc64ad_dist MC64AD_DIST
|
||||
@@ -307,6 +308,7 @@ at the top-level directory.
|
||||
#define zher2_ zher2
|
||||
#define zgeru_ zgeru
|
||||
|
||||
+#define ztrtri_ ztrtri
|
||||
/*
|
||||
#define mc64id_dist mc64id_dist
|
||||
#define mc64ad_dist mc64ad_dist
|
||||
@@ -35,6 +35,7 @@ class Trilinos(CMakePackage):
|
||||
version('xsdk-0.2.0', tag='xsdk-0.2.0')
|
||||
version('develop', branch='develop')
|
||||
version('master', branch='master')
|
||||
version('12.18.1', commit='55a75997332636a28afc9db1aee4ae46fe8d93e7') # tag trilinos-release-12-8-1
|
||||
version('12.14.1', sha256='52a4406cca2241f5eea8e166c2950471dd9478ad6741cbb2a7fc8225814616f0')
|
||||
version('12.12.1', sha256='5474c5329c6309224a7e1726cf6f0d855025b2042959e4e2be2748bd6bb49e18')
|
||||
version('12.10.1', sha256='ab81d917196ffbc21c4927d42df079dd94c83c1a08bda43fef2dd34d0c1a5512')
|
||||
@@ -190,6 +191,12 @@ class Trilinos(CMakePackage):
|
||||
commit='4fe4d9d56cfd4f8a61f392b81d8efd0e389ee764', # branch dtk-3.0
|
||||
placement='DataTransferKit',
|
||||
when='+dtk @12.14.0:12.14.99')
|
||||
resource(name='dtk',
|
||||
git='https://github.com/ornl-cees/DataTransferKit.git',
|
||||
commit='edfa050cd46e2274ab0a0b7558caca0079c2e4ca', # tag 3.1-rc1
|
||||
placement='DataTransferKit',
|
||||
submodules=True,
|
||||
when='+dtk @12.18:12.18.99')
|
||||
resource(name='dtk',
|
||||
git='https://github.com/ornl-cees/DataTransferKit.git',
|
||||
branch='master',
|
||||
@@ -255,7 +262,7 @@ class Trilinos(CMakePackage):
|
||||
conflicts('+dtk', when='~teuchos')
|
||||
conflicts('+dtk', when='~tpetra')
|
||||
# Only allow DTK with Trilinos 12.14 and develop
|
||||
conflicts('+dtk', when='@0:12.12.99,12.16.0:99,master')
|
||||
conflicts('+dtk', when='@0:12.12.99,master')
|
||||
conflicts('+fortrilinos', when='~fortran')
|
||||
conflicts('+fortrilinos', when='@:99')
|
||||
conflicts('+fortrilinos', when='@master')
|
||||
|
||||
@@ -14,6 +14,9 @@ class Trimgalore(Package):
|
||||
homepage = "https://github.com/FelixKrueger/TrimGalore"
|
||||
url = "https://github.com/FelixKrueger/TrimGalore/archive/0.4.4.tar.gz"
|
||||
|
||||
version('0.6.4', sha256='eb57e18203d8a1dce1397b930a348a9969eebaa758b8a7304d04c22f216cea2d')
|
||||
version('0.6.3', sha256='c85104452dbb5cfa8c9307920e804fb53baaad355ce656b111f5243e5eb92db4')
|
||||
version('0.6.2', sha256='c50b841bdc294a6cdc6a27fb7bfbed1973541d20a68a4708584b817c58b3f376')
|
||||
version('0.6.1', sha256='658578c29d007fe66f9ab49608442be703a6fcf535db06eb82659c7edccb62b0')
|
||||
version('0.6.0', sha256='f374dfa4c94e2ad50c63276dda0f341fd95b29cb1d5a0e2ad56e8b0168b758ec')
|
||||
version('0.4.5', sha256='a6b97e554944ddc6ecd50e78df486521f17225d415aad84e9911163faafe1f3c')
|
||||
|
||||
@@ -57,6 +57,7 @@ class Vim(AutotoolsPackage):
|
||||
depends_on('libxtst', when="+x")
|
||||
|
||||
depends_on('ncurses', when="@7.4:")
|
||||
depends_on('findutils', type='build')
|
||||
|
||||
def configure_args(self):
|
||||
spec = self.spec
|
||||
|
||||
@@ -12,6 +12,8 @@ class Vsearch(AutotoolsPackage):
|
||||
homepage = "https://github.com/torognes/vsearch"
|
||||
url = "https://github.com/torognes/vsearch/archive/v2.4.3.tar.gz"
|
||||
|
||||
version('2.14.1', sha256='388529a39eb0618a09047bf91e0a8ae8c9fd851a05f8d975e299331748f97741')
|
||||
version('2.13.3', sha256='e5f34ece28b76403d3ba4a673eca41178fe399c35a1023dbc87d0c0da5efaa52')
|
||||
version('2.4.3', sha256='f7ffc2aec5d76bdaf1ffe7fb733102138214cec3e3846eb225455dcc3c088141')
|
||||
|
||||
depends_on('m4', type='build')
|
||||
|
||||
15
var/spack/repos/builtin/packages/which/package.py
Normal file
15
var/spack/repos/builtin/packages/which/package.py
Normal file
@@ -0,0 +1,15 @@
|
||||
# Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
|
||||
# Spack Project Developers. See the top-level COPYRIGHT file for details.
|
||||
#
|
||||
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
||||
from spack import *
|
||||
|
||||
|
||||
class Which(AutotoolsPackage):
|
||||
"""GNU which - is a utility that is used to find which executable (or
|
||||
alias or shell function) is executed when entered on the shell prompt."""
|
||||
|
||||
homepage = "https://savannah.gnu.org/projects/which/"
|
||||
url = "https://ftp.gnu.org/gnu/which/which-2.21.tar.gz"
|
||||
|
||||
version('2.21', sha256='f4a245b94124b377d8b49646bf421f9155d36aa7614b6ebf83705d3ffc76eaad')
|
||||
@@ -5,6 +5,7 @@
|
||||
|
||||
|
||||
from spack import *
|
||||
import sys
|
||||
|
||||
|
||||
class Xsdk(BundlePackage):
|
||||
@@ -18,91 +19,129 @@ class Xsdk(BundlePackage):
|
||||
maintainers = ['balay', 'luszczek']
|
||||
|
||||
version('develop')
|
||||
version('0.5.0')
|
||||
version('0.4.0')
|
||||
version('0.3.0')
|
||||
version('xsdk-0.2.0')
|
||||
|
||||
variant('debug', default=False, description='Compile in debug mode')
|
||||
variant('cuda', default=False, description='Enable CUDA dependent packages')
|
||||
variant('trilinos', default=True, description='Enable trilinos package build')
|
||||
variant('omega-h', default=True, description='Enable omega-h package build')
|
||||
variant('strumpack', default=True, description='Enable strumpack package build')
|
||||
variant('dealii', default=True, description='Enable dealii package build')
|
||||
variant('phist', default=True, description='Enable phist package build')
|
||||
variant('ginkgo', default=True, description='Enable ginkgo package build')
|
||||
variant('libensemble', default=True, description='Enable py-libensemble package build')
|
||||
variant('precice', default=(sys.platform != 'darwin'),
|
||||
description='Enable precice package build')
|
||||
variant('butterflypack', default=True, description='Enable butterflypack package build')
|
||||
|
||||
depends_on('hypre@develop~internal-superlu+superlu-dist+shared', when='@develop')
|
||||
depends_on('hypre@develop+superlu-dist+shared', when='@develop')
|
||||
depends_on('hypre@2.18.2+superlu-dist+shared', when='@0.5.0')
|
||||
depends_on('hypre@2.15.1~internal-superlu', when='@0.4.0')
|
||||
depends_on('hypre@2.12.1~internal-superlu', when='@0.3.0')
|
||||
depends_on('hypre@xsdk-0.2.0~internal-superlu', when='@xsdk-0.2.0')
|
||||
|
||||
depends_on('mfem@develop+mpi+hypre+superlu-dist+petsc~sundials+examples+miniapps', when='@develop')
|
||||
depends_on('mfem@4.0.1-xsdk+mpi+hypre+superlu-dist+petsc+sundials+examples+miniapps', when='@0.5.0')
|
||||
depends_on('mfem@3.4.0+mpi+hypre+superlu-dist+petsc+sundials+examples+miniapps', when='@0.4.0')
|
||||
depends_on('mfem@3.3.2+mpi+hypre+superlu-dist+petsc+sundials+examples+miniapps', when='@0.3.0')
|
||||
|
||||
depends_on('superlu-dist@develop', when='@develop')
|
||||
depends_on('superlu-dist@6.1.1', when='@0.5.0')
|
||||
depends_on('superlu-dist@6.1.0', when='@0.4.0')
|
||||
depends_on('superlu-dist@5.2.2', when='@0.3.0')
|
||||
depends_on('superlu-dist@xsdk-0.2.0', when='@xsdk-0.2.0')
|
||||
|
||||
depends_on('trilinos@develop+hypre+superlu-dist+metis+hdf5~mumps+boost~suite-sparse+tpetra+nox+ifpack2+zoltan2+amesos2~exodus+dtk+intrepid2+shards',
|
||||
when='@develop')
|
||||
when='@develop +trilinos')
|
||||
depends_on('trilinos@12.18.1+hypre+superlu-dist+metis+hdf5~mumps+boost~suite-sparse+tpetra+nox+ifpack2+zoltan2+amesos2~exodus+dtk+intrepid2+shards',
|
||||
when='@0.5.0 +trilinos')
|
||||
depends_on('trilinos@12.14.1+hypre+superlu-dist+metis+hdf5~mumps+boost~suite-sparse+tpetra+nox+ifpack2+zoltan2+amesos2~exodus+dtk+intrepid2+shards',
|
||||
when='@0.4.0')
|
||||
when='@0.4.0 +trilinos')
|
||||
depends_on('trilinos@12.12.1+hypre+superlu-dist+metis+hdf5~mumps+boost~suite-sparse~tpetra~ifpack2~zoltan2~amesos2~exodus',
|
||||
when='@0.3.0')
|
||||
when='@0.3.0 +trilinos')
|
||||
depends_on('trilinos@xsdk-0.2.0+hypre+superlu-dist+metis+hdf5~mumps+boost~suite-sparse~tpetra~ifpack2~zoltan2~amesos2~exodus',
|
||||
when='@xsdk-0.2.0')
|
||||
when='@xsdk-0.2.0 +trilinos')
|
||||
|
||||
depends_on('petsc@develop+trilinos+mpi+hypre+superlu-dist+metis+hdf5~mumps+double~int64',
|
||||
depends_on('petsc +trilinos', when='+trilinos')
|
||||
depends_on('petsc ~trilinos', when='~trilinos')
|
||||
depends_on('petsc +batch', when='platform=cray @0.5.0:')
|
||||
depends_on('petsc@develop+mpi+hypre+superlu-dist+metis+hdf5~mumps+double~int64',
|
||||
when='@develop')
|
||||
depends_on('petsc@3.10.3+trilinos+mpi+hypre+superlu-dist+metis+hdf5~mumps+double~int64',
|
||||
depends_on('petsc@3.12.1+mpi+hypre+superlu-dist+metis+hdf5~mumps+double~int64',
|
||||
when='@0.5.0')
|
||||
depends_on('petsc@3.10.3+mpi+hypre+superlu-dist+metis+hdf5~mumps+double~int64',
|
||||
when='@0.4.0')
|
||||
depends_on('petsc@3.8.2+trilinos+mpi+hypre+superlu-dist+metis+hdf5~mumps+double~int64',
|
||||
depends_on('petsc@3.8.2+mpi+hypre+superlu-dist+metis+hdf5~mumps+double~int64',
|
||||
when='@0.3.0')
|
||||
depends_on('petsc@xsdk-0.2.0+trilinos+mpi+hypre+superlu-dist+metis+hdf5~mumps+double~int64',
|
||||
depends_on('petsc@xsdk-0.2.0+mpi+hypre+superlu-dist+metis+hdf5~mumps+double~int64',
|
||||
when='@xsdk-0.2.0')
|
||||
|
||||
depends_on('dealii@develop~assimp~python~doc~gmsh+petsc+slepc+mpi+trilinos~int64+hdf5~netcdf+metis~sundials~ginkgo~symengine', when='@develop +dealii')
|
||||
depends_on('dealii@9.0.1~assimp~python~doc~gmsh+petsc~slepc+mpi+trilinos~int64+hdf5~netcdf+metis~ginkgo~symengine', when='@0.4.0 +dealii')
|
||||
depends_on('dealii +trilinos', when='+trilinos +dealii')
|
||||
depends_on('dealii ~trilinos', when='~trilinos +dealii')
|
||||
depends_on('dealii@develop~assimp~python~doc~gmsh+petsc+slepc+mpi~int64+hdf5~netcdf+metis~sundials~ginkgo~symengine', when='@develop +dealii')
|
||||
depends_on('dealii@9.1.1~assimp~python~doc~gmsh+petsc+slepc+mpi~int64+hdf5~netcdf+metis~sundials~ginkgo~symengine', when='@0.5.0 +dealii')
|
||||
depends_on('dealii@9.0.1~assimp~python~doc~gmsh+petsc~slepc+mpi~int64+hdf5~netcdf+metis~ginkgo~symengine', when='@0.4.0 +dealii')
|
||||
|
||||
depends_on('pflotran@develop', when='@develop')
|
||||
depends_on('pflotran@xsdk-0.5.0', when='@0.5.0')
|
||||
depends_on('pflotran@xsdk-0.4.0', when='@0.4.0')
|
||||
depends_on('pflotran@xsdk-0.3.0', when='@0.3.0')
|
||||
depends_on('pflotran@xsdk-0.2.0', when='@xsdk-0.2.0')
|
||||
|
||||
depends_on('alquimia@develop', when='@develop')
|
||||
depends_on('alquimia@xsdk-0.5.0', when='@0.5.0')
|
||||
depends_on('alquimia@xsdk-0.4.0', when='@0.4.0')
|
||||
depends_on('alquimia@xsdk-0.3.0', when='@0.3.0')
|
||||
depends_on('alquimia@xsdk-0.2.0', when='@xsdk-0.2.0')
|
||||
|
||||
depends_on('sundials@4.1.0~int64+hypre', when='@develop')
|
||||
depends_on('sundials+superlu-dist', when='@0.5.0: %gcc@6.1:')
|
||||
depends_on('sundials@develop~int64+hypre+petsc', when='@develop')
|
||||
depends_on('sundials@5.0.0~int64+hypre+petsc', when='@0.5.0')
|
||||
depends_on('sundials@3.2.1~int64+hypre', when='@0.4.0')
|
||||
depends_on('sundials@3.1.0~int64+hypre', when='@0.3.0')
|
||||
|
||||
depends_on('plasma@18.11.1:', when='@develop %gcc@6.0:')
|
||||
depends_on('plasma@19.8.1:', when='@develop %gcc@6.0:')
|
||||
depends_on('plasma@19.8.1:', when='@0.5.0 %gcc@6.0:')
|
||||
depends_on('plasma@18.11.1:', when='@0.4.0 %gcc@6.0:')
|
||||
|
||||
depends_on('magma@2.4.0', when='@develop +cuda')
|
||||
depends_on('magma@2.5.1', when='@develop +cuda')
|
||||
depends_on('magma@2.5.1', when='@0.5.0 +cuda')
|
||||
depends_on('magma@2.4.0', when='@0.4.0 +cuda')
|
||||
depends_on('magma@2.2.0', when='@0.3.0 +cuda')
|
||||
|
||||
depends_on('amrex@develop+sundials', when='@develop %intel')
|
||||
depends_on('amrex@develop+sundials', when='@develop %gcc')
|
||||
depends_on('amrex@develop', when='@develop %intel')
|
||||
depends_on('amrex@develop', when='@develop %gcc')
|
||||
depends_on('amrex@19.08', when='@0.5.0 %intel')
|
||||
depends_on('amrex@19.08', when='@0.5.0 %gcc')
|
||||
depends_on('amrex@18.10.1', when='@0.4.0 %intel')
|
||||
depends_on('amrex@18.10.1', when='@0.4.0 %gcc')
|
||||
|
||||
depends_on('slepc@develop', when='@develop')
|
||||
depends_on('slepc@3.12.0', when='@0.5.0')
|
||||
depends_on('slepc@3.10.1', when='@0.4.0')
|
||||
|
||||
depends_on('omega-h +trilinos', when='+trilinos +omega-h')
|
||||
depends_on('omega-h ~trilinos', when='~trilinos +omega-h')
|
||||
depends_on('omega-h@develop', when='@develop +omega-h')
|
||||
depends_on('omega-h@9.29.0', when='@0.5.0 +omega-h')
|
||||
depends_on('omega-h@9.19.1', when='@0.4.0 +omega-h')
|
||||
|
||||
depends_on('strumpack@master', when='@develop')
|
||||
depends_on('strumpack@3.1.1', when='@0.4.0')
|
||||
depends_on('strumpack@master', when='@develop +strumpack')
|
||||
depends_on('strumpack@3.3.0', when='@0.5.0 +strumpack')
|
||||
depends_on('strumpack@3.1.1', when='@0.4.0 +strumpack')
|
||||
|
||||
depends_on('pumi@develop', when='@develop')
|
||||
depends_on('pumi@2.2.1', when='@0.5.0')
|
||||
depends_on('pumi@2.2.0', when='@0.4.0')
|
||||
|
||||
depends_on('tasmanian@develop+xsdkflags+blas~openmp', when='@develop')
|
||||
depends_on('tasmanian@develop+xsdkflags+blas+cuda+magma~openmp', when='@develop +cuda')
|
||||
tasmanian_openmp = '~openmp' if sys.platform == 'darwin' else '+openmp'
|
||||
depends_on('tasmanian@develop+xsdkflags+blas' + tasmanian_openmp, when='@develop')
|
||||
depends_on('tasmanian@develop+xsdkflags+blas+cuda+magma' + tasmanian_openmp, when='@develop +cuda')
|
||||
depends_on('tasmanian@7.0+xsdkflags+mpi+blas' + tasmanian_openmp, when='@0.5.0')
|
||||
depends_on('tasmanian@7.0+xsdkflags+mpi+blas+cuda+magma' + tasmanian_openmp, when='@0.5.0 +cuda')
|
||||
depends_on('tasmanian@6.0+xsdkflags+blas~openmp', when='@0.4.0')
|
||||
depends_on('tasmanian@6.0+xsdkflags+blas+cuda+magma~openmp', when='@0.4.0 +cuda')
|
||||
|
||||
@@ -111,8 +150,27 @@ class Xsdk(BundlePackage):
|
||||
# these are type='build' dependencies, but spack reports a conflict anyway.
|
||||
# This will be fixed once the new concretizer becomes available
|
||||
# (says @adamjstewart)
|
||||
depends_on('phist@develop kernel_lib=tpetra ~fortran ~scamac ~openmp ~host', when='@develop +phist')
|
||||
depends_on('phist@1.7.5 kernel_lib=tpetra ~fortran ~scamac ~openmp ~host', when='@0.4.0 +phist')
|
||||
|
||||
depends_on('phist kernel_lib=tpetra', when='+trilinos +phist')
|
||||
depends_on('phist kernel_lib=petsc', when='~trilinos +phist')
|
||||
depends_on('phist@develop ~fortran ~scamac ~openmp ~host', when='@develop +phist')
|
||||
depends_on('phist@1.8.0 ~fortran ~scamac ~openmp ~host', when='@0.5.0 +phist')
|
||||
depends_on('phist@1.7.5 ~fortran ~scamac ~openmp ~host', when='@0.4.0 +phist')
|
||||
|
||||
depends_on('ginkgo@develop ~openmp', when='@develop +ginkgo')
|
||||
depends_on('ginkgo@develop ~openmp+cuda', when='@develop +ginkgo +cuda')
|
||||
depends_on('ginkgo@1.1.0 ~openmp', when='@0.5.0 +ginkgo')
|
||||
depends_on('ginkgo@1.1.0 ~openmp+cuda', when='@0.5.0 +cuda +ginkgo')
|
||||
|
||||
depends_on('py-libensemble@develop+petsc4py', type='run', when='@develop +libensemble')
|
||||
depends_on('py-libensemble@0.5.2+petsc4py', type='run', when='@0.5.0 +libensemble')
|
||||
|
||||
depends_on('precice ~petsc', when='platform=cray +precice')
|
||||
depends_on('precice@develop', when='@develop +precice')
|
||||
depends_on('precice@1.6.1', when='@0.5.0 +precice')
|
||||
|
||||
depends_on('butterflypack@master', when='@develop +butterflypack')
|
||||
depends_on('butterflypack@1.1.0', when='@0.5.0 +butterflypack')
|
||||
|
||||
# xSDKTrilinos depends on the version of Trilinos built with
|
||||
# +tpetra which is turned off for faster xSDK
|
||||
|
||||
12
var/spack/repos/builtin/packages/z3/fix_1016_1.patch
Normal file
12
var/spack/repos/builtin/packages/z3/fix_1016_1.patch
Normal file
@@ -0,0 +1,12 @@
|
||||
--- spack-src/src/util/hash.cpp.org 2019-11-14 11:12:11.233379342 +0900
|
||||
+++ spack-src/src/util/hash.cpp 2019-11-14 11:15:51.356519168 +0900
|
||||
@@ -75,8 +75,8 @@
|
||||
__fallthrough;
|
||||
case 1 :
|
||||
a+=str[0];
|
||||
- __fallthrough;
|
||||
/* case 0: nothing left to add */
|
||||
+ break;
|
||||
}
|
||||
mix(a,b,c);
|
||||
/*-------------------------------------------- report the result */
|
||||
12
var/spack/repos/builtin/packages/z3/fix_1016_2.patch
Normal file
12
var/spack/repos/builtin/packages/z3/fix_1016_2.patch
Normal file
@@ -0,0 +1,12 @@
|
||||
--- spack-src/src/util/hash.cpp.org 2019-11-13 13:25:33.317336437 +0900
|
||||
+++ spack-src/src/util/hash.cpp 2019-11-13 13:26:12.671491961 +0900
|
||||
@@ -83,8 +83,8 @@
|
||||
Z3_fallthrough;
|
||||
case 1 :
|
||||
a+=str[0];
|
||||
- Z3_fallthrough;
|
||||
/* case 0: nothing left to add */
|
||||
+ break;
|
||||
}
|
||||
mix(a,b,c);
|
||||
/*-------------------------------------------- report the result */
|
||||
@@ -20,8 +20,12 @@ class Z3(MakefilePackage):
|
||||
|
||||
phases = ['bootstrap', 'build', 'install']
|
||||
|
||||
variant('python', default=False, description='Enable python support')
|
||||
depends_on('python', when='+python')
|
||||
variant('python', default=False, description='Enable python binding')
|
||||
depends_on('python', type=('build', 'run'))
|
||||
|
||||
# Referenced: https://github.com/Z3Prover/z3/issues/1016
|
||||
patch('fix_1016_1.patch', when='@:4.4.1')
|
||||
patch('fix_1016_2.patch', when='@4.5.0')
|
||||
|
||||
build_directory = 'build'
|
||||
|
||||
|
||||
Reference in New Issue
Block a user