diff options
-rw-r--r-- | var/spack/packages/binutils/cr16.patch | 26 | ||||
-rw-r--r-- | var/spack/packages/binutils/package.py | 2 | ||||
-rw-r--r-- | var/spack/packages/julia/package.py | 1 | ||||
-rw-r--r-- | var/spack/packages/libtool/package.py | 1 | ||||
-rw-r--r-- | var/spack/packages/mbedtls/package.py | 2 | ||||
-rw-r--r-- | var/spack/packages/netcdf/package.py | 1 | ||||
-rw-r--r-- | var/spack/packages/openmpi/package.py | 48 | ||||
-rw-r--r-- | var/spack/packages/py-matplotlib/package.py | 1 | ||||
-rw-r--r-- | var/spack/packages/py-numpy/package.py | 17 | ||||
-rw-r--r-- | var/spack/packages/qhull/package.py | 3 | ||||
-rw-r--r-- | var/spack/packages/qhull/qhull-iterator.patch | 45 |
11 files changed, 125 insertions, 22 deletions
diff --git a/var/spack/packages/binutils/cr16.patch b/var/spack/packages/binutils/cr16.patch new file mode 100644 index 0000000000..2727c70b23 --- /dev/null +++ b/var/spack/packages/binutils/cr16.patch @@ -0,0 +1,26 @@ +--- old/opcodes/cr16-dis.c 2014-10-14 03:32:04.000000000 -0400 ++++ new/opcodes/cr16-dis.c 2016-01-14 21:54:26.000000000 -0500 +@@ -78,7 +78,7 @@ + REG_ARG_TYPE; + + /* Current opcode table entry we're disassembling. */ +-const inst *instruction; ++extern const inst *instruction; + /* Current instruction we're disassembling. */ + ins cr16_currInsn; + /* The current instruction is read into 3 consecutive words. */ +@@ -86,12 +86,12 @@ + /* Contains all words in appropriate order. */ + ULONGLONG cr16_allWords; + /* Holds the current processed argument number. */ +-int processing_argument_number; ++extern int processing_argument_number; + /* Nonzero means a IMM4 instruction. */ + int imm4flag; + /* Nonzero means the instruction's original size is + incremented (escape sequence is used). */ +-int size_changed; ++extern int size_changed; + + + /* Print the constant expression length. */ diff --git a/var/spack/packages/binutils/package.py b/var/spack/packages/binutils/package.py index 1de796bee0..de04221e33 100644 --- a/var/spack/packages/binutils/package.py +++ b/var/spack/packages/binutils/package.py @@ -14,6 +14,8 @@ class Binutils(Package): variant('gold', default=True, description="build the gold linker") patch('binutilskrell-2.24.patch', when='@2.24+krellpatch') + patch('cr16.patch') + variant('libiberty', default=False, description='Also install libiberty.') def install(self, spec, prefix): diff --git a/var/spack/packages/julia/package.py b/var/spack/packages/julia/package.py index d978842d9c..6900af38e4 100644 --- a/var/spack/packages/julia/package.py +++ b/var/spack/packages/julia/package.py @@ -6,6 +6,7 @@ class Julia(Package): homepage = "http://julialang.org" url = "http://github.com/JuliaLang/julia/releases/download/v0.4.2/julia-0.4.2.tar.gz" + version('0.4.3', '7b9f096798fca4bef262a64674bc2b52') version('0.4.2', 'ccfeb4f4090c8b31083f5e1ccb03eb06') patch('gc.patch') diff --git a/var/spack/packages/libtool/package.py b/var/spack/packages/libtool/package.py index a07daf9781..82a54953b2 100644 --- a/var/spack/packages/libtool/package.py +++ b/var/spack/packages/libtool/package.py @@ -5,6 +5,7 @@ class Libtool(Package): homepage = "https://www.gnu.org/software/libtool/" url = "http://ftpmirror.gnu.org/libtool/libtool-2.4.2.tar.gz" + version('2.4.6' , 'addf44b646ddb4e3919805aa88fa7c5e') version('2.4.2' , 'd2f3b7d4627e69e13514a40e72a24d50') def install(self, spec, prefix): diff --git a/var/spack/packages/mbedtls/package.py b/var/spack/packages/mbedtls/package.py index 7745522956..3da00cf417 100644 --- a/var/spack/packages/mbedtls/package.py +++ b/var/spack/packages/mbedtls/package.py @@ -13,6 +13,8 @@ class Mbedtls(Package): version('2.1.3' , '7eb4cf1dfa68578a2c8dbd0b6fa752dd') version('1.3.16', '4144d7320c691f721aeb9e67a1bc38e0') + depends_on('cmake') + def install(self, spec, prefix): cmake('.', *std_cmake_args) diff --git a/var/spack/packages/netcdf/package.py b/var/spack/packages/netcdf/package.py index e1e0d836c6..239644d894 100644 --- a/var/spack/packages/netcdf/package.py +++ b/var/spack/packages/netcdf/package.py @@ -13,6 +13,7 @@ class Netcdf(Package): patch('netcdf-4.3.3-mpi.patch') # Dependencies: + depends_on("cmake @2.8.12:") # >HDF5 depends_on("hdf5") diff --git a/var/spack/packages/openmpi/package.py b/var/spack/packages/openmpi/package.py index be2202fbbd..463719f9db 100644 --- a/var/spack/packages/openmpi/package.py +++ b/var/spack/packages/openmpi/package.py @@ -13,29 +13,33 @@ class Openmpi(Package): """ homepage = "http://www.open-mpi.org" + url = "http://www.open-mpi.org/software/ompi/v1.10/downloads/openmpi-1.10.1.tar.bz2" + list_url = "http://www.open-mpi.org/software/ompi/" + list_depth = 3 - version('1.10.1', 'f0fcd77ed345b7eafb431968124ba16e', - url = "http://www.open-mpi.org/software/ompi/v1.10/downloads/openmpi-1.10.1.tar.bz2") - version('1.10.0', '280cf952de68369cebaca886c5ce0304', - url = "http://www.open-mpi.org/software/ompi/v1.10/downloads/openmpi-1.10.0.tar.bz2") - version('1.8.8', '0dab8e602372da1425e9242ae37faf8c', - url = 'http://www.open-mpi.org/software/ompi/v1.8/downloads/openmpi-1.8.8.tar.bz2') - version('1.6.5', '03aed2a4aa4d0b27196962a2a65fc475', - url = "http://www.open-mpi.org/software/ompi/v1.6/downloads/openmpi-1.6.5.tar.bz2") + version('1.10.1', 'f0fcd77ed345b7eafb431968124ba16e') + version('1.10.0', '280cf952de68369cebaca886c5ce0304') + version('1.8.8', '0dab8e602372da1425e9242ae37faf8c') + version('1.6.5', '03aed2a4aa4d0b27196962a2a65fc475') patch('ad_lustre_rwcontig_open_source.patch', when="@1.6.5") patch('llnl-platforms.patch', when="@1.6.5") patch('configure.patch', when="@1.10.0:") - provides('mpi@:2.2', when='@1.6.5') # Open MPI 1.6.5 supports MPI-2.2 - provides('mpi@:3.0', when='@1.8.8') # Open MPI 1.8.8 supports MPI-3.0 - provides('mpi@:3.0', when='@1.10.0') # Open MPI 1.10.0 supports MPI-3.0 - provides('mpi@:3.0', when='@1.10.1') # Open MPI 1.10.1 supports MPI-3.0 + variant('psm', default=False, description='Build support for the PSM library.') + variant('verbs', default=False, description='Build support for OpenFabrics verbs.') + + provides('mpi@:2.2', when='@1.6.5') + provides('mpi@:3.0', when='@1.7.5:') depends_on('hwloc') + def url_for_version(self, version): + return "http://www.open-mpi.org/software/ompi/v%s/downloads/openmpi-%s.tar.bz2" % (version.up_to(2), version) + + def setup_dependent_environment(self, module, spec, dep_spec): """For dependencies, make mpicc's use spack wrapper.""" os.environ['OMPI_CC'] = 'cc' @@ -45,9 +49,23 @@ class Openmpi(Package): def install(self, spec, prefix): - config_args = ["--prefix=%s" % prefix] - - config_args.append("--with-hwloc=%s" % spec['hwloc'].prefix) + config_args = ["--prefix=%s" % prefix, + "--with-hwloc=%s" % spec['hwloc'].prefix, + "--with-tm", # necessary for Torque support + "--enable-shared", + "--enable-static"] + + # Variants + if '+psm' in spec: + config_args.append("--with-psm") + + if '+verbs' in spec: + # Up through version 1.6, this option was previously named --with-openib + if spec.satisfies('@:1.6'): + config_args.append("--with-openib") + # In version 1.7, it was renamed to be --with-verbs + elif spec.satisfies('@1.7:'): + config_args.append("--with-verbs") # TODO: use variants for this, e.g. +lanl, +llnl, etc. # use this for LANL builds, but for LLNL builds, we need: diff --git a/var/spack/packages/py-matplotlib/package.py b/var/spack/packages/py-matplotlib/package.py index 4776c581ee..2167735fb8 100644 --- a/var/spack/packages/py-matplotlib/package.py +++ b/var/spack/packages/py-matplotlib/package.py @@ -26,6 +26,7 @@ class PyMatplotlib(Package): depends_on('py-pbr') depends_on('py-funcsigs') + depends_on('freetype') depends_on('qt', when='+gui') depends_on('bzip2') depends_on('tcl', when='+gui') diff --git a/var/spack/packages/py-numpy/package.py b/var/spack/packages/py-numpy/package.py index 4c085fba6e..0354811186 100644 --- a/var/spack/packages/py-numpy/package.py +++ b/var/spack/packages/py-numpy/package.py @@ -7,15 +7,18 @@ class PyNumpy(Package): version('1.9.1', '78842b73560ec378142665e712ae4ad9') version('1.9.2', 'a1ed53432dbcd256398898d35bc8e645') - + + variant('blas', default=True) + extends('python') depends_on('py-nose') - depends_on('netlib-blas+fpic') - depends_on('netlib-lapack+shared') + depends_on('netlib-blas+fpic', when='+blas') + depends_on('netlib-lapack+shared', when='+blas') def install(self, spec, prefix): - with open('site.cfg', 'w') as f: - f.write('[DEFAULT]\n') - f.write('libraries=lapack,blas\n') - f.write('library_dirs=%s/lib:%s/lib\n' % (spec['blas'].prefix, spec['lapack'].prefix)) + if '+blas' in spec: + with open('site.cfg', 'w') as f: + f.write('[DEFAULT]\n') + f.write('libraries=lapack,blas\n') + f.write('library_dirs=%s/lib:%s/lib\n' % (spec['blas'].prefix, spec['lapack'].prefix)) python('setup.py', 'install', '--prefix=%s' % prefix) diff --git a/var/spack/packages/qhull/package.py b/var/spack/packages/qhull/package.py index 9da4078a70..f6712ced38 100644 --- a/var/spack/packages/qhull/package.py +++ b/var/spack/packages/qhull/package.py @@ -20,6 +20,9 @@ class Qhull(Package): version('1.0', 'd0f978c0d8dfb2e919caefa56ea2953c', url="http://www.qhull.org/download/qhull-2012.1-src.tgz") + # https://github.com/qhull/qhull/pull/5 + patch('qhull-iterator.patch') + def install(self, spec, prefix): with working_dir('spack-build', create=True): cmake('..', *std_cmake_args) diff --git a/var/spack/packages/qhull/qhull-iterator.patch b/var/spack/packages/qhull/qhull-iterator.patch new file mode 100644 index 0000000000..88e931d84f --- /dev/null +++ b/var/spack/packages/qhull/qhull-iterator.patch @@ -0,0 +1,45 @@ +From 93f4b306c54bb5be7724dcc19c6e747b62ac76dd Mon Sep 17 00:00:00 2001 +From: Ben Boeckel <mathstuf@gmail.com> +Date: Thu, 28 May 2015 11:12:25 -0400 +Subject: [PATCH] iterator: use the header + +Standard libraries are doing funky things with inline namespaces which +make these declarations impossible to get right. Just include the +header. +--- + src/libqhullcpp/QhullIterator.h | 3 +-- + src/libqhullcpp/QhullLinkedList.h | 5 +---- + 2 files changed, 2 insertions(+), 6 deletions(-) + +diff --git a/src/libqhullcpp/QhullIterator.h b/src/libqhullcpp/QhullIterator.h +index 9dde894..49f3a3b 100644 +--- a/src/libqhullcpp/QhullIterator.h ++++ b/src/libqhullcpp/QhullIterator.h +@@ -14,10 +14,9 @@ extern "C" { + } + + #include <assert.h> ++#include <iterator> + #include <string> + #include <vector> +-//! Avoid dependence on <iterator> +-namespace std { struct bidirectional_iterator_tag; struct random_access_iterator_tag; } + + namespace orgQhull { + +diff --git a/src/libqhullcpp/QhullLinkedList.h b/src/libqhullcpp/QhullLinkedList.h +index d828ac6..00b9008 100644 +--- a/src/libqhullcpp/QhullLinkedList.h ++++ b/src/libqhullcpp/QhullLinkedList.h +@@ -9,10 +9,7 @@ + #ifndef QHULLLINKEDLIST_H + #define QHULLLINKEDLIST_H + +-namespace std { +- struct bidirectional_iterator_tag; +- struct random_access_iterator_tag; +-}//std ++#include <iterator> + + #include "QhullError.h" + extern "C" { |