diff options
-rw-r--r-- | lib/spack/spack/fetch_strategy.py | 2 | ||||
-rw-r--r-- | var/spack/packages/cmake/package.py | 3 | ||||
-rw-r--r-- | var/spack/packages/damselfly/package.py | 14 | ||||
-rw-r--r-- | var/spack/packages/hdf5/package.py | 5 | ||||
-rw-r--r-- | var/spack/packages/hwloc/package.py | 2 | ||||
-rw-r--r-- | var/spack/packages/hypre/package.py | 4 | ||||
-rw-r--r-- | var/spack/packages/jdk/package.py | 4 | ||||
-rw-r--r-- | var/spack/packages/jemalloc/package.py | 14 | ||||
-rw-r--r-- | var/spack/packages/judy/package.py | 15 | ||||
-rw-r--r-- | var/spack/packages/lua/package.py | 4 | ||||
-rw-r--r-- | var/spack/packages/openmpi/configure.patch | 31 | ||||
-rw-r--r-- | var/spack/packages/openmpi/package.py | 9 | ||||
-rw-r--r-- | var/spack/packages/openssl/package.py | 1 | ||||
-rw-r--r-- | var/spack/packages/papi/package.py | 12 | ||||
-rw-r--r-- | var/spack/packages/rsync/package.py | 14 |
15 files changed, 119 insertions, 15 deletions
diff --git a/lib/spack/spack/fetch_strategy.py b/lib/spack/spack/fetch_strategy.py index b810023c5a..5e6850d14b 100644 --- a/lib/spack/spack/fetch_strategy.py +++ b/lib/spack/spack/fetch_strategy.py @@ -190,7 +190,7 @@ class URLFetchStrategy(FetchStrategy): if content_types and 'text/html' in content_types[-1]: tty.warn("The contents of " + self.archive_file + " look like HTML.", "The checksum will likely be bad. If it is, you can use", - "'spack clean --dist' to remove the bad archive, then fix", + "'spack clean <package>' to remove the bad archive, then fix", "your internet gateway issue and install again.") if not self.archive_file: diff --git a/var/spack/packages/cmake/package.py b/var/spack/packages/cmake/package.py index 9efa370c8b..fcfbca0705 100644 --- a/var/spack/packages/cmake/package.py +++ b/var/spack/packages/cmake/package.py @@ -34,6 +34,9 @@ class Cmake(Package): version('3.0.2', 'db4c687a31444a929d2fdc36c4dfb95f', url = 'http://www.cmake.org/files/v3.0/cmake-3.0.2.tar.gz') + + version('3.4.0', 'cd3034e0a44256a0917e254167217fc8', + url = 'https://cmake.org/files/v3.4/cmake-3.4.0.tar.gz') # version('3.0.1', 'e2e05d84cb44a42f1371d9995631dcf5') # version('3.0.0', '21a1c85e1a3b803c4b48e7ff915a863e') diff --git a/var/spack/packages/damselfly/package.py b/var/spack/packages/damselfly/package.py new file mode 100644 index 0000000000..54df528c4a --- /dev/null +++ b/var/spack/packages/damselfly/package.py @@ -0,0 +1,14 @@ +from spack import * + +class Damselfly(Package): + """Damselfly is a model-based parallel network simulator.""" + homepage = "https://github.com/scalability-llnl/damselfly" + url = "https://github.com/scalability-llnl/damselfly" + + version('1.0', '05cf7e2d8ece4408c0f2abb7ab63fd74c0d62895', git='https://github.com/scalability-llnl/damselfly.git', tag='v1.0') + + def install(self, spec, prefix): + with working_dir('spack-build', create=True): + cmake('-DCMAKE_BUILD_TYPE=release', '..', *std_cmake_args) + make() + make('install') diff --git a/var/spack/packages/hdf5/package.py b/var/spack/packages/hdf5/package.py index 15e0ef9338..48997425cd 100644 --- a/var/spack/packages/hdf5/package.py +++ b/var/spack/packages/hdf5/package.py @@ -11,6 +11,7 @@ class Hdf5(Package): list_url = "http://www.hdfgroup.org/ftp/HDF5/releases" list_depth = 3 + version('1.8.16', 'b8ed9a36ae142317f88b0c7ef4b9c618') version('1.8.15', '03cccb5b33dbe975fdcd8ae9dc021f24') version('1.8.13', 'c03426e9e77d7766944654280b467289') @@ -25,8 +26,8 @@ class Hdf5(Package): "--with-zlib=%s" % spec['zlib'].prefix, "--enable-parallel", "--enable-shared", - "CC=%s" % spec['mpich'].prefix.bin + "/mpicc", - "CXX=%s" % spec['mpich'].prefix.bin + "/mpic++") + "CC=%s" % spec['mpi'].prefix.bin + "/mpicc", + "CXX=%s" % spec['mpi'].prefix.bin + "/mpic++") make() make("install") diff --git a/var/spack/packages/hwloc/package.py b/var/spack/packages/hwloc/package.py index 31a31f376a..2f46399afd 100644 --- a/var/spack/packages/hwloc/package.py +++ b/var/spack/packages/hwloc/package.py @@ -15,6 +15,8 @@ class Hwloc(Package): homepage = "http://www.open-mpi.org/projects/hwloc/" url = "http://www.open-mpi.org/software/hwloc/v1.9/downloads/hwloc-1.9.tar.gz" + version('1.11.1', '002742efd3a8431f98d6315365a2b543', + url='http://www.open-mpi.org/software/hwloc/v1.11/downloads/hwloc-1.11.1.tar.bz2') version('1.9', '1f9f9155682fe8946a97c08896109508') def install(self, spec, prefix): diff --git a/var/spack/packages/hypre/package.py b/var/spack/packages/hypre/package.py index 198b3f00dc..0f7f14dd89 100644 --- a/var/spack/packages/hypre/package.py +++ b/var/spack/packages/hypre/package.py @@ -5,8 +5,8 @@ class Hypre(Package): features parallel multigrid methods for both structured and unstructured grid problems.""" - homepage = "https://computation.llnl.gov/project/linear_solvers/software.php" - url = "https://computation.llnl.gov/project/linear_solvers/download/hypre-2.10.0b.tar.gz" + homepage = "http://computation.llnl.gov/project/linear_solvers/software.php" + url = "http://computation.llnl.gov/project/linear_solvers/download/hypre-2.10.0b.tar.gz" version('2.10.0b', '768be38793a35bb5d055905b271f5b8e') diff --git a/var/spack/packages/jdk/package.py b/var/spack/packages/jdk/package.py index 8f8076dd14..f8f5fc21bd 100644 --- a/var/spack/packages/jdk/package.py +++ b/var/spack/packages/jdk/package.py @@ -14,8 +14,8 @@ class Jdk(Package): in the form of a binary product aimed at Java developers.""" homepage = "http://www.oracle.com/technetwork/java/javase/downloads/index.html" - version('8u25-linux-x64', 'e145c03a7edc845215092786bcfba77e', - url="http://download.oracle.com/otn-pub/java/jdk/8u25-b17/jdk-8u25-linux-x64.tar.gz") + version('8u66-linux-x64', '88f31f3d642c3287134297b8c10e61bf', + url="http://download.oracle.com/otn-pub/java/jdk/8u66-b17/jdk-8u66-linux-x64.tar.gz") # Oracle requires that you accept their License Agreement in order # to access the Java packages in download.oracle.com. In order to diff --git a/var/spack/packages/jemalloc/package.py b/var/spack/packages/jemalloc/package.py new file mode 100644 index 0000000000..ff946ae821 --- /dev/null +++ b/var/spack/packages/jemalloc/package.py @@ -0,0 +1,14 @@ +from spack import * + +class Jemalloc(Package): + """jemalloc is a general purpose malloc(3) implementation that emphasizes fragmentation avoidance and scalable concurrency support.""" + homepage = "http://www.canonware.com/jemalloc/" + url = "https://github.com/jemalloc/jemalloc/releases/download/4.0.4/jemalloc-4.0.4.tar.bz2" + + version('4.0.4', '687c5cc53b9a7ab711ccd680351ff988') + + def install(self, spec, prefix): + configure('--prefix=%s' % prefix) + + make() + make("install") diff --git a/var/spack/packages/judy/package.py b/var/spack/packages/judy/package.py new file mode 100644 index 0000000000..b8d8701383 --- /dev/null +++ b/var/spack/packages/judy/package.py @@ -0,0 +1,15 @@ +from spack import * + +class Judy(Package): + """A general-purpose dynamic array, associative array and hash-trie - Judy""" + homepage = "http://judy.sourceforge.net/" + url = "http://downloads.sourceforge.net/project/judy/judy/Judy-1.0.5/Judy-1.0.5.tar.gz" + + version('1.0.5', '115a0d26302676e962ae2f70ec484a54') + parallel = False + + def install(self, spec, prefix): + configure('--prefix=%s' % prefix) + + make() + make("install") diff --git a/var/spack/packages/lua/package.py b/var/spack/packages/lua/package.py index 57c443cc2d..fa4b4f9edc 100644 --- a/var/spack/packages/lua/package.py +++ b/var/spack/packages/lua/package.py @@ -22,5 +22,7 @@ class Lua(Package): def install(self, spec, prefix): make('INSTALL_TOP=%s' % prefix, 'MYLDFLAGS=-L%s/lib' % spec['ncurses'].prefix, - 'linux', + 'linux') + make('INSTALL_TOP=%s' % prefix, + 'MYLDFLAGS=-L%s/lib' % spec['ncurses'].prefix, 'install') diff --git a/var/spack/packages/openmpi/configure.patch b/var/spack/packages/openmpi/configure.patch new file mode 100644 index 0000000000..18fb42c1d1 --- /dev/null +++ b/var/spack/packages/openmpi/configure.patch @@ -0,0 +1,31 @@ +This patch addresses <https://github.com/open-mpi/ompi/issues/576>. +--- a/configure ++++ b/configure +@@ -301130,10 +301130,11 @@ + case ${prev}${p} in + + -L* | -R* | -l*) +- # Some compilers place space between "-{L,R}" and the path. ++ # Some compilers place space between "-{L,R,l}" and the path. + # Remove the space. + if test $p = "-L" || +- test $p = "-R"; then ++ test $p = "-R" || ++ test $p = "-l"; then + prev=$p + continue + fi +@@ -303036,10 +303037,11 @@ + case ${prev}${p} in + + -L* | -R* | -l*) +- # Some compilers place space between "-{L,R}" and the path. ++ # Some compilers place space between "-{L,R,l}" and the path. + # Remove the space. + if test $p = "-L" || +- test $p = "-R"; then ++ test $p = "-R" || ++ test $p = "-l"; then + prev=$p + continue + fi diff --git a/var/spack/packages/openmpi/package.py b/var/spack/packages/openmpi/package.py index 5e429dedf5..be2202fbbd 100644 --- a/var/spack/packages/openmpi/package.py +++ b/var/spack/packages/openmpi/package.py @@ -14,6 +14,8 @@ class Openmpi(Package): homepage = "http://www.open-mpi.org" + 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', @@ -23,10 +25,15 @@ class Openmpi(Package): 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 + + + depends_on('hwloc') def setup_dependent_environment(self, module, spec, dep_spec): @@ -40,6 +47,8 @@ class Openmpi(Package): def install(self, spec, prefix): config_args = ["--prefix=%s" % prefix] + config_args.append("--with-hwloc=%s" % spec['hwloc'].prefix) + # TODO: use variants for this, e.g. +lanl, +llnl, etc. # use this for LANL builds, but for LLNL builds, we need: # "--with-platform=contrib/platform/llnl/optimized" diff --git a/var/spack/packages/openssl/package.py b/var/spack/packages/openssl/package.py index c5a8aeb9dc..4bf1f832d4 100644 --- a/var/spack/packages/openssl/package.py +++ b/var/spack/packages/openssl/package.py @@ -10,6 +10,7 @@ class Openssl(Package): url = "http://www.openssl.org/source/openssl-1.0.1h.tar.gz" version('1.0.1h', '8d6d684a9430d5cc98a62a5d8fbda8cf') + version('1.0.2d', '38dd619b2e77cbac69b99f52a053d25a') depends_on("zlib") parallel = False diff --git a/var/spack/packages/papi/package.py b/var/spack/packages/papi/package.py index 596f7114d6..097b8c41ec 100644 --- a/var/spack/packages/papi/package.py +++ b/var/spack/packages/papi/package.py @@ -13,6 +13,7 @@ class Papi(Package): homepage = "http://icl.cs.utk.edu/papi/index.html" url = "http://icl.cs.utk.edu/projects/papi/downloads/papi-5.3.0.tar.gz" + version('5.4.1', '9134a99219c79767a11463a76b0b01a2') version('5.3.0', '367961dd0ab426e5ae367c2713924ffb') def install(self, spec, prefix): @@ -20,13 +21,10 @@ class Papi(Package): configure_args=["--prefix=%s" % prefix] - # need to force consistency in the use of compilers - if spec.satisfies('%gcc'): - configure_args.append('CC=gcc') - configure_args.append('MPICH_CC=gcc') - if spec.satisfies('%intel'): - configure_args.append('CC=icc') - configure_args.append('MPICH_CC=icc') + # PAPI uses MPI if MPI is present; since we don't require an + # MPI package, we ensure that all attempts to use MPI fail, so + # that PAPI does not get confused + configure_args.append('MPICC=:') configure(*configure_args) diff --git a/var/spack/packages/rsync/package.py b/var/spack/packages/rsync/package.py new file mode 100644 index 0000000000..8ae21b1cb9 --- /dev/null +++ b/var/spack/packages/rsync/package.py @@ -0,0 +1,14 @@ +from spack import * + +class Rsync(Package): + """rsync is an open source utility that provides fast incremental file transfer.""" + homepage = "https://rsync.samba.org" + url = "https://download.samba.org/pub/rsync/rsync-3.1.1.tar.gz" + + version('3.1.1', '43bd6676f0b404326eee2d63be3cdcfe') + + def install(self, spec, prefix): + configure('--prefix=%s' % prefix) + + make() + make("install") |