Merge branch 'develop' into features/fastmath

This commit is contained in:
Todd Gamblin
2015-06-06 18:15:52 -07:00
153 changed files with 8979 additions and 1468 deletions

View File

@@ -1,12 +0,0 @@
[compiler "gcc@4.5.0"]
cc = /path/to/gcc
cxx = /path/to/g++
f77 = /path/to/gfortran
fc = /path/to/gfortran
[compiler "clang@3.3"]
cc = /path/to/clang
cxx = /path/to/clang++
f77 = None
fc = None

View File

@@ -0,0 +1,12 @@
compilers:
all:
clang@3.3:
cc: /path/to/clang
cxx: /path/to/clang++
f77: None
fc: None
gcc@4.5.0:
cc: /path/to/gcc
cxx: /path/to/g++
f77: /path/to/gfortran
fc: /path/to/gfortran

View File

@@ -0,0 +1,12 @@
from spack import *
class A(Package):
"""Simple package with no dependencies"""
homepage = "http://www.example.com"
url = "http://www.example.com/a-1.0.tar.gz"
version('1.0', '0123456789abcdef0123456789abcdef')
def install(self, spec, prefix):
pass

View File

@@ -0,0 +1,12 @@
from spack import *
class B(Package):
"""Simple package with no dependencies"""
homepage = "http://www.example.com"
url = "http://www.example.com/b-1.0.tar.gz"
version('1.0', '0123456789abcdef0123456789abcdef')
def install(self, spec, prefix):
pass

View File

@@ -0,0 +1,12 @@
from spack import *
class C(Package):
"""Simple package with no dependencies"""
homepage = "http://www.example.com"
url = "http://www.example.com/c-1.0.tar.gz"
version('1.0', '0123456789abcdef0123456789abcdef')
def install(self, spec, prefix):
pass

View File

@@ -0,0 +1,12 @@
from spack import *
class E(Package):
"""Simple package with no dependencies"""
homepage = "http://www.example.com"
url = "http://www.example.com/e-1.0.tar.gz"
version('1.0', '0123456789abcdef0123456789abcdef')
def install(self, spec, prefix):
pass

View File

@@ -30,6 +30,9 @@ class Mpich(Package):
list_url = "http://www.mpich.org/static/downloads/"
list_depth = 2
variant('debug', default=False,
description="Compile MPICH with debug flags.")
version('3.0.4', '9c5d5d4fe1e17dd12153f40bc5b6dbc0')
version('3.0.3', 'foobarbaz')
version('3.0.2', 'foobarbaz')

View File

@@ -33,6 +33,9 @@ class Mpileaks(Package):
version(2.2, 'foobarbaz')
version(2.3, 'foobarbaz')
variant('debug', default=False, description='Debug variant')
variant('opt', default=False, description='Optimized variant')
depends_on("mpi")
depends_on("callpath")

View File

@@ -0,0 +1,18 @@
from spack import *
class OptionalDepTest2(Package):
"""Depends on the optional-dep-test package"""
homepage = "http://www.example.com"
url = "http://www.example.com/optional-dep-test-2-1.0.tar.gz"
version('1.0', '0123456789abcdef0123456789abcdef')
variant('odt', default=False)
variant('mpi', default=False)
depends_on('optional-dep-test', when='+odt')
depends_on('optional-dep-test+mpi', when='+mpi')
def install(self, spec, prefix):
pass

View File

@@ -0,0 +1,29 @@
from spack import *
class OptionalDepTest(Package):
"""Description"""
homepage = "http://www.example.com"
url = "http://www.example.com/optional_dep_test-1.0.tar.gz"
version('1.0', '0123456789abcdef0123456789abcdef')
version('1.1', '0123456789abcdef0123456789abcdef')
variant('a', default=False)
variant('f', default=False)
variant('mpi', default=False)
depends_on('a', when='+a')
depends_on('b', when='@1.1')
depends_on('c', when='%intel')
depends_on('d', when='%intel@64.1')
depends_on('e', when='%clang@34:40')
depends_on('f', when='+f')
depends_on('g', when='^f')
depends_on('mpi', when='^g')
depends_on('mpi', when='+mpi')
def install(self, spec, prefix):
pass

View File

