diff options
Diffstat (limited to 'var/spack/repos/builtin/packages/petsc/package.py')
-rw-r--r-- | var/spack/repos/builtin/packages/petsc/package.py | 27 |
1 files changed, 21 insertions, 6 deletions
diff --git a/var/spack/repos/builtin/packages/petsc/package.py b/var/spack/repos/builtin/packages/petsc/package.py index 66e1abdf1a..4ac96b8127 100644 --- a/var/spack/repos/builtin/packages/petsc/package.py +++ b/var/spack/repos/builtin/packages/petsc/package.py @@ -22,13 +22,14 @@ # License along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ############################################################################## + import os +import sys from spack import * class Petsc(Package): - """ - PETSc is a suite of data structures and routines for the scalable + """PETSc is a suite of data structures and routines for the scalable (parallel) solution of scientific applications modeled by partial differential equations. """ @@ -36,6 +37,7 @@ class Petsc(Package): 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.7.4', 'aaf94fa54ef83022c14091f10866eedf') version('3.7.2', '50da49867ce7a49e7a0c1b37f4ec7b34') version('3.6.4', '7632da2375a3df35b8891c9526dbdde7') version('3.6.3', '91dd3522de5a5ef039ff8f50800db606') @@ -73,7 +75,7 @@ class Petsc(Package): depends_on('python @2.6:2.7') # Other dependencies - depends_on('boost', when='+boost') + depends_on('boost', when='@:3.5+boost') depends_on('metis@5:', when='+metis') depends_on('hdf5+mpi', when='+hdf5+mpi') @@ -115,10 +117,17 @@ class Petsc(Package): '--with-mpi=1', '--with-mpi-dir=%s' % self.spec['mpi'].prefix, ] + if sys.platform != "darwin": + compiler_opts.extend([ + '--with-cpp=cpp', + '--with-cxxcpp=cpp', + ]) return compiler_opts def install(self, spec, prefix): - options = ['--with-ssl=0'] + options = ['--with-ssl=0', + '--download-c2html=0', + '--download-hwloc=0'] options.extend(self.mpi_dependent_options()) options.extend([ '--with-precision=%s' % ( @@ -126,9 +135,15 @@ class Petsc(Package): '--with-scalar-type=%s' % ( 'complex' if '+complex' in spec else 'real'), '--with-shared-libraries=%s' % ('1' if '+shared' in spec else '0'), - '--with-debugging=%s' % ('1' if '+debug' in spec else '0'), - '--with-blas-lapack-dir=%s' % spec['lapack'].prefix + '--with-debugging=%s' % ('1' if '+debug' in spec else '0') ]) + # Make sure we use exactly the same Blas/Lapack libraries + # across the DAG. To that end list them explicitly + lapack_blas = spec['lapack'].lapack_libs + spec['blas'].blas_libs + options.extend([ + '--with-blas-lapack-lib=%s' % lapack_blas.joined() + ]) + # Activates library support if needed for library in ('metis', 'boost', 'hdf5', 'hypre', 'parmetis', 'mumps', 'scalapack'): |