diff --git a/var/spack/repos/builtin/packages/fenics-dolfinx/package.py b/var/spack/repos/builtin/packages/fenics-dolfinx/package.py index 25e1e2b3676..519198c6d82 100644 --- a/var/spack/repos/builtin/packages/fenics-dolfinx/package.py +++ b/var/spack/repos/builtin/packages/fenics-dolfinx/package.py @@ -30,6 +30,7 @@ class FenicsDolfinx(CMakePackage): multi=True, ) + # HDF5 dependency requires C in CMake depends_on("c", type="build") depends_on("cxx", type="build") # generated @@ -40,7 +41,9 @@ class FenicsDolfinx(CMakePackage): variant("slepc", default=False, description="slepc support") variant("adios2", default=False, description="adios2 support") + variant("petsc", default=False, description="PETSc support") + depends_on("petsc", when="+slepc") depends_on("cmake@3.21:", when="@0.9:", type="build") depends_on("cmake@3.19:", when="@:0.8", type="build") depends_on("pkgconfig", type="build") @@ -50,7 +53,7 @@ class FenicsDolfinx(CMakePackage): depends_on("pugixml") depends_on("spdlog", when="@0.9:") - depends_on("petsc+mpi+shared") + depends_on("petsc+mpi+shared", when="+petsc") depends_on("slepc", when="+slepc") depends_on("adios2@2.8.1:+mpi", when="@0.9: +adios2") @@ -76,6 +79,7 @@ class FenicsDolfinx(CMakePackage): def cmake_args(self): return [ self.define("DOLFINX_SKIP_BUILD_TESTS", True), + self.define_from_variant("DOLFINX_ENABLE_PETSC", "petsc"), self.define_from_variant("DOLFINX_ENABLE_SLEPC", "slepc"), self.define_from_variant("DOLFINX_ENABLE_ADIOS2", "adios2"), self.define("DOLFINX_UFCX_PYTHON", False),