@@ -7,9 +7,10 @@ class Mitos(Package):
homepage = "https://github.com/scalability-llnl/Mitos"
url = "https://github.com/scalability-llnl/Mitos"
version('0.7', git='https://github.com/scalability-llnl/Mitos.git', tag='v0.7')
version('0.9', '8a8f05b35e04e9f37fa15436b98d5b25', git='https://github.com/scalability-llnl/Mitos.git', tag='v0.9')
depends_on('dyninst')
depends_on('dyninst@8.2.1:')
depends_on('hwloc')
def install(self, spec, prefix):
with working_dir('spack-build', create=True):

View File

@@ -30,7 +30,8 @@ class AdeptUtils(Package):
homepage = "https://github.com/scalability-llnl/adept-utils"
url = "https://github.com/scalability-llnl/adept-utils/archive/v1.0.tar.gz"
version('1.0', '5c6cd9badce56c945ac8551e34804397')
version('1.0.1', '731a310717adcb004d9d195130efee7d')
version('1.0', '5c6cd9badce56c945ac8551e34804397')
depends_on("boost")
depends_on("mpi")

View File

@@ -0,0 +1,17 @@
from spack import *
class Binutils(Package):
"""GNU binutils, which contain the linker, assembler, objdump and others"""
homepage = "http://www.gnu.org/software/binutils/"
url = "ftp://ftp.gnu.org/gnu/binutils/binutils-2.25.tar.bz2"
version('2.25', 'd9f3303f802a5b6b0bb73a335ab89d66')
version('2.24', 'e0f71a7b2ddab0f8612336ac81d9636b')
version('2.23.2', '4f8fa651e35ef262edc01d60fb45702e')
version('2.20.1', '2b9dc8f2b7dbd5ec5992c6e29de0b764')
def install(self, spec, prefix):
configure("--prefix=%s" % prefix)
make()
make("install")

View File

@@ -0,0 +1,15 @@
from spack import *
class Cppcheck(Package):
"""A tool for static C/C++ code analysis."""
homepage = "http://cppcheck.sourceforge.net/"
url = "http://downloads.sourceforge.net/project/cppcheck/cppcheck/1.68/cppcheck-1.68.tar.bz2"
version('1.68', 'c015195f5d61a542f350269030150708')
def install(self, spec, prefix):
# cppcheck does not have a configure script
make()
# manually install the final cppcheck binary
mkdirp(prefix.bin)
install('cppcheck', prefix.bin)

View File

@@ -47,6 +47,7 @@ class Gcc(Package):
depends_on("gmp")
depends_on("mpc") # when @4.5:
depends_on("libelf")
depends_on("binutils")
# Save these until we can do optional deps.
#depends_on("isl")
@@ -73,6 +74,10 @@ def install(self, spec, prefix):
"--with-stage1-ldflags=%s" % self.rpath_args,
"--with-boot-ldflags=%s" % self.rpath_args,
"--enable-lto",
"--with-gnu-ld",
"--with-ld=%s/bin/ld" % spec['binutils'].prefix,
"--with-gnu-as",
"--with-as=%s/bin/as" % spec['binutils'].prefix,
"--with-quad")
make()
make("install")

View File

