From 6af84c45741e168c9597eb44ef9571e93ed989ca Mon Sep 17 00:00:00 2001 From: Pierre Jolivet Date: Thu, 16 Mar 2023 18:32:07 +0100 Subject: [PATCH] slepc: add HPDDM wrappers (#36118) --- var/spack/repos/builtin/packages/petsc/package.py | 2 +- var/spack/repos/builtin/packages/slepc/package.py | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/var/spack/repos/builtin/packages/petsc/package.py b/var/spack/repos/builtin/packages/petsc/package.py index c1473b2808..3ec5e17e85 100644 --- a/var/spack/repos/builtin/packages/petsc/package.py +++ b/var/spack/repos/builtin/packages/petsc/package.py @@ -13,7 +13,7 @@ class Petsc(Package, CudaPackage, ROCmPackage): 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" git = "https://gitlab.com/petsc/petsc.git" maintainers("balay", "barrysmith", "jedbrown") diff --git a/var/spack/repos/builtin/packages/slepc/package.py b/var/spack/repos/builtin/packages/slepc/package.py index 11d529fabd..da4c0e7e24 100644 --- a/var/spack/repos/builtin/packages/slepc/package.py +++ b/var/spack/repos/builtin/packages/slepc/package.py @@ -52,6 +52,7 @@ class Slepc(Package, CudaPackage, ROCmPackage): variant("arpack", default=True, description="Enables Arpack 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. 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. conflicts("+arpack", when="@:3.12 ^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( name="blopex", @@ -147,6 +150,11 @@ def install(self, spec, prefix): if "+blopex" in spec: 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) make("V=1")