summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/LuaJIT/package.py15
-rw-r--r--var/spack/repos/builtin/packages/adol-c/openmp_exam.patch13
-rw-r--r--var/spack/repos/builtin/packages/adol-c/package.py80
-rw-r--r--var/spack/repos/builtin/packages/antlr/package.py47
-rw-r--r--var/spack/repos/builtin/packages/autoconf/package.py2
-rw-r--r--var/spack/repos/builtin/packages/bbcp/package.py17
-rw-r--r--var/spack/repos/builtin/packages/binutils/package.py1
-rw-r--r--var/spack/repos/builtin/packages/bison/package.py2
-rw-r--r--var/spack/repos/builtin/packages/cnmem/package.py12
-rw-r--r--var/spack/repos/builtin/packages/cryptopp/package.py1
-rw-r--r--var/spack/repos/builtin/packages/dealii/package.py6
-rw-r--r--var/spack/repos/builtin/packages/flex/package.py1
-rw-r--r--var/spack/repos/builtin/packages/gcc/package.py1
-rw-r--r--var/spack/repos/builtin/packages/gdb/package.py1
-rw-r--r--var/spack/repos/builtin/packages/glm/package.py2
-rw-r--r--var/spack/repos/builtin/packages/gmsh/package.py5
-rw-r--r--var/spack/repos/builtin/packages/hwloc/package.py1
-rw-r--r--var/spack/repos/builtin/packages/hydra/package.py21
-rw-r--r--var/spack/repos/builtin/packages/jpeg/package.py9
-rw-r--r--var/spack/repos/builtin/packages/kripke/package.py32
-rw-r--r--var/spack/repos/builtin/packages/libtermkey/package.py17
-rw-r--r--var/spack/repos/builtin/packages/libtool/package.py2
-rw-r--r--var/spack/repos/builtin/packages/libuv/package.py21
-rw-r--r--var/spack/repos/builtin/packages/libvterm/package.py12
-rw-r--r--var/spack/repos/builtin/packages/mpich/package.py11
-rw-r--r--var/spack/repos/builtin/packages/mrnet/package.py1
-rw-r--r--var/spack/repos/builtin/packages/msgpack-c/package.py14
-rw-r--r--var/spack/repos/builtin/packages/mvapich2/package.py6
-rw-r--r--var/spack/repos/builtin/packages/nco/package.py30
-rw-r--r--var/spack/repos/builtin/packages/netcdf/package.py20
-rw-r--r--var/spack/repos/builtin/packages/openblas/make.patch35
-rw-r--r--var/spack/repos/builtin/packages/openblas/package.py4
-rw-r--r--var/spack/repos/builtin/packages/openmpi/package.py15
-rw-r--r--var/spack/repos/builtin/packages/openssl/package.py2
-rw-r--r--var/spack/repos/builtin/packages/p4est/package.py18
-rw-r--r--var/spack/repos/builtin/packages/paradiseo/package.py13
-rw-r--r--var/spack/repos/builtin/packages/qt/package.py16
-rw-r--r--var/spack/repos/builtin/packages/qthreads/ldflags.patch11
-rw-r--r--var/spack/repos/builtin/packages/qthreads/package.py7
-rw-r--r--var/spack/repos/builtin/packages/qthreads/restrict.patch12
-rw-r--r--var/spack/repos/builtin/packages/qthreads/trap.patch11
-rw-r--r--var/spack/repos/builtin/packages/raja/package.py12
-rw-r--r--var/spack/repos/builtin/packages/scons/package.py13
-rw-r--r--var/spack/repos/builtin/packages/serf/package.py51
-rw-r--r--var/spack/repos/builtin/packages/subversion/package.py2
-rw-r--r--var/spack/repos/builtin/packages/superlu-dist/package.py4
-rw-r--r--var/spack/repos/builtin/packages/the_silver_searcher/package.py1
-rw-r--r--var/spack/repos/builtin/packages/unibilium/package.py12
-rw-r--r--var/spack/repos/builtin/packages/xerces-c/package.py16
49 files changed, 609 insertions, 49 deletions
diff --git a/var/spack/repos/builtin/packages/LuaJIT/package.py b/var/spack/repos/builtin/packages/LuaJIT/package.py
new file mode 100644
index 0000000000..7b2a269212
--- /dev/null
+++ b/var/spack/repos/builtin/packages/LuaJIT/package.py
@@ -0,0 +1,15 @@
+import os
+from spack import *
+
+class Luajit(Package):
+ """Flast flexible JITed lua"""
+ homepage = "http://www.luajit.org"
+ url = "http://luajit.org/download/LuaJIT-2.0.4.tar.gz"
+
+ version('2.0.4', 'dd9c38307f2223a504cbfb96e477eca0')
+
+ def install(self, spec, prefix):
+ # Linking with the C++ compiler is a dirty hack to deal with the fact
+ # that unwinding symbols are not included by libc, this is necessary
+ # on some platforms for the final link stage to work
+ make("install", "PREFIX=" + prefix, "TARGET_LD=" + os.environ['CXX'])
diff --git a/var/spack/repos/builtin/packages/adol-c/openmp_exam.patch b/var/spack/repos/builtin/packages/adol-c/openmp_exam.patch
new file mode 100644
index 0000000000..8e21c72d92
--- /dev/null
+++ b/var/spack/repos/builtin/packages/adol-c/openmp_exam.patch
@@ -0,0 +1,13 @@
+diff --git a/ADOL-C/examples/additional_examples/openmp_exam/liborpar.cpp b/ADOL-C/examples/additional_examples/openmp_exam/liborpar.cpp
+index fc6fc28..14103d2 100644
+--- a/ADOL-C/examples/additional_examples/openmp_exam/liborpar.cpp
++++ b/ADOL-C/examples/additional_examples/openmp_exam/liborpar.cpp
+@@ -27,7 +27,7 @@ using namespace std;
+ #include <ctime>
+ #include <cmath>
+
+-#include "adolc.h"
++#include <adolc/adolc.h>
+
+ #ifdef _OPENMP
+ #include <omp.h>
diff --git a/var/spack/repos/builtin/packages/adol-c/package.py b/var/spack/repos/builtin/packages/adol-c/package.py
new file mode 100644
index 0000000000..70933542ca
--- /dev/null
+++ b/var/spack/repos/builtin/packages/adol-c/package.py
@@ -0,0 +1,80 @@
+from spack import *
+import sys
+
+class AdolC(Package):
+ """A package for the automatic differentiation of first and higher derivatives of vector functions in C and C++ programs by operator overloading."""
+ homepage = "https://projects.coin-or.org/ADOL-C"
+ url = "http://www.coin-or.org/download/source/ADOL-C/ADOL-C-2.6.1.tgz"
+
+ version('head', svn='https://projects.coin-or.org/svn/ADOL-C/trunk/')
+ version('2.6.1', '1032b28427d6e399af4610e78c0f087b')
+
+ variant('doc', default=True, description='Install documentation')
+ variant('openmp', default=False, description='Enable OpenMP support')
+ variant('sparse', default=False, description='Enable sparse drivers')
+ variant('tests', default=True, description='Build all included examples as a test case')
+
+ patch('openmp_exam.patch')
+
+ def install(self, spec, prefix):
+ make_args = ['--prefix=%s' % prefix]
+
+ # --with-cflags=FLAGS use CFLAGS=FLAGS (default: -O3 -Wall -ansi)
+ # --with-cxxflags=FLAGS use CXXFLAGS=FLAGS (default: -O3 -Wall)
+
+ if '+openmp' in spec:
+ if spec.satisfies('%gcc'):
+ make_args.extend([
+ '--with-openmp-flag=-fopenmp' # FIXME: Is this required? -I <path to omp.h> -L <LLVM OpenMP library path>
+ ])
+ else:
+ raise InstallError("OpenMP flags for compilers other than GCC are not implemented.")
+
+ if '+sparse' in spec:
+ make_args.extend([
+ '--enable-sparse'
+ ])
+
+ # We can simply use the bundled examples to check
+ # whether Adol-C works as expected
+ if '+tests' in spec:
+ make_args.extend([
+ '--enable-docexa', # Documeted examples
+ '--enable-addexa' # Additional examples
+ ])
+ if '+openmp' in spec:
+ make_args.extend([
+ '--enable-parexa' # Parallel examples
+ ])
+
+ configure(*make_args)
+ make()
+ make("install")
+
+ # Copy the config.h file, as some packages might require it
+ source_directory = self.stage.source_path
+ config_h = join_path(source_directory,'ADOL-C','src','config.h')
+ install(config_h, join_path(prefix.include,'adolc'))
+
+ # Install documentation to {prefix}/share
+ if '+doc' in spec:
+ install_tree(join_path('ADOL-C','doc'),
+ join_path(prefix.share,'doc'))
+
+ # Install examples to {prefix}/share
+ if '+tests' in spec:
+ install_tree(join_path('ADOL-C','examples'),
+ join_path(prefix.share,'examples'))
+
+ # Run some examples that don't require user input
+ # TODO: Check that bundled examples produce the correct results
+ with working_dir(join_path(source_directory,'ADOL-C','examples')):
+ Executable('./tapeless_scalar')()
+ Executable('./tapeless_vector')()
+
+ with working_dir(join_path(source_directory,'ADOL-C','examples','additional_examples')):
+ Executable('./checkpointing/checkpointing')()
+
+ if '+openmp' in spec:
+ with working_dir(join_path(source_directory,'ADOL-C','examples','additional_examples')):
+ Executable('./checkpointing/checkpointing')()
diff --git a/var/spack/repos/builtin/packages/antlr/package.py b/var/spack/repos/builtin/packages/antlr/package.py
new file mode 100644
index 0000000000..c7c7e3e850
--- /dev/null
+++ b/var/spack/repos/builtin/packages/antlr/package.py
@@ -0,0 +1,47 @@
+from spack import *
+
+class Antlr(Package):
+
+ homepage = "http://www.antlr.org"
+ url = "https://github.com/antlr/antlr/tarball/v2.7.7"
+
+ # NOTE: This requires that a system Java be available.
+ # Spack does not yet know how to install Java compilers
+
+ # Notes from http://nco.sourceforge.net/#bld
+ # The first steps to build (i.e., compile, for the most part) NCO from
+ # source code are to install the pre-requisites: ANTLR version 2.7.7
+ # (like this one not version 3.x or 4.x!) (required for ncap2)... ANTLR
+ # binaries from major distributions are pre-built with the source patch
+ # necessary to allow NCO to link to ANTLR... The ANTLR source file
+ # CharScanner.hpp must include this line: #include <cstring> or else
+ # ncap2 will not compile (this tarball is already patched).
+ version('2.7.7', '914865e853fe8e1e61a9f23d045cb4ab',
+ # Patched version as described above
+ url='http://dust.ess.uci.edu/tmp/antlr-2.7.7.tar.gz')
+ # Unpatched version
+ # url='http://dust.ess.uci.edu/nco/antlr-2.7.7.tar.gz')
+
+ variant('cxx', default=False, description='Enable ANTLR for C++')
+ variant('java', default=False, description='Enable ANTLR for Java')
+ variant('python', default=False, description='Enable ANTLR for Python')
+ variant('csharp', default=False, description='Enable ANTLR for Csharp')
+
+
+ def install(self, spec, prefix):
+ # Check for future enabling of variants
+ for v in ('+java', '+python', '+csharp'):
+ if v in spec:
+ raise Error('Illegal variant %s; for now, Spack only knows how to build antlr or antlr+cxx')
+
+ config_args = [
+ '--prefix=%s' % prefix,
+ '--%s-cxx' % ('enable' if '+cxx' in spec else 'disable'),
+ '--%s-java' % ('enable' if '+java' in spec else 'disable'),
+ '--%s-python' % ('enable' if '+python' in spec else 'disable'),
+ '--%s-csharp' % ('enable' if '+csharp' in spec else 'disable')]
+
+ # which('autoreconf')('-iv')
+ configure(*config_args)
+ make()
+ make("install")
diff --git a/var/spack/repos/builtin/packages/autoconf/package.py b/var/spack/repos/builtin/packages/autoconf/package.py
index 6412e810a6..b5e29b8a27 100644
--- a/var/spack/repos/builtin/packages/autoconf/package.py
+++ b/var/spack/repos/builtin/packages/autoconf/package.py
@@ -8,6 +8,8 @@ class Autoconf(Package):
version('2.69', '82d05e03b93e45f5a39b828dc9c6c29b')
version('2.62', '6c1f3b3734999035d77da5024aab4fbd')
+ depends_on("m4")
+
def install(self, spec, prefix):
configure("--prefix=%s" % prefix)
diff --git a/var/spack/repos/builtin/packages/bbcp/package.py b/var/spack/repos/builtin/packages/bbcp/package.py
new file mode 100644
index 0000000000..e9baa5ccf4
--- /dev/null
+++ b/var/spack/repos/builtin/packages/bbcp/package.py
@@ -0,0 +1,17 @@
+from spack import *
+
+class Bbcp(Package):
+ """Securely and quickly copy data from source to target"""
+ homepage = "http://www.slac.stanford.edu/~abh/bbcp/"
+
+ version('git', git='http://www.slac.stanford.edu/~abh/bbcp/bbcp.git', branch="master")
+
+ def install(self, spec, prefix):
+ cd("src")
+ make()
+ # BBCP wants to build the executable in a directory whose name depends on the system type
+ makesname = Executable("../MakeSname")
+ bbcp_executable_path = "../bin/%s/bbcp" % makesname(output=str).rstrip("\n")
+ destination_path = "%s/bin/" % prefix
+ mkdirp(destination_path)
+ install(bbcp_executable_path, destination_path)
diff --git a/var/spack/repos/builtin/packages/binutils/package.py b/var/spack/repos/builtin/packages/binutils/package.py
index b8064093d2..158d722046 100644
--- a/var/spack/repos/builtin/packages/binutils/package.py
+++ b/var/spack/repos/builtin/packages/binutils/package.py
@@ -29,6 +29,7 @@ class Binutils(Package):
configure_args = [
'--prefix=%s' % prefix,
'--disable-dependency-tracking',
+ '--disable-werror',
'--enable-interwork',
'--enable-multilib',
'--enable-shared',
diff --git a/var/spack/repos/builtin/packages/bison/package.py b/var/spack/repos/builtin/packages/bison/package.py
index 7c526fb958..9a2ddcbf96 100644
--- a/var/spack/repos/builtin/packages/bison/package.py
+++ b/var/spack/repos/builtin/packages/bison/package.py
@@ -10,6 +10,8 @@ class Bison(Package):
version('3.0.4', 'a586e11cd4aff49c3ff6d3b6a4c9ccf8')
+ depends_on("m4")
+
def install(self, spec, prefix):
configure("--prefix=%s" % prefix)
diff --git a/var/spack/repos/builtin/packages/cnmem/package.py b/var/spack/repos/builtin/packages/cnmem/package.py
new file mode 100644
index 0000000000..0a83e8fc20
--- /dev/null
+++ b/var/spack/repos/builtin/packages/cnmem/package.py
@@ -0,0 +1,12 @@
+from spack import *
+
+class Cnmem(Package):
+ """CNMem mempool for CUDA devices"""
+ homepage = "https://github.com/NVIDIA/cnmem"
+
+ version('git', git='https://github.com/NVIDIA/cnmem.git', branch="master")
+
+ def install(self, spec, prefix):
+ cmake('.',*std_cmake_args)
+ make()
+ make('install')
diff --git a/var/spack/repos/builtin/packages/cryptopp/package.py b/var/spack/repos/builtin/packages/cryptopp/package.py
index bc83cb2b65..c2778e14da 100644
--- a/var/spack/repos/builtin/packages/cryptopp/package.py
+++ b/var/spack/repos/builtin/packages/cryptopp/package.py
@@ -13,6 +13,7 @@ class Cryptopp(Package):
version('5.6.3', '3c5b70e2ec98b7a24988734446242d07')
version('5.6.2', '7ed022585698df48e65ce9218f6c6a67')
+ version('5.6.1', '96cbeba0907562b077e26bcffb483828')
def install(self, spec, prefix):
make()
diff --git a/var/spack/repos/builtin/packages/dealii/package.py b/var/spack/repos/builtin/packages/dealii/package.py
index 674fe3150a..df8330384d 100644
--- a/var/spack/repos/builtin/packages/dealii/package.py
+++ b/var/spack/repos/builtin/packages/dealii/package.py
@@ -12,6 +12,7 @@ class Dealii(Package):
variant('mpi', default=True, description='Compile with MPI')
variant('arpack', default=True, description='Compile with Arpack and PArpack (only with MPI)')
variant('doc', default=False, description='Compile with documentation')
+ variant('gsl' , default=True, description='Compile with GSL')
variant('hdf5', default=True, description='Compile with HDF5 (only with MPI)')
variant('metis', default=True, description='Compile with Metis')
variant('netcdf', default=True, description='Compile with Netcdf (only with MPI)')
@@ -39,6 +40,8 @@ class Dealii(Package):
depends_on ("mpi", when="+mpi")
depends_on ("arpack-ng+mpi", when='+arpack+mpi')
depends_on ("doxygen", when='+doc')
+ depends_on ("gsl", when='@8.5.0:+gsl')
+ depends_on ("gsl", when='@dev+gsl')
depends_on ("hdf5+mpi~cxx", when='+hdf5+mpi') #FIXME NetCDF declares dependency with ~cxx, why?
depends_on ("metis@5:", when='+metis')
depends_on ("netcdf+mpi", when="+netcdf+mpi")
@@ -80,7 +83,6 @@ class Dealii(Package):
(join_path(spec['lapack'].prefix.lib,'liblapack.%s' % dsuf), # FIXME don't hardcode names
join_path(spec['blas'].prefix.lib,'libblas.%s' % dsuf)), # FIXME don't hardcode names
'-DMUPARSER_DIR=%s ' % spec['muparser'].prefix,
- '-DP4EST_DIR=%s' % spec['p4est'].prefix,
'-DUMFPACK_DIR=%s' % spec['suite-sparse'].prefix,
'-DTBB_DIR=%s' % spec['tbb'].prefix,
'-DZLIB_DIR=%s' % spec['zlib'].prefix
@@ -100,7 +102,7 @@ class Dealii(Package):
])
# Optional dependencies for which librariy names are the same as CMake variables
- for library in ('hdf5', 'p4est','petsc', 'slepc','trilinos','metis'):
+ for library in ('gsl','hdf5','p4est','petsc','slepc','trilinos','metis'):
if library in spec:
options.extend([
'-D{library}_DIR={value}'.format(library=library.upper(), value=spec[library].prefix),
diff --git a/var/spack/repos/builtin/packages/flex/package.py b/var/spack/repos/builtin/packages/flex/package.py
index b065904912..e4795893e0 100644
--- a/var/spack/repos/builtin/packages/flex/package.py
+++ b/var/spack/repos/builtin/packages/flex/package.py
@@ -6,6 +6,7 @@ class Flex(Package):
homepage = "http://flex.sourceforge.net/"
url = "http://download.sourceforge.net/flex/flex-2.5.39.tar.gz"
+ version('2.6.0', '5724bcffed4ebe39e9b55a9be80859ec')
version('2.5.39', 'e133e9ead8ec0a58d81166b461244fde')
def install(self, spec, prefix):
diff --git a/var/spack/repos/builtin/packages/gcc/package.py b/var/spack/repos/builtin/packages/gcc/package.py
index 6043b62279..8f90757232 100644
--- a/var/spack/repos/builtin/packages/gcc/package.py
+++ b/var/spack/repos/builtin/packages/gcc/package.py
@@ -38,6 +38,7 @@ class Gcc(Package):
list_url = 'http://open-source-box.org/gcc/'
list_depth = 2
+ version('6.1.0', '8fb6cb98b8459f5863328380fbf06bd1')
version('5.3.0', 'c9616fd448f980259c31de613e575719')
version('5.2.0', 'a51bcfeb3da7dd4c623e27207ed43467')
version('4.9.3', '6f831b4d251872736e8e9cc09746f327')
diff --git a/var/spack/repos/builtin/packages/gdb/package.py b/var/spack/repos/builtin/packages/gdb/package.py
index b346fe80c2..0e9e8fc099 100644
--- a/var/spack/repos/builtin/packages/gdb/package.py
+++ b/var/spack/repos/builtin/packages/gdb/package.py
@@ -34,6 +34,7 @@ class Gdb(Package):
homepage = "https://www.gnu.org/software/gdb"
url = "http://ftp.gnu.org/gnu/gdb/gdb-7.10.tar.gz"
+ version('7.11', 'f585059252836a981ea5db9a5f8ce97f')
version('7.10.1', 'b93a2721393e5fa226375b42d567d90b')
version('7.10', 'fa6827ad0fd2be1daa418abb11a54d86')
version('7.9.1', 'f3b97de919a9dba84490b2e076ec4cb0')
diff --git a/var/spack/repos/builtin/packages/glm/package.py b/var/spack/repos/builtin/packages/glm/package.py
index d00c301b4c..ecae89f1e8 100644
--- a/var/spack/repos/builtin/packages/glm/package.py
+++ b/var/spack/repos/builtin/packages/glm/package.py
@@ -11,6 +11,8 @@ class Glm(Package):
url = "https://github.com/g-truc/glm/archive/0.9.7.1.tar.gz"
version('0.9.7.1', '61af6639cdf652d1cdd7117190afced8')
+
+ depends_on ("cmake")
def install(self, spec, prefix):
with working_dir('spack-build', create=True):
diff --git a/var/spack/repos/builtin/packages/gmsh/package.py b/var/spack/repos/builtin/packages/gmsh/package.py
index 9d759303cb..5f659c56df 100644
--- a/var/spack/repos/builtin/packages/gmsh/package.py
+++ b/var/spack/repos/builtin/packages/gmsh/package.py
@@ -63,6 +63,11 @@ class Gmsh(Package):
build_directory = join_path(self.stage.path, 'spack-build')
source_directory = self.stage.source_path
+ options.append('-DCMAKE_INSTALL_NAME_DIR:PATH=%s/lib' % prefix)
+
+ # Prevent GMsh from using its own strange directory structure on OSX
+ options.append('-DENABLE_OS_SPECIFIC_INSTALL=OFF')
+
if '+shared' in spec:
options.extend(['-DENABLE_BUILD_SHARED:BOOL=ON',
'-DENABLE_BUILD_DYNAMIC:BOOL=ON']) # Builds dynamic executable and installs shared library
diff --git a/var/spack/repos/builtin/packages/hwloc/package.py b/var/spack/repos/builtin/packages/hwloc/package.py
index ab7205646e..a461a7482c 100644
--- a/var/spack/repos/builtin/packages/hwloc/package.py
+++ b/var/spack/repos/builtin/packages/hwloc/package.py
@@ -17,6 +17,7 @@ class Hwloc(Package):
list_url = "http://www.open-mpi.org/software/hwloc/"
list_depth = 3
+ version('1.11.3', 'c1d36a9de6028eac1d18ea4782ef958f')
version('1.11.2', 'e4ca55c2a5c5656da4a4e37c8fc51b23')
version('1.11.1', 'feb4e416a1b25963ed565d8b42252fdc')
version('1.9', '1f9f9155682fe8946a97c08896109508')
diff --git a/var/spack/repos/builtin/packages/hydra/package.py b/var/spack/repos/builtin/packages/hydra/package.py
new file mode 100644
index 0000000000..c1b8868276
--- /dev/null
+++ b/var/spack/repos/builtin/packages/hydra/package.py
@@ -0,0 +1,21 @@
+from spack import *
+
+class Hydra(Package):
+ """Hydra is a process management system for starting parallel jobs.
+ Hydra is designed to natively work with existing launcher daemons
+ (such as ssh, rsh, fork), as well as natively integrate with resource
+ management systems (such as slurm, pbs, sge)."""
+
+ homepage = "http://www.mpich.org"
+ url = "http://www.mpich.org/static/downloads/3.2/hydra-3.2.tar.gz"
+ list_url = "http://www.mpich.org/static/downloads/"
+ list_depth = 2
+
+ version('3.2', '4d670916695bf7e3a869cc336a881b39')
+
+
+ def install(self, spec, prefix):
+ configure('--prefix=%s' % prefix)
+
+ make()
+ make("install")
diff --git a/var/spack/repos/builtin/packages/jpeg/package.py b/var/spack/repos/builtin/packages/jpeg/package.py
index 87820467db..2f15e59ad4 100644
--- a/var/spack/repos/builtin/packages/jpeg/package.py
+++ b/var/spack/repos/builtin/packages/jpeg/package.py
@@ -1,14 +1,19 @@
from spack import *
class Jpeg(Package):
- """jpeg library"""
+ """libjpeg is a widely used free library with functions for handling the
+ JPEG image data format. It implements a JPEG codec (encoding and decoding)
+ alongside various utilities for handling JPEG data."""
+
homepage = "http://www.ijg.org"
- url = "http://www.ijg.org/files/jpegsrc.v9a.tar.gz"
+ url = "http://www.ijg.org/files/jpegsrc.v9b.tar.gz"
+ version('9b', '6a9996ce116ec5c52b4870dbcd6d3ddb')
version('9a', '3353992aecaee1805ef4109aadd433e7')
def install(self, spec, prefix):
configure("--prefix=%s" % prefix)
make()
+ make("test")
make("install")
diff --git a/var/spack/repos/builtin/packages/kripke/package.py b/var/spack/repos/builtin/packages/kripke/package.py
new file mode 100644
index 0000000000..7d067ea44d
--- /dev/null
+++ b/var/spack/repos/builtin/packages/kripke/package.py
@@ -0,0 +1,32 @@
+from spack import *
+
+class Kripke(Package):
+ """Kripke is a simple, scalable, 3D Sn deterministic particle
+ transport proxy/mini app.
+ """
+ homepage = "https://codesign.llnl.gov/kripke.php"
+ url = "https://codesign.llnl.gov/downloads/kripke-openmp-1.1.tar.gz"
+
+ version('1.1', '7fe6f2b26ed983a6ce5495ab701f85bf')
+
+ variant('mpi', default=True, description='Build with MPI.')
+ variant('openmp', default=True, description='Build with OpenMP enabled.')
+
+ depends_on('mpi', when="+mpi")
+
+ def install(self, spec, prefix):
+ with working_dir('build', create=True):
+ def enabled(variant):
+ return (1 if variant in spec else 0)
+
+ cmake('-DCMAKE_INSTALL_PREFIX:PATH=.',
+ '-DENABLE_OPENMP=%d' % enabled('+openmp'),
+ '-DENABLE_MPI=%d' % enabled('+mpi'),
+ '..',
+ *std_cmake_args)
+ make()
+
+ # Kripke does not provide install target, so we have to copy
+ # things into place.
+ mkdirp(prefix.bin)
+ install('kripke', prefix.bin)
diff --git a/var/spack/repos/builtin/packages/libtermkey/package.py b/var/spack/repos/builtin/packages/libtermkey/package.py
new file mode 100644
index 0000000000..7f25edaf76
--- /dev/null
+++ b/var/spack/repos/builtin/packages/libtermkey/package.py
@@ -0,0 +1,17 @@
+from spack import *
+
+class Libtermkey(Package):
+ """Easy keyboard entry processing for terminal programs"""
+ homepage = "http://www.leonerd.org.uk/code/libtermkey/"
+ url = "http://www.leonerd.org.uk/code/libtermkey/libtermkey-0.18.tar.gz"
+
+ version('0.18' , '3be2e3e5a851a49cc5e8567ac108b520')
+ version('0.17' , '20edb99e0d95ec1690fe90e6a555ae6d')
+ version('0.16' , '7a24b675aaeb142d30db28e7554987d4')
+ version('0.15b', '27689756e6c86c56ae454f2ac259bc3d')
+ version('0.14' , 'e08ce30f440f9715c459060e0e048978')
+
+
+ def install(self, spec, prefix):
+ make()
+ make("install", "PREFIX=" + prefix)
diff --git a/var/spack/repos/builtin/packages/libtool/package.py b/var/spack/repos/builtin/packages/libtool/package.py
index 82a54953b2..c804f5ab5d 100644
--- a/var/spack/repos/builtin/packages/libtool/package.py
+++ b/var/spack/repos/builtin/packages/libtool/package.py
@@ -8,6 +8,8 @@ class Libtool(Package):
version('2.4.6' , 'addf44b646ddb4e3919805aa88fa7c5e')
version('2.4.2' , 'd2f3b7d4627e69e13514a40e72a24d50')
+ depends_on('m4')
+
def install(self, spec, prefix):
configure("--prefix=%s" % prefix)
diff --git a/var/spack/repos/builtin/packages/libuv/package.py b/var/spack/repos/builtin/packages/libuv/package.py
new file mode 100644
index 0000000000..eace94d1a6
--- /dev/null
+++ b/var/spack/repos/builtin/packages/libuv/package.py
@@ -0,0 +1,21 @@
+from spack import *
+
+class Libuv(Package):
+ """Multi-platform library with a focus on asynchronous IO"""
+ homepage = "http://libuv.org"
+ url = "https://github.com/libuv/libuv/archive/v1.9.0.tar.gz"
+
+ version('1.9.0', '14737f9c76123a19a290dabb7d1cd04c')
+
+ depends_on('automake')
+ depends_on('autoconf')
+ depends_on('libtool')
+
+ def install(self, spec, prefix):
+ bash = which("bash")
+ bash('autogen.sh')
+ configure('--prefix=%s' % prefix)
+
+ make()
+ make("check")
+ make("install")
diff --git a/var/spack/repos/builtin/packages/libvterm/package.py b/var/spack/repos/builtin/packages/libvterm/package.py
new file mode 100644
index 0000000000..3212f6550d
--- /dev/null
+++ b/var/spack/repos/builtin/packages/libvterm/package.py
@@ -0,0 +1,12 @@
+from spack import *
+
+class Libvterm(Package):
+ """An abstract library implementation of a terminal emulator"""
+ homepage = "http://www.leonerd.org.uk/code/libvterm/"
+ url = "http://www.leonerd.org.uk/code/libvterm/libvterm-0+bzr681.tar.gz"
+
+ version('681', '7a4325a7350b7092245c04e8ee185ac3')
+
+ def install(self, spec, prefix):
+ make()
+ make("install", "PREFIX=" + prefix)
diff --git a/var/spack/repos/builtin/packages/mpich/package.py b/var/spack/repos/builtin/packages/mpich/package.py
index b317ec6651..2179086fe5 100644
--- a/var/spack/repos/builtin/packages/mpich/package.py
+++ b/var/spack/repos/builtin/packages/mpich/package.py
@@ -43,6 +43,8 @@ class Mpich(Package):
version('3.0.4', '9c5d5d4fe1e17dd12153f40bc5b6dbc0')
variant('verbs', default=False, description='Build support for OpenFabrics verbs.')
+ variant('pmi', default=True, description='Build with PMI support')
+ variant('hydra', default=True, description='Build the hydra process manager')
provides('mpi@:3.0', when='@3:')
provides('mpi@:1.3', when='@1:')
@@ -55,12 +57,15 @@ class Mpich(Package):
spack_env.set('MPICH_FC', spack_fc)
def setup_dependent_package(self, module, dep_spec):
- """For dependencies, make mpicc's use spack wrapper."""
- # FIXME : is this necessary ? Shouldn't this be part of a contract with MPI providers?
- module.mpicc = join_path(self.prefix.bin, 'mpicc')
+ self.spec.mpicc = join_path(self.prefix.bin, 'mpicc')
+ self.spec.mpicxx = join_path(self.prefix.bin, 'mpic++')
+ self.spec.mpifc = join_path(self.prefix.bin, 'mpif90')
+ self.spec.mpif77 = join_path(self.prefix.bin, 'mpif77')
def install(self, spec, prefix):
config_args = ["--prefix=" + prefix,
+ "--with-pmi=" + ("yes" if '+pmi' in spec else 'no'),
+ "--with-pm=" + ('hydra' if '+hydra' in spec else 'no'),
"--enable-shared"]
# Variants
diff --git a/var/spack/repos/builtin/packages/mrnet/package.py b/var/spack/repos/builtin/packages/mrnet/package.py
index a3abb71285..b52233be4a 100644
--- a/var/spack/repos/builtin/packages/mrnet/package.py
+++ b/var/spack/repos/builtin/packages/mrnet/package.py
@@ -6,6 +6,7 @@ class Mrnet(Package):
url = "ftp://ftp.cs.wisc.edu/paradyn/mrnet/mrnet_5.0.1.tar.gz"
list_url = "http://ftp.cs.wisc.edu/paradyn/mrnet"
+ version('5.0.1-2', git='https://github.com/dyninst/mrnet.git', commit='20b1eacfc6d680d9f6472146d2dfaa0f900cc2e9')
version('5.0.1', '17f65738cf1b9f9b95647ff85f69ecdd')
version('4.1.0', '5a248298b395b329e2371bf25366115c')
version('4.0.0', 'd00301c078cba57ef68613be32ceea2f')
diff --git a/var/spack/repos/builtin/packages/msgpack-c/package.py b/var/spack/repos/builtin/packages/msgpack-c/package.py
new file mode 100644
index 0000000000..a363bc89be
--- /dev/null
+++ b/var/spack/repos/builtin/packages/msgpack-c/package.py
@@ -0,0 +1,14 @@
+from spack import *
+
+class MsgpackC(Package):
+ """A small, fast binary interchange format convertible to/from JSON"""
+ homepage = "http://www.msgpack.org"
+ url = "https://github.com/msgpack/msgpack-c/archive/cpp-1.4.1.tar.gz"
+
+ version('1.4.1', 'e2fd3a7419b9bc49e5017fdbefab87e0')
+
+ def install(self, spec, prefix):
+ cmake('.', *std_cmake_args)
+
+ make()
+ make("install")
diff --git a/var/spack/repos/builtin/packages/mvapich2/package.py b/var/spack/repos/builtin/packages/mvapich2/package.py
index 3e60b517db..c68a04d251 100644
--- a/var/spack/repos/builtin/packages/mvapich2/package.py
+++ b/var/spack/repos/builtin/packages/mvapich2/package.py
@@ -147,6 +147,12 @@ class Mvapich2(Package):
spack_env.set('MPICH_F90', spack_fc)
spack_env.set('MPICH_FC', spack_fc)
+ def setup_dependent_package(self, module, dep_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')
+
def install(self, spec, prefix):
# we'll set different configure flags depending on our environment
configure_args = [
diff --git a/var/spack/repos/builtin/packages/nco/package.py b/var/spack/repos/builtin/packages/nco/package.py
new file mode 100644
index 0000000000..3a9aeaa656
--- /dev/null
+++ b/var/spack/repos/builtin/packages/nco/package.py
@@ -0,0 +1,30 @@
+from spack import *
+import os
+
+class Nco(Package):
+ """The NCO toolkit manipulates and analyzes data stored in
+ netCDF-accessible formats"""
+
+ homepage = "https://sourceforge.net/projects/nco"
+ url = "https://github.com/nco/nco/archive/4.5.5.tar.gz"
+
+ version('4.5.5', '9f1f1cb149ad6407c5a03c20122223ce')
+
+ # See "Compilation Requirements" at:
+ # http://nco.sourceforge.net/#bld
+
+ depends_on('netcdf')
+ depends_on('antlr@2.7.7+cxx') # (required for ncap2)
+ depends_on('gsl') # (desirable for ncap2)
+ depends_on('udunits2') # (allows dimensional unit transformations)
+ # depends_on('opendap') # (enables network transparency),
+
+ def install(self, spec, prefix):
+ opts = [
+ '--prefix=%s' % prefix,
+ '--disable-openmp', # TODO: Make this a variant
+ '--disable-dap', # TODO: Make this a variant
+ '--disable-esmf']
+ configure(*opts)
+ make()
+ make("install")
diff --git a/var/spack/repos/builtin/packages/netcdf/package.py b/var/spack/repos/builtin/packages/netcdf/package.py
index b60a2c4e9a..4aad0f6f3c 100644
--- a/var/spack/repos/builtin/packages/netcdf/package.py
+++ b/var/spack/repos/builtin/packages/netcdf/package.py
@@ -12,15 +12,19 @@ class Netcdf(Package):
version('4.4.0', 'cffda0cbd97fdb3a06e9274f7aef438e')
version('4.3.3', '5fbd0e108a54bd82cb5702a73f56d2ae')
- variant('mpi', default=True, description='Enables MPI parallelism')
- variant('hdf4', default=False, description="Enable HDF4 support")
+ variant('mpi', default=True, description='Enables MPI parallelism')
+ variant('hdf4', default=False, description='Enable HDF4 support')
- # Dependencies:
- depends_on("curl") # required for DAP support
+ depends_on("m4")
depends_on("hdf", when='+hdf4')
- depends_on("hdf5+mpi~cxx", when='+mpi') # required for NetCDF-4 support
- depends_on("hdf5~mpi", when='~mpi') # required for NetCDF-4 support
- depends_on("zlib") # required for NetCDF-4 support
+
+ # Required for DAP support
+ depends_on("curl")
+
+ # Required for NetCDF-4 support
+ depends_on("zlib")
+ depends_on("hdf5+mpi", when='+mpi')
+ depends_on("hdf5~mpi", when='~mpi')
def install(self, spec, prefix):
# Environment variables
@@ -48,7 +52,7 @@ class Netcdf(Package):
# /usr/lib/x86_64-linux-gnu/libcurl.so: undefined reference to `SSL_CTX_use_certificate_chain_file@OPENSSL_1.0.0'
LIBS.append("-lcurl")
CPPFLAGS.append("-I%s" % spec['curl'].prefix.include)
- LDFLAGS.append ("-L%s" % spec['curl'].prefix.lib)
+ LDFLAGS.append( "-L%s" % spec['curl'].prefix.lib)
if '+mpi' in spec:
config_args.append('--enable-parallel4')
diff --git a/var/spack/repos/builtin/packages/openblas/make.patch b/var/spack/repos/builtin/packages/openblas/make.patch
new file mode 100644
index 0000000000..851214211a
--- /dev/null
+++ b/var/spack/repos/builtin/packages/openblas/make.patch
@@ -0,0 +1,35 @@
+diff --git a/Makefile.system b/Makefile.system
+index b89f60e..2dbdad0 100644
+--- a/Makefile.system
++++ b/Makefile.system
+@@ -139,6 +139,10 @@ NO_PARALLEL_MAKE=0
+ endif
+ GETARCH_FLAGS += -DNO_PARALLEL_MAKE=$(NO_PARALLEL_MAKE)
+
++ifdef MAKE_NO_J
++GETARCH_FLAGS += -DMAKE_NO_J=$(MAKE_NO_J)
++endif
++
+ ifdef MAKE_NB_JOBS
+ GETARCH_FLAGS += -DMAKE_NB_JOBS=$(MAKE_NB_JOBS)
+ endif
+diff --git a/getarch.c b/getarch.c
+index f9c49e6..dffad70 100644
+--- a/getarch.c
++++ b/getarch.c
+@@ -1012,6 +1012,7 @@ int main(int argc, char *argv[]){
+ #endif
+ #endif
+
++#ifndef MAKE_NO_J
+ #ifdef MAKE_NB_JOBS
+ printf("MAKE += -j %d\n", MAKE_NB_JOBS);
+ #elif NO_PARALLEL_MAKE==1
+@@ -1021,6 +1022,7 @@ int main(int argc, char *argv[]){
+ printf("MAKE += -j %d\n", get_num_cores());
+ #endif
+ #endif
++#endif
+
+ break;
+
diff --git a/var/spack/repos/builtin/packages/openblas/package.py b/var/spack/repos/builtin/packages/openblas/package.py
index f5d656f659..99649da9ca 100644
--- a/var/spack/repos/builtin/packages/openblas/package.py
+++ b/var/spack/repos/builtin/packages/openblas/package.py
@@ -20,13 +20,15 @@ class Openblas(Package):
provides('blas')
provides('lapack')
+ patch('make.patch')
def install(self, spec, prefix):
# Openblas is picky about compilers. Configure fails with
# FC=/abs/path/to/f77, whereas FC=f77 works fine.
# To circumvent this, provide basename only:
make_defs = ['CC=%s' % os.path.basename(spack_cc),
- 'FC=%s' % os.path.basename(spack_f77)]
+ 'FC=%s' % os.path.basename(spack_f77),
+ 'MAKE_NO_J=1']
make_targets = ['libs', 'netlib']
diff --git a/var/spack/repos/builtin/packages/openmpi/package.py b/var/spack/repos/builtin/packages/openmpi/package.py
index 9a127f1812..d0dd2d657f 100644
--- a/var/spack/repos/builtin/packages/openmpi/package.py
+++ b/var/spack/repos/builtin/packages/openmpi/package.py
@@ -1,7 +1,5 @@
-import os
-
from spack import *
-
+import os
class Openmpi(Package):
"""Open MPI is a project combining technologies and resources from
@@ -28,6 +26,7 @@ class Openmpi(Package):
patch('configure.patch', when="@1.10.0:1.10.1")
variant('psm', default=False, description='Build support for the PSM library.')
+ variant('pmi', default=True, description='Build support for PMI-based launchers')
variant('verbs', default=False, description='Build support for OpenFabrics verbs.')
# TODO : variant support for other schedulers is missing
@@ -38,6 +37,7 @@ class Openmpi(Package):
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)
@@ -48,6 +48,12 @@ class Openmpi(Package):
spack_env.set('OMPI_FC', spack_fc)
spack_env.set('OMPI_F77', spack_f77)
+ def setup_dependent_package(self, module, dep_spec):
+ self.spec.mpicc = join_path(self.prefix.bin, 'mpicc')
+ self.spec.mpicxx = join_path(self.prefix.bin, 'mpic++')
+ self.spec.mpifc = join_path(self.prefix.bin, 'mpif90')
+ self.spec.mpif77 = join_path(self.prefix.bin, 'mpif77')
+
def install(self, spec, prefix):
config_args = ["--prefix=%s" % prefix,
@@ -62,6 +68,9 @@ class Openmpi(Package):
if '+psm' in spec:
config_args.append("--with-psm")
+ if '+pmi' in spec:
+ config_args.append("--with-pmi") #TODO: let user specify directory when possible
+
if '+verbs' in spec:
# Up through version 1.6, this option was previously named --with-openib
if spec.satisfies('@:1.6'):
diff --git a/var/spack/repos/builtin/packages/openssl/package.py b/var/spack/repos/builtin/packages/openssl/package.py
index 9e3109bfed..d0c95731a2 100644
--- a/var/spack/repos/builtin/packages/openssl/package.py
+++ b/var/spack/repos/builtin/packages/openssl/package.py
@@ -15,10 +15,12 @@ class Openssl(Package):
version('1.0.1h', '8d6d684a9430d5cc98a62a5d8fbda8cf')
version('1.0.1r', '1abd905e079542ccae948af37e393d28')
+ version('1.0.1t', '9837746fcf8a6727d46d22ca35953da1')
version('1.0.2d', '38dd619b2e77cbac69b99f52a053d25a')
version('1.0.2e', '5262bfa25b60ed9de9f28d5d52d77fc5')
version('1.0.2f', 'b3bf73f507172be9292ea2a8c28b659d')
version('1.0.2g', 'f3c710c045cdee5fd114feb69feba7aa')
+ version('1.0.2h', '9392e65072ce4b614c1392eefc1f23d0')
depends_on("zlib")
parallel = False
diff --git a/var/spack/repos/builtin/packages/p4est/package.py b/var/spack/repos/builtin/packages/p4est/package.py
index 017c4e3fbf..adf75babb9 100644
--- a/var/spack/repos/builtin/packages/p4est/package.py
+++ b/var/spack/repos/builtin/packages/p4est/package.py
@@ -7,6 +7,8 @@ class P4est(Package):
version('1.1', '37ba7f4410958cfb38a2140339dbf64f')
+ variant('tests', default=True, description='Run small tests')
+
# build dependencies
depends_on('automake')
depends_on('autoconf')
@@ -24,14 +26,20 @@ class P4est(Package):
'--without-blas',
'CPPFLAGS=-DSC_LOG_PRIORITY=SC_LP_ESSENTIAL',
'CFLAGS=-O2',
- 'CC=%s' % join_path(self.spec['mpi'].prefix.bin, 'mpicc'), # TODO: use ENV variables or MPI class wrappers
- 'CXX=%s' % join_path(self.spec['mpi'].prefix.bin, 'mpic++'),
- 'FC=%s' % join_path(self.spec['mpi'].prefix.bin, 'mpif90'),
- 'F77=%s' % join_path(self.spec['mpi'].prefix.bin, 'mpif77'),
+ 'CC=%s' % self.spec['mpi'].mpicc,
+ 'CXX=%s' % self.spec['mpi'].mpicxx,
+ 'FC=%s' % self.spec['mpi'].mpifc,
+ 'F77=%s' % self.spec['mpi'].mpif77
]
configure('--prefix=%s' % prefix, *options)
make()
- make("check")
+ # Make tests optional as sometimes mpiexec can't be run with an error:
+ # mpiexec has detected an attempt to run as root.
+ # Running at root is *strongly* discouraged as any mistake (e.g., in
+ # defining TMPDIR) or bug can result in catastrophic damage to the OS
+ # file system, leaving your system in an unusable state.
+ if '+tests' in self.spec:
+ make("check")
make("install")
diff --git a/var/spack/repos/builtin/packages/paradiseo/package.py b/var/spack/repos/builtin/packages/paradiseo/package.py
index c254234b32..34766099da 100644
--- a/var/spack/repos/builtin/packages/paradiseo/package.py
+++ b/var/spack/repos/builtin/packages/paradiseo/package.py
@@ -20,15 +20,20 @@ class Paradiseo(Package):
#variant('tests', default=False, description='Compile with build tests')
#variant('doc', default=False, description='Compile with documentation')
variant('debug', default=False, description='Builds a debug version of the libraries')
+ variant('openmp', default=False, description='Enable OpenMP support')
+ variant('gnuplot', default=False, description='Enable GnuPlot support')
# Required dependencies
depends_on ("cmake")
- depends_on ("eigen")
# Optional dependencies
depends_on ("mpi", when="+mpi")
depends_on ("doxygen", when='+doc')
-
+ depends_on ("gnuplot", when='+gnuplot')
+ depends_on ("eigen", when='+edo')
+ depends_on ("boost~mpi", when='+edo~mpi')
+ depends_on ("boost+mpi", when='+edo+mpi')
+
# Patches
patch('enable_eoserial.patch')
patch('fix_osx_detection.patch')
@@ -45,7 +50,9 @@ class Paradiseo(Package):
'-DMPI:BOOL=%s' % ('TRUE' if '+mpi' in spec else 'FALSE'),
'-DSMP:BOOL=%s' % ('TRUE' if '+smp' in spec else 'FALSE'), # Note: This requires a C++11 compatible compiler
'-DEDO:BOOL=%s' % ('TRUE' if '+edo' in spec else 'FALSE'),
- '-DENABLE_CMAKE_TESTING:BOOL=%s' % ('TRUE' if '+tests' in spec else 'FALSE')
+ '-DENABLE_CMAKE_TESTING:BOOL=%s' % ('TRUE' if '+tests' in spec else 'FALSE'),
+ '-DENABLE_OPENMP:BOOL=%s' % ('TRUE' if '+openmp' in spec else 'FALSE'),
+ '-DENABLE_GNUPLOT:BOOL=%s' % ('TRUE' if '+gnuplot' in spec else 'FALSE')
])
with working_dir('spack-build', create=True):
diff --git a/var/spack/repos/builtin/packages/qt/package.py b/var/spack/repos/builtin/packages/qt/package.py
index 93688fb777..1e1d6302f3 100644
--- a/var/spack/repos/builtin/packages/qt/package.py
+++ b/var/spack/repos/builtin/packages/qt/package.py
@@ -101,7 +101,7 @@ class Qt(Package):
@property
def common_config_args(self):
- return [
+ config_args = [
'-prefix', self.prefix,
'-v',
'-opensource',
@@ -115,7 +115,16 @@ class Qt(Package):
'-no-openvg',
'-no-pch',
# NIS is deprecated in more recent glibc
- '-no-nis']
+ '-no-nis'
+ ]
+
+ if '+gtk' in self.spec:
+ config_args.append('-gtkstyle')
+ else:
+ config_args.append('-no-gtkstyle')
+
+ return config_args
+
# Don't disable all the database drivers, but should
# really get them into spack at some point.
@@ -128,8 +137,7 @@ class Qt(Package):
'-thread',
'-shared',
'-release',
- '-fast'
- )
+ '-fast')
@when('@4')
def configure(self):
diff --git a/var/spack/repos/builtin/packages/qthreads/ldflags.patch b/var/spack/repos/builtin/packages/qthreads/ldflags.patch
new file mode 100644
index 0000000000..0c15eab386
--- /dev/null
+++ b/var/spack/repos/builtin/packages/qthreads/ldflags.patch
@@ -0,0 +1,11 @@
+--- a/configure
++++ b/configure
+@@ -40456,7 +40456,7 @@
+ hwloc_saved_LDFLAGS="$LDFLAGS"
+ if test "x$with_hwloc" != x; then
+ CPPFLAGS="-I$with_hwloc/include $CPPFLAGS"
+- LDFLAGS="-L$with_hwloc/lib $CPPFLAGS"
++ LDFLAGS="-L$with_hwloc/lib $LDFLAGS"
+ fi
+
+
diff --git a/var/spack/repos/builtin/packages/qthreads/package.py b/var/spack/repos/builtin/packages/qthreads/package.py
index dacdb71524..5da9340927 100644
--- a/var/spack/repos/builtin/packages/qthreads/package.py
+++ b/var/spack/repos/builtin/packages/qthreads/package.py
@@ -16,7 +16,12 @@ class Qthreads(Package):
version('1.10', '5af8c8bbe88c2a6d45361643780d1671')
+ patch("ldflags.patch")
+ patch("restrict.patch")
+ patch("trap.patch")
+
def install(self, spec, prefix):
- configure("--prefix=%s" % prefix)
+ configure("--prefix=%s" % prefix,
+ "--enable-guard-pages")
make()
make("install")
diff --git a/var/spack/repos/builtin/packages/qthreads/restrict.patch b/var/spack/repos/builtin/packages/qthreads/restrict.patch
new file mode 100644
index 0000000000..4c95714f6b
--- /dev/null
+++ b/var/spack/repos/builtin/packages/qthreads/restrict.patch
@@ -0,0 +1,12 @@
+--- a/include/qthread/common.h.in
++++ b/include/qthread/common.h.in
+@@ -84,7 +84,9 @@
+ /* Define to the equivalent of the C99 'restrict' keyword, or to
+ nothing if this is not supported. Do not define if restrict is
+ supported directly. */
++#ifndef restrict
+ #undef restrict
++#endif
+ /* Work around a bug in Sun C++: it does not support _Restrict or
+ __restrict__, even though the corresponding Sun C compiler ends up with
+ "#define restrict _Restrict" or "#define restrict __restrict__" in the
diff --git a/var/spack/repos/builtin/packages/qthreads/trap.patch b/var/spack/repos/builtin/packages/qthreads/trap.patch
new file mode 100644
index 0000000000..7aa94d82d5
--- /dev/null
+++ b/var/spack/repos/builtin/packages/qthreads/trap.patch
@@ -0,0 +1,11 @@
+--- a/include/qthread/qthread.hpp
++++ b/include/qthread/qthread.hpp
+@@ -236,7 +236,7 @@
+ return qthread_incr64((uint64_t *)operand, incr);
+
+ default:
+- *(int *)(0) = 0;
++ __builtin_trap();
+ }
+ return T(0); // never hit - keep compiler happy
+ }
diff --git a/var/spack/repos/builtin/packages/raja/package.py b/var/spack/repos/builtin/packages/raja/package.py
new file mode 100644
index 0000000000..f807ab71af
--- /dev/null
+++ b/var/spack/repos/builtin/packages/raja/package.py
@@ -0,0 +1,12 @@
+from spack import *
+
+class Raja(Package):
+ """RAJA Parallel Framework."""
+ homepage = "http://software.llnl.gov/RAJA/"
+
+ version('git', git='https://github.com/LLNL/RAJA.git', branch="master")
+
+ def install(self, spec, prefix):
+ cmake('.',*std_cmake_args)
+ make()
+ make('install')
diff --git a/var/spack/repos/builtin/packages/scons/package.py b/var/spack/repos/builtin/packages/scons/package.py
new file mode 100644
index 0000000000..594aeced88
--- /dev/null
+++ b/var/spack/repos/builtin/packages/scons/package.py
@@ -0,0 +1,13 @@
+from spack import *
+
+class Scons(Package):
+ """SCons is a software construction tool"""
+ homepage = "http://scons.org"
+ url = "http://downloads.sourceforge.net/project/scons/scons/2.5.0/scons-2.5.0.tar.gz"
+
+ version('2.5.0', '9e00fa0df8f5ca5c5f5975b40e0ed354')
+
+ extends('python')
+
+ def install(self, spec, prefix):
+ python('setup.py', 'install', '--prefix=%s' % prefix)
diff --git a/var/spack/repos/builtin/packages/serf/package.py b/var/spack/repos/builtin/packages/serf/package.py
new file mode 100644
index 0000000000..a5c9057b99
--- /dev/null
+++ b/var/spack/repos/builtin/packages/serf/package.py
@@ -0,0 +1,51 @@
+##############################################################################
+# Copyright (c) 2013, Lawrence Livermore National Security, LLC.
+# Produced at the Lawrence Livermore National Laboratory.
+#
+# This file is part of Spack.
+# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
+# LLNL-CODE-647188
+#
+# For details, see https://github.com/llnl/spack
+# Please also see the LICENSE file for our notice and the LGPL.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License (as published by
+# the Free Software Foundation) version 2.1 dated February 1999.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and
+# conditions of the GNU General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+##############################################################################
+from spack import *
+
+class Serf(Package):
+ """Apache Serf - a high performance C-based HTTP client library built upon the Apache Portable Runtime (APR) library"""
+ homepage = 'https://serf.apache.org/'
+ url = 'https://archive.apache.org/dist/serf/serf-1.3.8.tar.bz2'
+
+ version('1.3.8', '1d45425ca324336ce2f4ae7d7b4cfbc5567c5446')
+
+ depends_on('apr')
+ depends_on('apr-util')
+ depends_on('scons')
+ depends_on('expat')
+ depends_on('openssl')
+
+ def install(self, spec, prefix):
+ scons = which("scons")
+
+ options = ['PREFIX=%s' % prefix]
+ options.append('APR=%s' % spec['apr'].prefix)
+ options.append('APU=%s' % spec['apr-util'].prefix)
+ options.append('OPENSSL=%s' % spec['openssl'].prefix)
+ options.append('LINKFLAGS=-L%s/lib' % spec['expat'].prefix)
+ options.append('CPPFLAGS=-I%s/include' % spec['expat'].prefix)
+
+ scons(*options)
+ scons('install')
diff --git a/var/spack/repos/builtin/packages/subversion/package.py b/var/spack/repos/builtin/packages/subversion/package.py
index 5db1c3eb92..04cde94aad 100644
--- a/var/spack/repos/builtin/packages/subversion/package.py
+++ b/var/spack/repos/builtin/packages/subversion/package.py
@@ -37,6 +37,7 @@ class Subversion(Package):
depends_on('apr-util')
depends_on('zlib')
depends_on('sqlite')
+ depends_on('serf')
# Optional: We need swig if we want the Perl, Python or Ruby
# bindings.
@@ -54,6 +55,7 @@ class Subversion(Package):
options.append('--with-apr-util=%s' % spec['apr-util'].prefix)
options.append('--with-zlib=%s' % spec['zlib'].prefix)
options.append('--with-sqlite=%s' % spec['sqlite'].prefix)
+ options.append('--with-serf=%s' % spec['serf'].prefix)
#options.append('--with-swig=%s' % spec['swig'].prefix)
configure(*options)
diff --git a/var/spack/repos/builtin/packages/superlu-dist/package.py b/var/spack/repos/builtin/packages/superlu-dist/package.py
index 5cf5e129b4..3420d9b90a 100644
--- a/var/spack/repos/builtin/packages/superlu-dist/package.py
+++ b/var/spack/repos/builtin/packages/superlu-dist/package.py
@@ -6,7 +6,9 @@ class SuperluDist(Package):
homepage = "http://crd-legacy.lbl.gov/~xiaoye/SuperLU/"
url = "http://crd-legacy.lbl.gov/~xiaoye/SuperLU/superlu_dist_4.1.tar.gz"
- version('4.3', 'ee66c84e37b4f7cc557771ccc3dc43ae')
+ version('5.0.0', '2b53baf1b0ddbd9fcf724992577f0670')
+ # default to version 4.3 since petsc and trilinos are not tested with 5.0.
+ version('4.3', 'ee66c84e37b4f7cc557771ccc3dc43ae', preferred=True)
version('4.2', 'ae9fafae161f775fbac6eba11e530a65')
version('4.1', '4edee38cc29f687bd0c8eb361096a455')
version('4.0', 'c0b98b611df227ae050bc1635c6940e0')
diff --git a/var/spack/repos/builtin/packages/the_silver_searcher/package.py b/var/spack/repos/builtin/packages/the_silver_searcher/package.py
index e4020b6766..30f06354bf 100644
--- a/var/spack/repos/builtin/packages/the_silver_searcher/package.py
+++ b/var/spack/repos/builtin/packages/the_silver_searcher/package.py
@@ -9,6 +9,7 @@ class TheSilverSearcher(Package):
depends_on('pcre')
depends_on('xz')
+ depends_on('pkg-config')
def install(self, spec, prefix):
configure("--prefix=%s" % prefix)
diff --git a/var/spack/repos/builtin/packages/unibilium/package.py b/var/spack/repos/builtin/packages/unibilium/package.py
new file mode 100644
index 0000000000..ef5de56f79
--- /dev/null
+++ b/var/spack/repos/builtin/packages/unibilium/package.py
@@ -0,0 +1,12 @@
+from spack import *
+
+class Unibilium(Package):
+ """A terminfo parsing library"""
+ homepage = "https://github.com/mauke/unibilium"
+ url = "https://github.com/mauke/unibilium/archive/v1.2.0.tar.gz"
+
+ version('1.2.0', '9b1c97839a880a373da6c097443b43c4')
+
+ def install(self, spec, prefix):
+ make("PREFIX="+prefix)
+ make("install", "PREFIX="+prefix)
diff --git a/var/spack/repos/builtin/packages/xerces-c/package.py b/var/spack/repos/builtin/packages/xerces-c/package.py
index e36fb936e0..bd02ddcd4b 100644
--- a/var/spack/repos/builtin/packages/xerces-c/package.py
+++ b/var/spack/repos/builtin/packages/xerces-c/package.py
@@ -1,19 +1,3 @@
-# FIXME:
-# This is a template package file for Spack. We've conveniently
-# put "FIXME" labels next to all the things you'll want to change.
-#
-# Once you've edited all the FIXME's, delete this whole message,
-# save this file, and test out your package like this:
-#
-# spack install xerces-c
-#
-# You can always get back here to change things with:
-#
-# spack edit xerces-c
-#
-# See the spack documentation for more information on building
-# packages.
-#
from spack import *
class XercesC(Package):