slepc: add HPDDM wrappers (#36118)

This commit is contained in:
Pierre Jolivet 2023-03-16 18:32:07 +01:00 committed by GitHub
parent 50cc1d12f9
commit 6af84c4574
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 1 deletions

View file

@ -13,7 +13,7 @@ class Petsc(Package, CudaPackage, ROCmPackage):
differential equations. differential equations.
""" """
homepage = "https://www.mcs.anl.gov/petsc/index.html" homepage = "https://petsc.org"
url = "https://ftp.mcs.anl.gov/pub/petsc/release-snapshots/petsc-3.15.0.tar.gz" url = "https://ftp.mcs.anl.gov/pub/petsc/release-snapshots/petsc-3.15.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")

View file

@ -52,6 +52,7 @@ class Slepc(Package, CudaPackage, ROCmPackage):
variant("arpack", default=True, description="Enables Arpack wrappers") variant("arpack", default=True, description="Enables Arpack wrappers")
variant("blopex", default=False, description="Enables BLOPEX wrappers") variant("blopex", default=False, description="Enables BLOPEX wrappers")
variant("hpddm", default=False, description="Enables HPDDM wrappers")
# NOTE: make sure PETSc and SLEPc use the same python. # NOTE: make sure PETSc and SLEPc use the same python.
depends_on("python@2.6:2.8,3.4:", type="build") depends_on("python@2.6:2.8,3.4:", type="build")
@ -79,6 +80,8 @@ class Slepc(Package, CudaPackage, ROCmPackage):
# Arpack can not be used with 64bit integers. # Arpack can not be used with 64bit integers.
conflicts("+arpack", when="@:3.12 ^petsc+int64") conflicts("+arpack", when="@:3.12 ^petsc+int64")
conflicts("+blopex", when="^petsc+int64") conflicts("+blopex", when="^petsc+int64")
# HPDDM cannot be used in both PETSc and SLEPc prior to 3.19.0
conflicts("+hpddm", when="@:3.18 ^petsc+hpddm")
resource( resource(
name="blopex", name="blopex",
@ -147,6 +150,11 @@ def install(self, spec, prefix):
if "+blopex" in spec: if "+blopex" in spec:
options.append("--download-blopex") options.append("--download-blopex")
# For the moment, HPDDM does not work as a dependency
# using download instead
if "+hpddm" in spec:
options.append("--download-hpddm")
python("configure", "--prefix=%s" % prefix, *options) python("configure", "--prefix=%s" % prefix, *options)
make("V=1") make("V=1")