Balay/petsc 3.13.0 (#15767)

* petsc: add 3.13.0 (using petsc-lite) and 3.12.5

* petsc@3.13.0: update hdf5 and superlu-dist dependencies

* flake8 fix

* fixes for comments

Co-authored-by: Jed Brown <jed@jedbrown.org>
This commit is contained in:
Satish Balay 2020-03-30 19:50:29 -05:00 committed by GitHub
parent 3c18d2a0e8
commit a96b742797
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -16,14 +16,15 @@ class Petsc(Package):
""" """
homepage = "http://www.mcs.anl.gov/petsc/index.html" 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" url = "http://ftp.mcs.anl.gov/pub/petsc/release-snapshots/petsc-lite-3.13.0.tar.gz"
git = "https://gitlab.com/petsc/petsc.git" git = "https://gitlab.com/petsc/petsc.git"
maintainers = ['balay', 'barrysmith', 'jedbrown'] maintainers = ['balay', 'barrysmith', 'jedbrown']
version('develop', branch='master') version('develop', branch='master')
version('xsdk-0.2.0', tag='xsdk-0.2.0') version('xsdk-0.2.0', tag='xsdk-0.2.0')
version('3.13.0', sha256='f0ea543a54145c5d1387e25b121c3fd1b1ca834032c5a33f6f1d929e95bdf0e5')
version('3.12.5', sha256='d676eb67e79314d6cca6422d7c477d2b192c830b89d5edc6b46934f7453bcfc0')
version('3.12.4', sha256='56a941130da93bbacb3cfa74dcacea1e3cd8e36a0341f9ced09977b1457084c3') version('3.12.4', sha256='56a941130da93bbacb3cfa74dcacea1e3cd8e36a0341f9ced09977b1457084c3')
version('3.12.3', sha256='91f77d7b0f54056f085b9e27938922db3d9bb1734a2e2a6d26f43d3e6c0cf631') version('3.12.3', sha256='91f77d7b0f54056f085b9e27938922db3d9bb1734a2e2a6d26f43d3e6c0cf631')
version('3.12.2', sha256='d874b2e198c4cb73551c2eca1d2c5d27da710be4d00517adb8f9eb3d6d0375e8') version('3.12.2', sha256='d874b2e198c4cb73551c2eca1d2c5d27da710be4d00517adb8f9eb3d6d0375e8')
@ -146,7 +147,8 @@ class Petsc(Package):
depends_on('metis@5:~int64', when='@3.8:+metis~int64') depends_on('metis@5:~int64', when='@3.8:+metis~int64')
depends_on('metis@5:+int64', when='@3.8:+metis+int64') depends_on('metis@5:+int64', when='@3.8:+metis+int64')
depends_on('hdf5@:1.10.99+mpi+hl+fortran', when='+hdf5+mpi') depends_on('hdf5@:1.10.99+mpi+hl+fortran', when='@:3.12.99+hdf5+mpi')
depends_on('hdf5+mpi+hl+fortran', when='@3.13:+hdf5+mpi')
depends_on('zlib', when='+hdf5') depends_on('zlib', when='+hdf5')
depends_on('parmetis', when='+metis+mpi') depends_on('parmetis', when='+metis+mpi')
depends_on('valgrind', when='+valgrind') depends_on('valgrind', when='+valgrind')
@ -172,6 +174,8 @@ class Petsc(Package):
depends_on('superlu-dist@5.4:5.4.99+int64', when='@3.10:3.10.2+superlu-dist+mpi+int64') depends_on('superlu-dist@5.4:5.4.99+int64', when='@3.10:3.10.2+superlu-dist+mpi+int64')
depends_on('superlu-dist@6.1:6.1.99~int64', when='@3.10.3:3.12.99+superlu-dist+mpi~int64') depends_on('superlu-dist@6.1:6.1.99~int64', when='@3.10.3:3.12.99+superlu-dist+mpi~int64')
depends_on('superlu-dist@6.1:6.1.99+int64', when='@3.10.3:3.12.99+superlu-dist+mpi+int64') depends_on('superlu-dist@6.1:6.1.99+int64', when='@3.10.3:3.12.99+superlu-dist+mpi+int64')
depends_on('superlu-dist@6.1:6.3.99~int64', when='@3.13.0:3.13.99+superlu-dist+mpi~int64')
depends_on('superlu-dist@6.1:6.3.99+int64', when='@3.13.0:3.13.99+superlu-dist+mpi+int64')
depends_on('superlu-dist@xsdk-0.2.0~int64', when='@xsdk-0.2.0+superlu-dist+mpi~int64') depends_on('superlu-dist@xsdk-0.2.0~int64', when='@xsdk-0.2.0+superlu-dist+mpi~int64')
depends_on('superlu-dist@xsdk-0.2.0+int64', when='@xsdk-0.2.0+superlu-dist+mpi+int64') depends_on('superlu-dist@xsdk-0.2.0+int64', when='@xsdk-0.2.0+superlu-dist+mpi+int64')
depends_on('superlu-dist@develop~int64', when='@develop+superlu-dist+mpi~int64') depends_on('superlu-dist@develop~int64', when='@develop+superlu-dist+mpi~int64')
@ -185,6 +189,13 @@ class Petsc(Package):
depends_on('suite-sparse', when='+suite-sparse') depends_on('suite-sparse', when='+suite-sparse')
depends_on('libx11', when='+X') depends_on('libx11', when='+X')
def url_for_version(self, version):
if version >= Version('3.13.0'):
# petsc-lite tarballs are smaller by skipping docs
return "http://ftp.mcs.anl.gov/pub/petsc/release-snapshots/petsc-lite-{0}.tar.gz".format(version)
else:
return "http://ftp.mcs.anl.gov/pub/petsc/release-snapshots/petsc-{0}.tar.gz".format(version)
def mpi_dependent_options(self): def mpi_dependent_options(self):
if '~mpi' in self.spec: if '~mpi' in self.spec:
compiler_opts = [ compiler_opts = [