Merge branch 'develop' of https://github.com/LLNL/spack into issues/trilinos_385
This commit is contained in:
commit
b0707a61e7
8 changed files with 155 additions and 10 deletions
|
@ -23,15 +23,31 @@
|
||||||
# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
##############################################################################
|
##############################################################################
|
||||||
import os
|
import os
|
||||||
import hashlib
|
|
||||||
import argparse
|
import argparse
|
||||||
|
import hashlib
|
||||||
|
|
||||||
|
from contextlib import contextmanager
|
||||||
|
|
||||||
import llnl.util.tty as tty
|
import llnl.util.tty as tty
|
||||||
from llnl.util.filesystem import *
|
from llnl.util.filesystem import *
|
||||||
|
|
||||||
import spack.util.crypto
|
import spack.util.crypto
|
||||||
|
from spack.stage import Stage, FailedDownloadError
|
||||||
|
|
||||||
description = "Calculate md5 checksums for files."
|
description = "Calculate md5 checksums for files/urls."
|
||||||
|
|
||||||
|
@contextmanager
|
||||||
|
def stager(url):
|
||||||
|
_cwd = os.getcwd()
|
||||||
|
_stager = Stage(url)
|
||||||
|
try:
|
||||||
|
_stager.fetch()
|
||||||
|
yield _stager
|
||||||
|
except FailedDownloadError:
|
||||||
|
tty.msg("Failed to fetch %s" % url)
|
||||||
|
finally:
|
||||||
|
_stager.destroy()
|
||||||
|
os.chdir(_cwd) # the Stage class changes the current working dir so it has to be restored
|
||||||
|
|
||||||
def setup_parser(subparser):
|
def setup_parser(subparser):
|
||||||
setup_parser.parser = subparser
|
setup_parser.parser = subparser
|
||||||
|
@ -45,9 +61,12 @@ def md5(parser, args):
|
||||||
|
|
||||||
for f in args.files:
|
for f in args.files:
|
||||||
if not os.path.isfile(f):
|
if not os.path.isfile(f):
|
||||||
tty.die("Not a file: %s" % f)
|
with stager(f) as stage:
|
||||||
if not can_access(f):
|
checksum = spack.util.crypto.checksum(hashlib.md5, stage.archive_file)
|
||||||
tty.die("Cannot read file: %s" % f)
|
print "%s %s" % (checksum, f)
|
||||||
|
else:
|
||||||
|
if not can_access(f):
|
||||||
|
tty.die("Cannot read file: %s" % f)
|
||||||
|
|
||||||
checksum = spack.util.crypto.checksum(hashlib.md5, f)
|
checksum = spack.util.crypto.checksum(hashlib.md5, f)
|
||||||
print "%s %s" % (checksum, f)
|
print "%s %s" % (checksum, f)
|
||||||
|
|
25
var/spack/repos/builtin/packages/caliper/package.py
Normal file
25
var/spack/repos/builtin/packages/caliper/package.py
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
from spack import *
|
||||||
|
|
||||||
|
class Caliper(Package):
|
||||||
|
"""
|
||||||
|
Caliper is a generic context annotation system. It gives programmers the
|
||||||
|
ability to provide arbitrary program context information to (performance)
|
||||||
|
tools at runtime.
|
||||||
|
"""
|
||||||
|
|
||||||
|
homepage = "https://github.com/LLNL/Caliper"
|
||||||
|
url = ""
|
||||||
|
|
||||||
|
version('master', git='ssh://git@github.com:LLNL/Caliper.git')
|
||||||
|
|
||||||
|
variant('mpi', default=False, description='Enable MPI function wrappers.')
|
||||||
|
|
||||||
|
depends_on('libunwind')
|
||||||
|
depends_on('papi')
|
||||||
|
depends_on('mpi', when='+mpi')
|
||||||
|
|
||||||
|
def install(self, spec, prefix):
|
||||||
|
with working_dir('build', create=True):
|
||||||
|
cmake('..', *std_cmake_args)
|
||||||
|
make()
|
||||||
|
make("install")
|
|
@ -7,7 +7,8 @@ class Fish(Package):
|
||||||
|
|
||||||
homepage = "http://fishshell.com/"
|
homepage = "http://fishshell.com/"
|
||||||
url = "http://fishshell.com/files/2.2.0/fish-2.2.0.tar.gz"
|
url = "http://fishshell.com/files/2.2.0/fish-2.2.0.tar.gz"
|
||||||
list_url = homepage
|
list_url = "http://fishshell.com/files/"
|
||||||
|
list_depth = 2
|
||||||
|
|
||||||
version('2.2.0', 'a76339fd14ce2ec229283c53e805faac48c3e99d9e3ede9d82c0554acfc7b77a')
|
version('2.2.0', 'a76339fd14ce2ec229283c53e805faac48c3e99d9e3ede9d82c0554acfc7b77a')
|
||||||
|
|
||||||
|
|
52
var/spack/repos/builtin/packages/hpx5/package.py
Normal file
52
var/spack/repos/builtin/packages/hpx5/package.py
Normal file
|
@ -0,0 +1,52 @@
|
||||||
|
from spack import *
|
||||||
|
import os
|
||||||
|
|
||||||
|
class Hpx5(Package):
|
||||||
|
"""The HPX-5 Runtime System. HPX-5 (High Performance ParalleX) is an
|
||||||
|
open source, portable, performance-oriented runtime developed at
|
||||||
|
CREST (Indiana University). HPX-5 provides a distributed
|
||||||
|
programming model allowing programs to run unmodified on systems
|
||||||
|
from a single SMP to large clusters and supercomputers with
|
||||||
|
thousands of nodes. HPX-5 supports a wide variety of Intel and ARM
|
||||||
|
platforms. It is being used by a broad range of scientific
|
||||||
|
applications enabling scientists to write code that performs and
|
||||||
|
scales better than contemporary runtimes."""
|
||||||
|
homepage = "http://hpx.crest.iu.edu"
|
||||||
|
url = "http://hpx.crest.iu.edu/release/hpx-2.0.0.tar.gz"
|
||||||
|
|
||||||
|
version('2.0.0', '3d2ff3aab6c46481f9ec65c5b2bfe7a6')
|
||||||
|
version('1.3.0', '2260ecc7f850e71a4d365a43017d8cee')
|
||||||
|
version('1.2.0', '4972005f85566af4afe8b71afbf1480f')
|
||||||
|
version('1.1.0', '646afb460ecb7e0eea713a634933ce4f')
|
||||||
|
version('1.0.0', '8020822adf6090bd59ed7fe465f6c6cb')
|
||||||
|
|
||||||
|
variant('debug', default=False, description='Build a debug version of HPX-5')
|
||||||
|
variant('photon', default=False, description='Enable Photon support')
|
||||||
|
variant('mpi', default=False, description='Enable MPI support')
|
||||||
|
|
||||||
|
depends_on("mpi", when='+mpi')
|
||||||
|
depends_on("mpi", when='+photon')
|
||||||
|
|
||||||
|
def install(self, spec, prefix):
|
||||||
|
extra_args = []
|
||||||
|
if '+debug' in spec:
|
||||||
|
extra_args.extend([
|
||||||
|
'--enable-debug',
|
||||||
|
'CFLAGS=-g -O0'
|
||||||
|
])
|
||||||
|
else:
|
||||||
|
extra_args.append('CFLAGS=-O3')
|
||||||
|
|
||||||
|
if '+mpi' in spec:
|
||||||
|
extra_args.append('--enable-mpi')
|
||||||
|
|
||||||
|
if '+photon' in spec:
|
||||||
|
extra_args.extend([
|
||||||
|
'--enable-mpi',
|
||||||
|
'--enable-photon'
|
||||||
|
])
|
||||||
|
|
||||||
|
os.chdir("./hpx/")
|
||||||
|
configure('--prefix=%s' % prefix, *extra_args)
|
||||||
|
make()
|
||||||
|
make("install")
|
|
@ -17,8 +17,8 @@ class Hwloc(Package):
|
||||||
list_url = "http://www.open-mpi.org/software/hwloc/"
|
list_url = "http://www.open-mpi.org/software/hwloc/"
|
||||||
list_depth = 3
|
list_depth = 3
|
||||||
|
|
||||||
version('1.11.2', '486169cbe111cdea57be12638828ebbf')
|
version('1.11.2', 'e4ca55c2a5c5656da4a4e37c8fc51b23')
|
||||||
version('1.11.1', '002742efd3a8431f98d6315365a2b543')
|
version('1.11.1', 'feb4e416a1b25963ed565d8b42252fdc')
|
||||||
version('1.9', '1f9f9155682fe8946a97c08896109508')
|
version('1.9', '1f9f9155682fe8946a97c08896109508')
|
||||||
|
|
||||||
depends_on('libpciaccess')
|
depends_on('libpciaccess')
|
||||||
|
|
13
var/spack/repos/builtin/packages/m4/package.py
Normal file
13
var/spack/repos/builtin/packages/m4/package.py
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
from spack import *
|
||||||
|
|
||||||
|
class M4(Package):
|
||||||
|
"""GNU M4 is an implementation of the traditional Unix macro processor."""
|
||||||
|
homepage = "https://www.gnu.org/software/m4/m4.html"
|
||||||
|
url = "ftp://ftp.gnu.org/gnu/m4/m4-1.4.17.tar.gz"
|
||||||
|
|
||||||
|
version('1.4.17', 'a5e9954b1dae036762f7b13673a2cf76')
|
||||||
|
|
||||||
|
def install(self, spec, prefix):
|
||||||
|
configure("--prefix=%s" % prefix)
|
||||||
|
make()
|
||||||
|
make("install")
|
20
var/spack/repos/builtin/packages/parallel-netcdf/package.py
Normal file
20
var/spack/repos/builtin/packages/parallel-netcdf/package.py
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
from spack import *
|
||||||
|
|
||||||
|
class ParallelNetcdf(Package):
|
||||||
|
"""Parallel netCDF (PnetCDF) is a library providing high-performance
|
||||||
|
parallel I/O while still maintaining file-format compatibility with
|
||||||
|
Unidata's NetCDF."""
|
||||||
|
|
||||||
|
homepage = "https://trac.mcs.anl.gov/projects/parallel-netcdf"
|
||||||
|
url = "http://cucis.ece.northwestern.edu/projects/PnetCDF/Release/parallel-netcdf-1.6.1.tar.gz"
|
||||||
|
|
||||||
|
version('1.6.1', '62a094eb952f9d1e15f07d56e535052604f1ac34')
|
||||||
|
|
||||||
|
depends_on("m4")
|
||||||
|
depends_on("mpi")
|
||||||
|
|
||||||
|
def install(self, spec, prefix):
|
||||||
|
configure("--prefix=%s" % prefix,
|
||||||
|
"--with-mpi=%s" % spec['mpi'].prefix)
|
||||||
|
make()
|
||||||
|
make("install")
|
15
var/spack/repos/builtin/packages/py-wheel/package.py
Normal file
15
var/spack/repos/builtin/packages/py-wheel/package.py
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
from spack import *
|
||||||
|
|
||||||
|
class PyWheel(Package):
|
||||||
|
"""A built-package format for Python."""
|
||||||
|
|
||||||
|
homepage = "https://pypi.python.org/pypi/wheel"
|
||||||
|
url = "https://pypi.python.org/packages/source/w/wheel/wheel-0.26.0.tar.gz"
|
||||||
|
|
||||||
|
version('0.26.0', '4cfc6e7e3dc7377d0164914623922a10')
|
||||||
|
|
||||||
|
extends('python')
|
||||||
|
depends_on('py-setuptools')
|
||||||
|
|
||||||
|
def install(self, spec, prefix):
|
||||||
|
python('setup.py', 'install', '--prefix=%s' % prefix)
|
Loading…
Reference in a new issue