summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--var/spack/packages/binutils/cr16.patch26
-rw-r--r--var/spack/packages/binutils/package.py2
-rw-r--r--var/spack/packages/julia/package.py1
-rw-r--r--var/spack/packages/libtool/package.py1
-rw-r--r--var/spack/packages/mbedtls/package.py2
-rw-r--r--var/spack/packages/netcdf/package.py1
-rw-r--r--var/spack/packages/openmpi/package.py48
-rw-r--r--var/spack/packages/py-matplotlib/package.py1
-rw-r--r--var/spack/packages/py-numpy/package.py17
-rw-r--r--var/spack/packages/qhull/package.py3
-rw-r--r--var/spack/packages/qhull/qhull-iterator.patch45
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" {