Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 39 additions & 0 deletions eb_hooks.py
Original file line number Diff line number Diff line change
Expand Up @@ -919,6 +919,42 @@ def pre_configure_hook_openblas_optarch_generic(self, *args, **kwargs):
raise EasyBuildError("OpenBLAS-specific hook triggered for non-OpenBLAS easyconfig?!")


def pre_configure_hook_openmpi_ipv6(self, *args, **kwargs):
"""
Pre-configure hook to enable IPv6 support in OpenMPI from EESSI 2025.06 onwards
"""
if self.name == 'OpenMPI':
eessi_version = get_eessi_envvar('EESSI_VERSION')
if eessi_version and LooseVersion(eessi_version) >= '2025.06':
self.cfg.update('configopts', '--enable-ipv6')
else:
raise EasyBuildError("OpenMPI-specific hook triggered for non-OpenMPI easyconfig?!")


def pre_configure_hook_pmix_ipv6(self, *args, **kwargs):
"""
Pre-configure hook to enable IPv6 support in PMIx from EESSI 2025.06 onwards
"""
if self.name == 'PMIx':
eessi_version = get_eessi_envvar('EESSI_VERSION')
if eessi_version and LooseVersion(eessi_version) >= '2025.06':
self.cfg.update('configopts', '--enable-ipv6')
else:
raise EasyBuildError("PMIx-specific hook triggered for non-PMIx easyconfig?!")


def pre_configure_hook_prrte_ipv6(self, *args, **kwargs):
"""
Pre-configure hook to enable IPv6 support in PRRTE from EESSI 2025.06 onwards
"""
if self.name == 'PRRTE':
eessi_version = get_eessi_envvar('EESSI_VERSION')
if eessi_version and LooseVersion(eessi_version) >= '2025.06':
self.cfg.update('configopts', '--enable-ipv6')
else:
raise EasyBuildError("PRRTE-specific hook triggered for non-PRRTE easyconfig?!")


def pre_configure_hook_libfabric_disable_psm3_x86_64_generic(self, *args, **kwargs):
"""Add --disable-psm3 to libfabric configure options when building with --optarch=GENERIC on x86_64."""
if self.name == 'libfabric':
Expand Down Expand Up @@ -1538,6 +1574,9 @@ def post_easyblock_hook(self, *args, **kwargs):
'ROCm-LLVM': pre_configure_hook_llvm,
'MetaBAT': pre_configure_hook_metabat_filtered_zlib_dep,
'OpenBLAS': pre_configure_hook_openblas_optarch_generic,
'OpenMPI': pre_configure_hook_openmpi_ipv6,
'PMIx': pre_configure_hook_pmix_ipv6,
'PRRTE': pre_configure_hook_prrte_ipv6,
'WRF': pre_configure_hook_wrf_aarch64,
'LAMMPS': pre_configure_hook_LAMMPS_zen4,
'Score-P': pre_configure_hook_score_p,
Expand Down