summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--var/spack/repos/builtin/packages/cnmem/package.py12
-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/libtool/package.py2
-rw-r--r--var/spack/repos/builtin/packages/mrnet/package.py1
-rw-r--r--var/spack/repos/builtin/packages/netcdf/package.py21
-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.py3
-rw-r--r--var/spack/repos/builtin/packages/openssl/package.py2
-rw-r--r--var/spack/repos/builtin/packages/p4est/package.py10
-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/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
18 files changed, 187 insertions, 12 deletions
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/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/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/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/netcdf/package.py b/var/spack/repos/builtin/packages/netcdf/package.py
index a4d9e5213c..4aad0f6f3c 100644
--- a/var/spack/repos/builtin/packages/netcdf/package.py
+++ b/var/spack/repos/builtin/packages/netcdf/package.py
@@ -12,16 +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("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
depends_on("m4")
+ depends_on("hdf", when='+hdf4')
+
+ # 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
@@ -49,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 3cb9b0be21..74f0a7bfd1 100644
--- a/var/spack/repos/builtin/packages/openmpi/package.py
+++ b/var/spack/repos/builtin/packages/openmpi/package.py
@@ -34,6 +34,8 @@ class Openmpi(Package):
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)
@@ -48,6 +50,7 @@ class Openmpi(Package):
def install(self, spec, prefix):
config_args = ["--prefix=%s" % prefix,
+ "--with-hwloc=%s" % spec['hwloc'].prefix,
"--enable-shared",
"--enable-static"]
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..c059632079 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')
@@ -33,5 +35,11 @@ class P4est(Package):
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/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/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)