New, cleaner package repository structure.
Package repositories now look like this: top-level-dir/ repo.yaml packages/ libelf/ package.py mpich/ package.py ... This leaves room at the top level for additional metadata, source, per-repo configs, indexes, etc., and it makes it easy to see that something is a spack repo (just look for repo.yaml and packages).
This commit is contained in:
20
var/spack/repos/builtin/packages/SAMRAI/no-tool-build.patch
Normal file
20
var/spack/repos/builtin/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
|
53
var/spack/repos/builtin/packages/SAMRAI/package.py
Normal file
53
var/spack/repos/builtin/packages/SAMRAI/package.py
Normal file
@@ -0,0 +1,53 @@
|
||||
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.llnl.gov/project/SAMRAI/"
|
||||
url = "https://computation.llnl.gov/project/SAMRAI/download/SAMRAI-v3.9.1.tar.gz"
|
||||
list_url = homepage
|
||||
|
||||
version('3.9.1', '232d04d0c995f5abf20d94350befd0b2')
|
||||
version('3.7.3', '12d574eacadf8c9a70f1bb4cd1a69df6')
|
||||
version('3.7.2', 'f6a716f171c9fdbf3cb12f71fa6e2737')
|
||||
version('3.6.3-beta', 'ef0510bf2893042daedaca434e5ec6ce')
|
||||
version('3.5.2-beta', 'd072d9d681eeb9ada15ce91bea784274')
|
||||
version('3.5.0-beta', '1ad18a319fc573e12e2b1fbb6f6b0a19')
|
||||
version('3.4.1-beta', '00814cbee2cb76bf8302aff56bbb385b')
|
||||
version('3.3.3-beta', '1db3241d3e1cab913dc310d736c34388')
|
||||
version('3.3.2-beta', 'e598a085dab979498fcb6c110c4dd26c')
|
||||
version('2.4.4', '04fb048ed0efe7c531ac10c81cc5f6ac')
|
||||
|
||||
depends_on("mpi")
|
||||
depends_on("zlib")
|
||||
depends_on("hdf5")
|
||||
depends_on("boost")
|
||||
|
||||
# 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):
|
||||
mpi = next(m for m in ('openmpi', 'mpich', 'mvapich')
|
||||
if m in spec)
|
||||
|
||||
configure(
|
||||
"--prefix=%s" % prefix,
|
||||
"--with-CXX=%s" % spec[mpi].prefix.bin + "/mpic++",
|
||||
"--with-CC=%s" % spec[mpi].prefix.bin + "/mpicc",
|
||||
"--with-hdf5=%s" % spec['hdf5'].prefix,
|
||||
"--with-boost=%s" % spec['boost'].prefix,
|
||||
"--with-zlib=%s" % spec['zlib'].prefix,
|
||||
"--without-blas",
|
||||
"--without-lapack",
|
||||
"--with-hypre=no",
|
||||
"--with-petsc=no",
|
||||
"--enable-opt",
|
||||
"--disable-debug")
|
||||
|
||||
make()
|
||||
make("install")
|
Reference in New Issue
Block a user