@@ -5,12 +5,11 @@ class Memaxes(Package):
homepage = "https://github.com/scalability-llnl/MemAxes"
version('0.5', 'b0f561d48aa7301e028d074bc4b5751b',
version('0.5', '5874f3fda9fd2d313c0ff9684f915ab5',
url='https://github.com/scalability-llnl/MemAxes/archive/v0.5.tar.gz')
depends_on("cmake@2.8.9:")
depends_on("qt@5:")
depends_on("vtk")
def install(self, spec, prefix):
with working_dir('spack-build', create=True):

View File

@@ -3,9 +3,10 @@
class PyCython(Package):
"""The Cython compiler for writing C extensions for the Python language."""
homepage = "https://pypi.python.org/pypi/cython"
url = "https://pypi.python.org/packages/source/C/Cython/Cython-0.21.2.tar.gz"
url = "https://pypi.python.org/packages/source/C/Cython/cython-0.22.tar.gz"
version('0.21.2', 'd21adb870c75680dc857cd05d41046a4')
version('0.22', '1ae25add4ef7b63ee9b4af697300d6b6')
extends('python')

View File

@@ -6,6 +6,7 @@ class PyDateutil(Package):
url = "https://pypi.python.org/packages/source/p/python-dateutil/python-dateutil-2.4.0.tar.gz"
version('2.4.0', '75714163bb96bedd07685cdb2071b8bc')
version('2.4.2', '4ef68e1c485b09e9f034e10473e5add2')
extends('python')
depends_on('py-setuptools')

View File

@@ -0,0 +1,15 @@
from spack import *
class PyGenders(Package):
"""Genders is a static cluster configuration database used for cluster configuration management. It is used by a variety of tools and scripts for management of large clusters."""
homepage = "https://github.com/chaos/genders"
url = "https://github.com/chaos/genders/releases/download/genders-1-22-1/genders-1.22.tar.gz"
version('1.22', '9ea59a024dcbddb85b0ed25ddca9bc8e', url='https://github.com/chaos/genders/releases/download/genders-1-22-1/genders-1.22.tar.gz')
extends('python')
def install(self, spec, prefix):
configure("--prefix=%s" %prefix)
make(parallel=False)
make("install")

View File

@@ -7,8 +7,9 @@ class PyH5py(Package):
url = "https://pypi.python.org/packages/source/h/h5py/h5py-2.4.0.tar.gz"
version('2.4.0', '80c9a94ae31f84885cc2ebe1323d6758')
version('2.5.0', '6e4301b5ad5da0d51b0a1e5ac19e3b74')
extends('python', ignore=lambda f: re.match(r'cy*', f))
extends('python', ignore=lambda f: re.match(r'bin/cy*', f))
depends_on('hdf5')
depends_on('py-numpy')
depends_on('py-cython')

View File

@@ -6,6 +6,7 @@ class PyIpython(Package):
url = "https://pypi.python.org/packages/source/i/ipython/ipython-2.3.1.tar.gz"
version('2.3.1', '2b7085525dac11190bfb45bb8ec8dcbf')
version('3.1.0', 'a749d90c16068687b0ec45a27e72ef8f')
extends('python')
depends_on('py-pygments')

View File

@@ -7,6 +7,7 @@ class PyMatplotlib(Package):
url = "https://pypi.python.org/packages/source/m/matplotlib/matplotlib-1.4.2.tar.gz"
version('1.4.2', '7d22efb6cce475025733c50487bd8898')
version('1.4.3', '86af2e3e3c61849ac7576a6f5ca44267')
extends('python', ignore=r'bin/nosetests.*$')
@@ -28,7 +29,7 @@ class PyMatplotlib(Package):
def install(self, spec, prefix):
python('setup.py', 'install', '--prefix=%s' % prefix)
if str(self.version) == '1.4.2':
if str(self.version) in ['1.4.2', '1.4.3']:
# hack to fix configuration file
config_file = None
for p,d,f in os.walk(prefix.lib):

View File

@@ -8,6 +8,7 @@ class PyNose(Package):
url = "https://pypi.python.org/packages/source/n/nose/nose-1.3.4.tar.gz"
version('1.3.4', '6ed7169887580ddc9a8e16048d38274d')
version('1.3.6', '0ca546d81ca8309080fc80cb389e7a16')
extends('python', ignore=r'bin/nosetests.*$')
depends_on('py-setuptools')

View File

@@ -6,6 +6,7 @@ class PyNumpy(Package):
url = "https://pypi.python.org/packages/source/n/numpy/numpy-1.9.1.tar.gz"
version('1.9.1', '78842b73560ec378142665e712ae4ad9')
version('1.9.2', 'a1ed53432dbcd256398898d35bc8e645')
extends('python')
depends_on('py-nose')

View File

@@ -0,0 +1,21 @@
from spack import *
import os
class PyPandas(Package):
"""pandas is a Python package providing fast, flexible, and expressive data structures designed to make working with relational or labeled data both easy and intuitive. It aims to be the fundamental high-level building block for doing practical, real world data analysis in Python. Additionally, it has the broader goal of becoming the most powerful and flexible open source data analysis / manipulation tool available in any language."""
homepage = "http://pandas.pydata.org/"
url = "https://pypi.python.org/packages/source/p/pandas/pandas-0.16.0.tar.gz#md5=bfe311f05dc0c351f8955fbd1e296e73"
version('0.16.0', 'bfe311f05dc0c351f8955fbd1e296e73')
version('0.16.1', 'fac4f25748f9610a3e00e765474bdea8')
extends('python')
depends_on('py-dateutil')
depends_on('py-numpy')
depends_on('py-matplotlib')
depends_on('py-scipy')
depends_on('py-setuptools')
depends_on('py-pytz')
def install(self, spec, prefix):
python('setup.py', 'install', '--prefix=%s' % prefix)

View File

@@ -6,6 +6,7 @@ class PyPygments(Package):
url = "https://pypi.python.org/packages/source/P/Pygments/Pygments-2.0.1.tar.gz"
version('2.0.1', 'e0daf4c14a4fe5b630da765904de4d6c')
version('2.0.2', '238587a1370d62405edabd0794b3ec4a')
extends('python')
depends_on('py-setuptools')

View File

@@ -7,6 +7,7 @@ class PyPylint(Package):
url = "https://pypi.python.org/packages/source/p/pylint/pylint-1.4.1.tar.gz"
version('1.4.1', 'df7c679bdcce5019389038847e4de622')
version('1.4.3', '5924c1c7ca5ca23647812f5971d0ea44')
extends('python')
depends_on('py-nose')

View File

@@ -0,0 +1,14 @@
from spack import *
class PyPypar(Package):
"""Pypar is an efficient but easy-to-use module that allows programs written in Python to run in parallel on multiple processors and communicate using MPI."""
homepage = "http://code.google.com/p/pypar/"
url = "https://pypar.googlecode.com/files/pypar-2.1.5_108.tgz"
version('2.1.5_108', '7a1f28327d2a3b679f9455c843d850b8', url='https://pypar.googlecode.com/files/pypar-2.1.5_108.tgz')
extends('python')
depends_on('mpi')
def install(self, spec, prefix):
with working_dir('source'):
python('setup.py', 'install', '--prefix=%s' % prefix)

View File

@@ -6,6 +6,7 @@ class PyPytz(Package):
url = "https://pypi.python.org/packages/source/p/pytz/pytz-2014.10.tar.gz"
version('2014.10', 'eb1cb941a20c5b751352c52486aa1dd7')
version('2015.4', '417a47b1c432d90333e42084a605d3d8')
extends('python')

View File

@@ -6,6 +6,7 @@ class PyRpy2(Package):
url = "https://pypi.python.org/packages/source/r/rpy2/rpy2-2.5.4.tar.gz"
version('2.5.4', '115a20ac30883f096da2bdfcab55196d')
version('2.5.6', 'a36e758b633ce6aec6a5f450bfee980f')
extends('python')
depends_on('py-setuptools')

View File

@@ -7,8 +7,7 @@ class PyScientificpython(Package):
visualization, and parallelization."""
homepage = "https://sourcesup.renater.fr/projects/scientific-py/"
url = "https://sourcesup.renater.fr/frs/download.php/4411/ScientificPython-2.8.1.tar.gz"
url = "https://sourcesup.renater.fr/frs/download.php/file/4411/ScientificPython-2.8.1.tar.gz"
version('2.8.1', '73ee0df19c7b58cdf2954261f0763c77')
extends('python')

View File

@@ -6,6 +6,7 @@ class PyScikitLearn(Package):
url = "https://pypi.python.org/packages/source/s/scikit-learn/scikit-learn-0.15.2.tar.gz"
version('0.15.2', 'd9822ad0238e17b382a3c756ea94fe0d')
version('0.16.1', '363ddda501e3b6b61726aa40b8dbdb7e')
extends('python')

View File

@@ -6,6 +6,7 @@ class PyScipy(Package):
url = "https://pypi.python.org/packages/source/s/scipy/scipy-0.15.0.tar.gz"
version('0.15.0', '639112f077f0aeb6d80718dc5019dc7a')
version('0.15.1', 'be56cd8e60591d6332aac792a5880110')
extends('python')
depends_on('py-nose')

View File

@@ -6,6 +6,7 @@ class PySetuptools(Package):
url = "https://pypi.python.org/packages/source/s/setuptools/setuptools-11.3.tar.gz"
version('11.3.1', '01f69212e019a2420c1693fb43593930')
version('16.0', '0ace0b96233516fc5f7c857d086aa3ad')
extends('python')

View File

@@ -7,6 +7,7 @@ class PySip(Package):
url = "http://sourceforge.net/projects/pyqt/files/sip/sip-4.16.5/sip-4.16.5.tar.gz"
version('4.16.5', '6d01ea966a53e4c7ae5c5e48c40e49e5')
version('4.16.7', '32abc003980599d33ffd789734de4c36')
extends('python')

View File

@@ -7,6 +7,7 @@ class PyVirtualenv(Package):
url = "https://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.11.6.tar.gz"
version('1.11.6', 'f61cdd983d2c4e6aeabb70b1060d6f49')
version('13.0.1', '1ffc011bde6667f0e37ecd976f4934db')
extends('python')
depends_on('py-setuptools')

View File

@@ -15,6 +15,7 @@ class Python(Package):
extendable = True
version('2.7.8', 'd235bdfa75b8396942e360a70487ee00')
version('2.7.10', 'c685ef0b8e9f27b5e3db5db12b268ac6')
depends_on("openssl")
depends_on("bzip2")
@@ -139,7 +140,9 @@ def write_easy_install_pth(self, exts):
def activate(self, ext_pkg, **args):
args.update(ignore=self.python_ignore(ext_pkg, args))
ignore=self.python_ignore(ext_pkg, args)
args.update(ignore=ignore)
super(Python, self).activate(ext_pkg, **args)
exts = spack.install_layout.extension_map(self.spec)

View File

@@ -50,9 +50,11 @@ def setup_dependent_environment(self, module, spec, dep_spec):
def patch(self):
if self.spec.satisfies('@4'):
qmake_conf = 'mkspecs/common/g++-base.conf'
qmake_conf = 'mkspecs/common/g++-base.conf'
qmake_unix_conf = 'mkspecs/common/g++-unix.conf'
elif self.spec.satisfies('@5'):
qmake_conf = 'qtbase/mkspecs/common/g++-base.conf'
qmake_conf = 'qtbase/mkspecs/common/g++-base.conf'
qmake_unix_conf = 'qtbase/mkspecs/common/g++-unix.conf'
else:
return
@@ -60,7 +62,7 @@ def patch(self):
filter_file(r'^QMAKE_COMPILER *=.*$', 'QMAKE_COMPILER = cc', qmake_conf)
filter_file(r'^QMAKE_CC *=.*$', 'QMAKE_CC = cc', qmake_conf)
filter_file(r'^QMAKE_CXX *=.*$', 'QMAKE_CXX = c++', qmake_conf)
filter_file(r'^QMAKE_LFLAGS_NOUNDEF *\+?=.*$', 'QMAKE_LFLAGS_NOUNDEF =', qmake_unix_conf)
@property

View File

@@ -5,16 +5,18 @@ class Stat(Package):
homepage = "http://paradyn.org/STAT/STAT.html"
url = "https://github.com/lee218llnl/stat/archive/v2.0.0.tar.gz"
version('2.2.0', '26bd69dd57a15afdd5d0ebdb0b7fb6fc')
version('2.1.0', 'ece26beaf057aa9134d62adcdda1ba91')
version('2.0.0', 'c7494210b0ba26b577171b92838e1a9b')
depends_on('libelf')
depends_on('libdwarf')
depends_on('dyninst')
depends_on('graphlib')
depends_on('launchmon')
depends_on('mrnet')
patch('configure_mpicxx.patch', when='@2.1.0:')
patch('configure_mpicxx.patch', when='@2.1.0')
def install(self, spec, prefix):
configure(

View File

@@ -0,0 +1,14 @@
from spack import *
class Uncrustify(Package):
"""Source Code Beautifier for C, C++, C#, ObjectiveC, D, Java, Pawn and VALA"""
homepage = "http://uncrustify.sourceforge.net/"
url = "http://downloads.sourceforge.net/project/uncrustify/uncrustify/uncrustify-0.61/uncrustify-0.61.tar.gz"
version('0.61', 'b6140106e74c64e831d0b1c4b6cf7727')
def install(self, spec, prefix):
configure("--prefix=%s" % prefix)
make()
make("install")