@@ -1402,6 +1402,19 @@ def pre_configure_hook_openmpi_ipv6(self, *args, **kwargs):
14021402 raise EasyBuildError ("OpenMPI-specific hook triggered for non-OpenMPI easyconfig?!" )
14031403
14041404
1405+ def pre_configure_hook_petsc (self , * args , ** kwargs ):
1406+ """
1407+ Pre-configure hook for PETSc
1408+ - make sure that zlib is found in compat layer
1409+ """
1410+ if self .name == 'PETSc' :
1411+ # only necessary for PETSc 3.24.0+
1412+ if LooseVersion (self .version ) >= LooseVersion ('3.24.0' ):
1413+ self .cfg .update ('configopts' , '--with-zlib-dir=${EESSI_EPREFIX}/usr' )
1414+ else :
1415+ raise EasyBuildError ("PETSc-specific hook triggered for non-PETSc easyconfig?!" )
1416+
1417+
14051418def pre_configure_hook_pmix_ipv6 (self , * args , ** kwargs ):
14061419 """
14071420 Pre-configure hook to enable IPv6 support in PMIx from EESSI 2025.06 onwards
@@ -2238,6 +2251,7 @@ def post_easyblock_hook(self, *args, **kwargs):
22382251 'MetaBAT' : pre_configure_hook_metabat_filtered_zlib_dep ,
22392252 'OpenBLAS' : pre_configure_hook_openblas_optarch_generic ,
22402253 'OpenMPI' : pre_configure_hook_openmpi_ipv6 ,
2254+ 'PETSc' : pre_configure_hook_petsc ,
22412255 'PMIx' : pre_configure_hook_pmix_ipv6 ,
22422256 'PRRTE' : pre_configure_hook_prrte_ipv6 ,
22432257 'ROCm-LLVM' : pre_configure_hook_llvm ,
0 commit comments