diff options
-rw-r--r-- | var/spack/packages/arpack/package.py | 22 | ||||
-rw-r--r-- | var/spack/packages/arpack/package.py.save | 15 | ||||
-rw-r--r-- | var/spack/packages/boxlib/package.py | 15 | ||||
-rw-r--r-- | var/spack/packages/cblas/package.py | 22 | ||||
-rw-r--r-- | var/spack/packages/cgm/package.py | 22 | ||||
-rw-r--r-- | var/spack/packages/fastmath/package.py | 15 | ||||
-rw-r--r-- | var/spack/packages/hdf5/package.py | 6 | ||||
-rw-r--r-- | var/spack/packages/hypre/package.py | 33 | ||||
-rw-r--r-- | var/spack/packages/hypre/package.py.save | 26 | ||||
-rw-r--r-- | var/spack/packages/metis/package.py | 29 | ||||
-rw-r--r-- | var/spack/packages/parpack/package.py | 26 | ||||
-rw-r--r-- | var/spack/packages/petsc/package.py | 35 | ||||
-rw-r--r-- | var/spack/packages/zoltan_distrib/package.py | 33 |
13 files changed, 279 insertions, 20 deletions
diff --git a/var/spack/packages/arpack/package.py b/var/spack/packages/arpack/package.py new file mode 100644 index 0000000000..22781262a7 --- /dev/null +++ b/var/spack/packages/arpack/package.py @@ -0,0 +1,22 @@ +from spack import * + +class Arpack(Package): + """FIXME: put a proper description of your package here.""" + homepage = "http://www.caam.rice.edu/software/ARPACK/" + url = "http://www.caam.rice.edu/software/ARPACK/SRC/arpack96.tar.gz" + + version('96', 'fffaa970198b285676f4156cebc8626e') + + depends_on('blas') + depends_on('lapack') + + def install(self, spec, prefix): + move('./ARMAKES/ARmake.CRAY', './ARmake.inc') + filter_file('PLAT = CRAY', 'PLAT = ', './ARmake.inc', string=True) + filter_file('home = $(HOME)/ARPACK', 'home = %s' % pwd(), './ARmake.inc', string=True) + filter_file('BLASdir = $(home)/BLAS', 'BLASdir = %s' % spec['blas'].prefix, './ARmake.inc', string=True) + filter_file('LAPACKdir = $(home)/LAPACK', 'LAPACKdir = %s' % spec['lapack'].prefix, './ARmake.inc', string=True) + filter_file('ARPACKLIB = $(home)/libarpack_$(PLAT).a', 'ARPACKLIB = %s/lib/libarpack.a' % prefix, './ARmake.inc', string=True) + + cd('./SRC') + make('all') diff --git a/var/spack/packages/arpack/package.py.save b/var/spack/packages/arpack/package.py.save new file mode 100644 index 0000000000..fe4f7999c6 --- /dev/null +++ b/var/spack/packages/arpack/package.py.save @@ -0,0 +1,15 @@ +from spack import * + +class Arpack(Package): + """ARPACK is a collection of Fortran77 subroutines designed to solve large scale eigenvalue problems.""" + + homepage = "http://www.caam.rice.edu/software/ARPACK/" + url = "http://www.caam.rice.edu/software/ARPACK/SRC/arpack96.tar.gz" + + version('96', 'fffaa970198b285676f4156cebc8626e') + + depends_on("blas") + depends_on("lapack") + + def install(self, spec, prefix): + diff --git a/var/spack/packages/boxlib/package.py b/var/spack/packages/boxlib/package.py new file mode 100644 index 0000000000..3e71a1383d --- /dev/null +++ b/var/spack/packages/boxlib/package.py @@ -0,0 +1,15 @@ +from spack import * + +class Boxlib(Package): + """BoxLib, a software framework for massively parallel block-structured adaptive mesh refinement (AMR) codes.""" + + homepage = "https://ccse.lbl.gov/BoxLib/" + url = "https://ccse.lbl.gov/pub/Downloads/BoxLib.git"; + + version('master', 'https://ccse.lbl.gov/pub/Downloads/BoxLib.git') + + def install(self, spec, prefix): + #configure("--prefix=%s" % prefix) + #make() + #make("install") + cd(pwd()) diff --git a/var/spack/packages/cblas/package.py b/var/spack/packages/cblas/package.py new file mode 100644 index 0000000000..81dac667d1 --- /dev/null +++ b/var/spack/packages/cblas/package.py @@ -0,0 +1,22 @@ +from spack import * +import os + +class Cblas(Package): + """The BLAS (Basic Linear Algebra Subprograms) are routines that provide standard + building blocks for performing basic vector and matrix operations.""" + + homepage = "http://www.netlib.org/blas/_cblas/" + + version('unversioned', '1e8830f622d2112239a4a8a83b84209a', + url='http://www.netlib.org/blas/blast-forum/cblas.tgz') + + depends_on('blas') + parallel = False + + def install(self, spec, prefix): + filter_file('BLLIB = /Users/julie/Documents/Boulot/lapack-dev/lapack/trunk/blas_LINUX.a', 'BLLIB = %s/libblas.a' % spec['blas'].prefix.lib, './Makefile.in', string=True) + + make('all') # Compile. + mkdirp('%s' % prefix.lib) # Create the lib dir inside the install dir. + move('./lib/cblas_LINUX.a', '%s/libcblas.a' % prefix.lib) # Rename the generated lib file to libcblas.a + diff --git a/var/spack/packages/cgm/package.py b/var/spack/packages/cgm/package.py new file mode 100644 index 0000000000..7f32458c72 --- /dev/null +++ b/var/spack/packages/cgm/package.py @@ -0,0 +1,22 @@ +from spack import * + +class Cgm(Package): + """The Common Geometry Module, Argonne (CGMA) is a code library which provides geometry functionality used for mesh generation and other applications.""" + homepage = "http://trac.mcs.anl.gov/projects/ITAPS/wiki/CGM" + url = "http://ftp.mcs.anl.gov/pub/fathom/cgm13.1.1.tar.gz" + + version('13.1.1', '4e8dbc4ba8f65767b29f985f7a23b01f') + version('13.1.0', 'a6c7b22660f164ce893fb974f9cb2028') + version('13.1' , '95f724bda04919fc76818a5b7bc0b4ed') + + depends_on("openmpi") + + def install(self, spec, prefix): + configure("--with-mpi", + "--prefix=%s" % prefix, + "CFLAGS=-static", + "CXXFLAGS=-static", + "FCFLAGS=-static") + + make() + make("install") diff --git a/var/spack/packages/fastmath/package.py b/var/spack/packages/fastmath/package.py new file mode 100644 index 0000000000..a09a459000 --- /dev/null +++ b/var/spack/packages/fastmath/package.py @@ -0,0 +1,15 @@ +from spack import * + +class Fastmath(Package): + """Dummy groupinstall package that installs all packages in the fastmath suite.""" + + homepage = "http://redmine.scorec.rpi.edu/projects/fastmath" + url = "http://www.netlib.org/blas/blas.tgz" + + version('1.0', '5e99e975f7a1e3ea6abcad7c6e7e42e6') + + depends_on('blas') + depends_on('lapack') + + def install(self, spec, prefix): + pwd() diff --git a/var/spack/packages/hdf5/package.py b/var/spack/packages/hdf5/package.py index 992dd8ec70..1dfd3c0345 100644 --- a/var/spack/packages/hdf5/package.py +++ b/var/spack/packages/hdf5/package.py @@ -23,9 +23,9 @@ class Hdf5(Package): "--prefix=%s" % prefix, "--with-zlib=%s" % spec['zlib'].prefix, "--enable-parallel", - "--enable-shared", - "CC=%s" % spec['mpich'].prefix.bin + "/mpicc", - "CXX=%s" % spec['mpich'].prefix.bin + "/mpic++") + "--enable-shared") + # "CC=%s" % spec['mpich'].prefix.bin + "/mpicc", + # "CXX=%s" % spec['mpich'].prefix.bin + "/mpic++") make() make("install") diff --git a/var/spack/packages/hypre/package.py b/var/spack/packages/hypre/package.py new file mode 100644 index 0000000000..34bdab57a1 --- /dev/null +++ b/var/spack/packages/hypre/package.py @@ -0,0 +1,33 @@ +from spack import * + +class Hypre(Package): + """Hypre is a library of high performance preconditioners that 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" + + version('2.10.0b', '768be38793a35bb5d055905b271f5b8e') + + depends_on("openmpi") + depends_on("blas") + depends_on("lapack") + + def install(self, spec, prefix): + blas_dir = spec['blas'].prefix + lapack_dir = spec['lapack'].prefix + + # Hypre's source is staged under ./src so we'll have to manually + # cd into it. + cd("./src") + + configure( + "--prefix=%s" % prefix, + "--with-blas-libs=blas", + "--with-blas-lib-dirs=%s/lib" % blas_dir, + "--with-lapack-libs=\"lapack blas\"", + "--with-lapack-lib-dirs=%s/lib" % lapack_dir, + "--with-MPI") + + make() + make("install") diff --git a/var/spack/packages/hypre/package.py.save b/var/spack/packages/hypre/package.py.save new file mode 100644 index 0000000000..532a1a3c5f --- /dev/null +++ b/var/spack/packages/hypre/package.py.save @@ -0,0 +1,26 @@ +from spack import * + +class Hypre(Package): + """Hypre is a library of high performance preconditioners that 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" + + version('2.10.0b', '768be38793a35bb5d055905b271f5b8e') + + depends_on("openmpi") + depends_on("blas") + depends_on("lapack") + + def install(self, spec, prefix): + lapack_dir = spec['lapack'].prefix + configure( + "--prefix=%s" % prefix, + "--with-blas-libs=blas", + "--with-blas-lib-dirs=%s/lib" % spec['blas'].prefix, + "--with-lapack-libs=lapack blas", + "--with-lapack-lib-dirs=%s/lib" % lapack_dir) + + make() + make("install") diff --git a/var/spack/packages/metis/package.py b/var/spack/packages/metis/package.py index fa13d52127..7ce5ae1925 100644 --- a/var/spack/packages/metis/package.py +++ b/var/spack/packages/metis/package.py @@ -5,28 +5,23 @@ class Metis(Package): partitioning finite element meshes, and producing fill reducing orderings for sparse matrices. The algorithms implemented in METIS are based on the multilevel recursive-bisection, - multilevel k-way, and multi-constraint partitioning schemes - developed in our lab.""" + multilevel k-way, and multi-constraint partitioning schemes.""" homepage = "http://glaros.dtc.umn.edu/gkhome/metis/metis/overview" url = "http://glaros.dtc.umn.edu/gkhome/fetch/sw/metis/metis-5.1.0.tar.gz" version('5.1.0', '5465e67079419a69e0116de24fce58fe') - # FIXME: Add dependencies if this package requires them. - # depends_on("foo") - - def patch(self): - filter_file(r'#define IDXTYPEWIDTH 32', '#define IDXTYPEWIDTH 64', 'include/metis.h', - string=True) - + depends_on('mpi') def install(self, spec, prefix): - with working_dir('spack-build', create=True): - cmake('..', - '-DGKLIB_PATH=../GKlib', - '-DBUILD_SHARED_LIBS=TRUE', - *std_cmake_args) - make() - make("install") - + cmake(".", + '-DGKLIB_PATH=%s/GKlib' % pwd(), + '-DSHARED=1', + '-DCMAKE_C_COMPILER=mpicc', + '-DCMAKE_CXX_COMPILER=mpicxx', + '-DSHARED=1', + *std_cmake_args) + + make() + make("install") diff --git a/var/spack/packages/parpack/package.py b/var/spack/packages/parpack/package.py new file mode 100644 index 0000000000..1b9faf9354 --- /dev/null +++ b/var/spack/packages/parpack/package.py @@ -0,0 +1,26 @@ +from spack import * + +class Parpack(Package): + """ARPACK is a collection of Fortran77 subroutines designed to solve large + scale eigenvalue problems.""" + + homepage = "http://www.caam.rice.edu/software/ARPACK/download.html" + url = "http://www.caam.rice.edu/software/ARPACK/SRC/parpack96.tar.Z" + + version('96', 'a175f70ff71837a33ff7e4b0b6054f43') + + depends_on('blas') + depends_on('lapack') + + def install(self, spec, prefix): + move("./ARMAKES/ARmake.CJ", "./ARmake.inc"); + filter_file('home = /home1/Netlib/ARPACK', 'home = %s' % pwd(), './ARmake.inc', string=True) + filter_file('PLAT = CJ', 'PLAT = ', './ARmake.inc', string=True) + filter_file('LAPACKdir = $(home)/LAPACK', 'LAPACKLIB = %s' % spec['lapack'].prefix, './ARmake.inc', string=True) + filter_file('BLASdir = $(home)/BLAS', 'BLASLIB = %s' % spec['blas'].prefix, './ARmake.inc', string=True) + filter_file('ARPACKLIB = $(home)/libarpack_$(PLAT).a', 'ARPACKLIB = %s/libarpack.a' % prefix, './ARmake.inc', string=True) + filter_file('MAKE = /bin/make', 'MAKE = make', './ARmake.inc', string=True) + filter_file('FFLAGS', '#FFLAGS', './ARmake.inc', string=True) + filter_file('FC = f77', 'FC = gfortran', './ARmake.inc', string=True) + cd('./PARPACK/SRC/MPI') + make('all') diff --git a/var/spack/packages/petsc/package.py b/var/spack/packages/petsc/package.py new file mode 100644 index 0000000000..ffc522b1da --- /dev/null +++ b/var/spack/packages/petsc/package.py @@ -0,0 +1,35 @@ +from spack import * + +class Petsc(Package): + """PETSc is a suite of data structures and routines for the scalable (parallel) solution of scientific applications modeled by partial differential equations.""" + + homepage = "http://www.mcs.anl.gov/petsc/index.html" + url = "http://ftp.mcs.anl.gov/pub/petsc/release-snapshots/petsc-3.5.3.tar.gz" + + version('3.5.3', 'd4fd2734661e89f18ac6014b5dd1ef2f') + version('3.5.2', 'ad170802b3b058b5deb9cd1f968e7e13') + version('3.5.1', 'a557e029711ebf425544e117ffa44d8f') + + depends_on("blas") + depends_on("lapack") + depends_on("hypre") + depends_on("parmetis") + depends_on("metis") + depends_on("hdf5") + + def install(self, spec, prefix): + configure("--prefix=%s" % prefix, + "--with-blas-lib=%s/lib/libblas.a" % spec['blas'].prefix, + "--with-lapack-lib=%s/lib/liblapack.a" % spec['lapack'].prefix, + "--with-hypre-lib=%s/lib/libhypre.a" % spec['hypre'].prefix, + "--with-hypre-include=%s/include" % spec['hypre'].prefix, + "--with-parmetis-lib=%s/lib/libparmetis.a" % spec['parmetis'].prefix, + "--with-parmetis-include=%s/include" % spec['parmetis'].prefix, + "--with-metis-lib=%s/lib/libmetis.a" % spec['metis'].prefix, + "--with-metis-include=%s/include" % spec['metis'].prefix, + "--with-hdf5-lib=%s/lib/libhdf5.a" % spec['hdf5'].prefix, + "--with-hdf5-include=%s/include" % spec['hdf5'].prefix, + "--with-shared-libraries=0") + + make() + make("install") diff --git a/var/spack/packages/zoltan_distrib/package.py b/var/spack/packages/zoltan_distrib/package.py new file mode 100644 index 0000000000..85f32f0a2d --- /dev/null +++ b/var/spack/packages/zoltan_distrib/package.py @@ -0,0 +1,33 @@ +# 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 zoltan_distrib +# +# You can always get back here to change things with: +# +# spack edit zoltan_distrib +# +# See the spack documentation for more information on building +# packages. +# +from spack import * + +class ZoltanDistrib(Package): + """FIXME: put a proper description of your package here.""" + + homepage = "http://www.example.com" + url = "http://www.cs.sandia.gov/~kddevin/Zoltan_Distributions/zoltan_distrib_v3.81.tar.gz" + + version('3.81', 'e0587ac69dbc3b17d28f515ed0933719') + + def install(self, spec, prefix): + # FIXME: Modify the configure line to suit your build system here. + configure("--prefix=%s" % prefix) + + # FIXME: Add logic to build and install here + make() + make("install") |