Package builds and installs SAMRAI and deps with GNU and OpenMPI
This commit is contained in:
parent
9b9fc86f6c
commit
2632bd9745
20
var/spack/packages/SAMRAI/no-tool-build.patch
Normal file
20
var/spack/packages/SAMRAI/no-tool-build.patch
Normal file
@ -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
|
@ -1,24 +1,12 @@
|
|||||||
# 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 SAMRAI
|
|
||||||
#
|
|
||||||
# You can always get back here to change things with:
|
|
||||||
#
|
|
||||||
# spack edit SAMRAI
|
|
||||||
#
|
|
||||||
# See the spack documentation for more information on building
|
|
||||||
# packages.
|
|
||||||
#
|
|
||||||
from spack import *
|
from spack import *
|
||||||
|
|
||||||
class Samrai(Package):
|
class Samrai(Package):
|
||||||
"""FIXME: put a proper description of your package here."""
|
"""SAMRAI (Structured Adaptive Mesh Refinement Application Infrastructure)
|
||||||
# FIXME: add a proper url for your package's homepage here.
|
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"
|
homepage = "https://computation-rnd.llnl.gov/SAMRAI/confirm.php"
|
||||||
url = "https://computation-rnd.llnl.gov/SAMRAI/download/SAMRAI-v3.7.3.tar.gz"
|
url = "https://computation-rnd.llnl.gov/SAMRAI/download/SAMRAI-v3.7.3.tar.gz"
|
||||||
list_url = homepage
|
list_url = homepage
|
||||||
@ -35,10 +23,29 @@ class Samrai(Package):
|
|||||||
'2.4.4' : '04fb048ed0efe7c531ac10c81cc5f6ac',
|
'2.4.4' : '04fb048ed0efe7c531ac10c81cc5f6ac',
|
||||||
}
|
}
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
depends_on("mpi")
|
||||||
# FIXME: Modify the configure line to suit your build system here.
|
depends_on("zlib")
|
||||||
configure("--prefix=%s" % prefix)
|
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")
|
||||||
|
|
||||||
# FIXME: Add logic to build and install here
|
|
||||||
make()
|
make()
|
||||||
make("install")
|
make("install")
|
||||||
|
39
var/spack/packages/hdf5/package.py
Normal file
39
var/spack/packages/hdf5/package.py
Normal file
@ -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"
|
@ -14,6 +14,8 @@ class Openmpi(Package):
|
|||||||
|
|
||||||
versions = { '1.6.5' : '03aed2a4aa4d0b27196962a2a65fc475', }
|
versions = { '1.6.5' : '03aed2a4aa4d0b27196962a2a65fc475', }
|
||||||
|
|
||||||
|
provides('mpi@:2')
|
||||||
|
|
||||||
patch('ad_lustre_rwcontig_open_source.patch')
|
patch('ad_lustre_rwcontig_open_source.patch')
|
||||||
patch('llnl-platforms.patch')
|
patch('llnl-platforms.patch')
|
||||||
|
|
||||||
|
18
var/spack/packages/zlib/package.py
Normal file
18
var/spack/packages/zlib/package.py
Normal file
@ -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")
|
Loading…
Reference in New Issue
Block a user