slepc: add HPDDM wrappers (#36118)
This commit is contained in:
		| @@ -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") | ||||||
|   | |||||||
| @@ -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") | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Pierre Jolivet
					Pierre Jolivet