summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorGeorge Todd Gamblin <gamblin2@llnl.gov>2014-06-05 17:36:13 -0700
committerGeorge Todd Gamblin <gamblin2@llnl.gov>2014-06-05 17:36:13 -0700
commitd89ee5795b8adf96b3cbfd8a9a97b0f4bd4ed573 (patch)
tree5dcf43f9368e8d3f96e7c1cf1caa44ec8c9238b1 /var
parent8017de59c52399e918bbb123c65f163a32028664 (diff)
parent2632bd97459e48404fe3fad0695219bf5bbb6f3f (diff)
downloadspack-d89ee5795b8adf96b3cbfd8a9a97b0f4bd4ed573.tar.gz
spack-d89ee5795b8adf96b3cbfd8a9a97b0f4bd4ed573.tar.bz2
spack-d89ee5795b8adf96b3cbfd8a9a97b0f4bd4ed573.tar.xz
spack-d89ee5795b8adf96b3cbfd8a9a97b0f4bd4ed573.zip
Merge pull request #12 in SCALE/spack from features/samrai to develop
# By David Beckingsale (1) and Todd Gamblin (1) # Via David Beckingsale * commit '2632bd97459e48404fe3fad0695219bf5bbb6f3f': Package builds and installs SAMRAI and deps with GNU and OpenMPI Preliminary SAMRAI package
Diffstat (limited to 'var')
-rw-r--r--var/spack/packages/SAMRAI/no-tool-build.patch20
-rw-r--r--var/spack/packages/SAMRAI/package.py51
-rw-r--r--var/spack/packages/hdf5/package.py39
-rw-r--r--var/spack/packages/openmpi/package.py2
-rw-r--r--var/spack/packages/zlib/package.py18
5 files changed, 130 insertions, 0 deletions
diff --git a/var/spack/packages/SAMRAI/no-tool-build.patch b/var/spack/packages/SAMRAI/no-tool-build.patch
new file mode 100644
index 0000000000..1adf0cf721
--- /dev/null
+++ b/var/spack/packages/SAMRAI/no-tool-build.patch
@@ -0,0 +1,20 @@
+--- SAMRAI/Makefile.in 2013-05-31 11:04:32.000000000 -0700
++++ SAMRAI/Makefile.in.notools 2014-05-30 10:31:15.135979900 -0700
+@@ -8,7 +8,7 @@
+ ##
+ #########################################################################
+
+-default: library tools
++default: library
+
+ SAMRAI = @top_srcdir@
+ SUBDIR = .
+@@ -135,7 +135,7 @@
+ done
+ $(MAKE) archive_remove_obj_names
+
+-install: library tools
++install: library
+ $(INSTALL) -d -m 755 $(INSTDIR)/config
+ $(INSTALL) -d -m 755 $(INSTDIR)/lib
+ $(INSTALL) -d -m 755 $(INSTDIR)/bin
diff --git a/var/spack/packages/SAMRAI/package.py b/var/spack/packages/SAMRAI/package.py
new file mode 100644
index 0000000000..bb88ec3292
--- /dev/null
+++ b/var/spack/packages/SAMRAI/package.py
@@ -0,0 +1,51 @@
+from spack import *
+
+class Samrai(Package):
+ """SAMRAI (Structured Adaptive Mesh Refinement Application Infrastructure)
+ is an object-oriented C++ software library enables exploration of numerical,
+ algorithmic, parallel computing, and software issues associated with applying
+ structured adaptive mesh refinement (SAMR) technology in large-scale parallel
+ application development.
+ """
+ homepage = "https://computation-rnd.llnl.gov/SAMRAI/confirm.php"
+ url = "https://computation-rnd.llnl.gov/SAMRAI/download/SAMRAI-v3.7.3.tar.gz"
+ list_url = homepage
+
+ versions = {
+ '3.7.3' : '12d574eacadf8c9a70f1bb4cd1a69df6',
+ '3.7.2' : 'f6a716f171c9fdbf3cb12f71fa6e2737',
+ '3.6.3-beta' : 'ef0510bf2893042daedaca434e5ec6ce',
+ '3.5.2-beta' : 'd072d9d681eeb9ada15ce91bea784274',
+ '3.5.0-beta' : '1ad18a319fc573e12e2b1fbb6f6b0a19',
+ '3.4.1-beta' : '00814cbee2cb76bf8302aff56bbb385b',
+ '3.3.3-beta' : '1db3241d3e1cab913dc310d736c34388',
+ '3.3.2-beta' : 'e598a085dab979498fcb6c110c4dd26c',
+ '2.4.4' : '04fb048ed0efe7c531ac10c81cc5f6ac',
+ }
+
+ depends_on("mpi")
+ depends_on("zlib")
+ depends_on("hdf5")
+ depends_on("boost@1.52.0")
+
+ # don't build tools with gcc
+ patch('no-tool-build.patch', when='%gcc')
+
+ # TODO: currently hard-coded to use openmpi - be careful!
+ def install(self, spec, prefix):
+ configure(
+ "--prefix=%s" % prefix,
+ "--with-CXX=%s" % spec['openmpi'].prefix.bin + "/mpic++",
+ "--with-CC=%s" % spec['openmpi'].prefix.bin + "/mpicc",
+ "--with-hdf5=%s" % spec['hdf5'].prefix,
+ "--with-boost=%s" % spec['boost'].prefix,
+ "--with-zlib=%s" % spec['zlib'].prefix,
+ "--disable-blas",
+ "--disable-lapack",
+ "--with-hypre=no",
+ "--with-petsc=no",
+ "--enable-opt",
+ "--disable-debug")
+
+ make()
+ make("install")
diff --git a/var/spack/packages/hdf5/package.py b/var/spack/packages/hdf5/package.py
new file mode 100644
index 0000000000..7705676dba
--- /dev/null
+++ b/var/spack/packages/hdf5/package.py
@@ -0,0 +1,39 @@
+from spack import *
+
+class Hdf5(Package):
+ """HDF5 is a data model, library, and file format for storing and managing
+ data. It supports an unlimited variety of datatypes, and is designed for
+ flexible and efficient I/O and for high volume and complex data.
+ """
+
+ homepage = "http://www.hdfgroup.org/HDF5/"
+ url = "http://www.hdfgroup.org/ftp/HDF5/releases/hdf5-1.8.13/src/hdf5-1.8.13.tar.gz"
+ list_url = "http://www.hdfgroup.org/ftp/HDF5/releases"
+ list_depth = 3
+
+ versions = { '1.8.13' : 'c03426e9e77d7766944654280b467289', }
+
+ depends_on("mpi")
+ depends_on("zlib")
+
+ # TODO: currently hard-coded to use OpenMPI
+ def install(self, spec, prefix):
+ configure(
+ "--prefix=%s" % prefix,
+ "--with-zlib=%s" % spec['zlib'].prefix,
+ "--enable-parallel",
+ "CC=%s" % spec['openmpi'].prefix.bin + "/mpicc",
+ "CXX=%s" % spec['openmpi'].prefix.bin + "/mpic++")
+
+ make()
+ make("install")
+
+ def url_for_version(self, version):
+ v = str(version)
+
+ if version == Version("1.2.2"):
+ return "http://www.hdfgroup.org/ftp/HDF5/releases/hdf5-" + v + ".tar.gz"
+ elif version < Version("1.7"):
+ return "http://www.hdfgroup.org/ftp/HDF5/releases/hdf5-" + version.up_to(2) + "/hdf5-" + v + ".tar.gz"
+ else:
+ return "http://www.hdfgroup.org/ftp/HDF5/releases/hdf5-" + v + "/src/hdf5-" + v + ".tar.gz"
diff --git a/var/spack/packages/openmpi/package.py b/var/spack/packages/openmpi/package.py
index f24a66c12e..5ac231a33f 100644
--- a/var/spack/packages/openmpi/package.py
+++ b/var/spack/packages/openmpi/package.py
@@ -14,6 +14,8 @@ class Openmpi(Package):
versions = { '1.6.5' : '03aed2a4aa4d0b27196962a2a65fc475', }
+ provides('mpi@:2')
+
patch('ad_lustre_rwcontig_open_source.patch')
patch('llnl-platforms.patch')
diff --git a/var/spack/packages/zlib/package.py b/var/spack/packages/zlib/package.py
new file mode 100644
index 0000000000..608b27ddd3
--- /dev/null
+++ b/var/spack/packages/zlib/package.py
@@ -0,0 +1,18 @@
+from spack import *
+
+class Zlib(Package):
+ """zlib is designed to be a free, general-purpose, legally unencumbered --
+ that is, not covered by any patents -- lossless data-compression library for
+ use on virtually any computer hardware and operating system.
+ """
+
+ homepage = "http://zlib.net"
+ url = "http://zlib.net/zlib-1.2.8.tar.gz"
+
+ versions = { '1.2.8' : '44d667c142d7cda120332623eab69f40', }
+
+ def install(self, spec, prefix):
+ configure("--prefix=%s" % prefix)
+
+ make()
+ make("install")