From c1cf9de7c6e00e7e847036d8a05a004e3d42216e Mon Sep 17 00:00:00 2001 From: Richard Top Date: Mon, 29 Sep 2025 08:51:07 +0000 Subject: [PATCH 1/6] changes required for PR 1208 in software-layer --- eb_hooks.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/eb_hooks.py b/eb_hooks.py index ceaf97e6..f38c588e 100644 --- a/eb_hooks.py +++ b/eb_hooks.py @@ -779,6 +779,18 @@ def pre_configure_hook_CUDA_Samples_test_remove(self, *args, **kwargs): raise EasyBuildError("CUDA-Samples-specific hook triggered for non-CUDA-Samples easyconfig?!") +def pre_configure_hook_freexl(self, *args, **kwargs): + """ + Pre-configure hook for FreeXL + - Workaround for a Zlib macro being renamed in Gentoo, see https://bugs.gentoo.org/383179 + (solves "expected initializer before 'OF'" errors) + """ + if self.name == 'FreeXL': + self.cfg.update('configopts', 'CPPFLAGS="-DOF=_Z_OF ${CPPFLAGS}"') + else: + raise EasyBuildError("FreeXL-specific hook triggered for non-FreeXL easyconfig?!") + + def pre_configure_hook_score_p(self, *args, **kwargs): """ Pre-configure hook for Score-p @@ -1611,6 +1623,7 @@ def post_easyblock_hook(self, *args, **kwargs): 'CUDA-Samples': pre_configure_hook_CUDA_Samples_test_remove, 'GObject-Introspection': pre_configure_hook_gobject_introspection, 'Extrae': pre_configure_hook_extrae, + 'FreeXL': pre_configure_hook_freexl, 'GROMACS': pre_configure_hook_gromacs, 'libfabric': pre_configure_hook_libfabric_disable_psm3_x86_64_generic, 'LLVM': pre_configure_hook_llvm, From e7e369b655ab3567c892812495dcb86a4886cea2 Mon Sep 17 00:00:00 2001 From: Richard Top Date: Mon, 29 Sep 2025 09:40:01 +0000 Subject: [PATCH 2/6] updated the hook to target several packages --- eb_hooks.py | 30 ++++-------------------------- 1 file changed, 4 insertions(+), 26 deletions(-) diff --git a/eb_hooks.py b/eb_hooks.py index f38c588e..a7a95135 100644 --- a/eb_hooks.py +++ b/eb_hooks.py @@ -740,6 +740,10 @@ def pre_configure_hook(self, *args, **kwargs): """Main pre-configure hook: trigger custom functions based on software name.""" if self.name in PRE_CONFIGURE_HOOKS: PRE_CONFIGURE_HOOKS[self.name](self, *args, **kwargs) + # workaround for a Zlib macro being renamed in Gentoo, see https://bugs.gentoo.org/383179 + # (solves "expected initializer before 'OF'" errors) + if self.name in ['FreeXL', 'libspatialite', 'VSEARCH']: + self.cfg.update('configopts', 'CPPFLAGS="-DOF=_Z_OF ${CPPFLAGS}"') def pre_configure_hook_BLIS_a64fx(self, *args, **kwargs): @@ -779,18 +783,6 @@ def pre_configure_hook_CUDA_Samples_test_remove(self, *args, **kwargs): raise EasyBuildError("CUDA-Samples-specific hook triggered for non-CUDA-Samples easyconfig?!") -def pre_configure_hook_freexl(self, *args, **kwargs): - """ - Pre-configure hook for FreeXL - - Workaround for a Zlib macro being renamed in Gentoo, see https://bugs.gentoo.org/383179 - (solves "expected initializer before 'OF'" errors) - """ - if self.name == 'FreeXL': - self.cfg.update('configopts', 'CPPFLAGS="-DOF=_Z_OF ${CPPFLAGS}"') - else: - raise EasyBuildError("FreeXL-specific hook triggered for non-FreeXL easyconfig?!") - - def pre_configure_hook_score_p(self, *args, **kwargs): """ Pre-configure hook for Score-p @@ -814,18 +806,6 @@ def pre_configure_hook_score_p(self, *args, **kwargs): raise EasyBuildError("Score-P-specific hook triggered for non-Score-P easyconfig?!") -def pre_configure_hook_vsearch(self, *args, **kwargs): - """ - Pre-configure hook for VSEARCH - - Workaround for a Zlib macro being renamed in Gentoo, see https://bugs.gentoo.org/383179 - (solves "expected initializer before 'OF'" errors) - """ - if self.name == 'VSEARCH': - self.cfg.update('configopts', 'CPPFLAGS="-DOF=_Z_OF ${CPPFLAGS}"') - else: - raise EasyBuildError("VSEARCH-specific hook triggered for non-VSEARCH easyconfig?!") - - def pre_configure_hook_extrae(self, *args, **kwargs): """ Pre-configure hook for Extrae @@ -1623,7 +1603,6 @@ def post_easyblock_hook(self, *args, **kwargs): 'CUDA-Samples': pre_configure_hook_CUDA_Samples_test_remove, 'GObject-Introspection': pre_configure_hook_gobject_introspection, 'Extrae': pre_configure_hook_extrae, - 'FreeXL': pre_configure_hook_freexl, 'GROMACS': pre_configure_hook_gromacs, 'libfabric': pre_configure_hook_libfabric_disable_psm3_x86_64_generic, 'LLVM': pre_configure_hook_llvm, @@ -1636,7 +1615,6 @@ def post_easyblock_hook(self, *args, **kwargs): 'WRF': pre_configure_hook_wrf_aarch64, 'LAMMPS': pre_configure_hook_LAMMPS_zen4_and_aarch64_cuda, 'Score-P': pre_configure_hook_score_p, - 'VSEARCH': pre_configure_hook_vsearch, 'CMake': pre_configure_hook_cmake_system, } From 3ce5cf4ec0e195eb77ebb6874e24d03208ff81a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= Date: Mon, 29 Sep 2025 12:55:54 +0200 Subject: [PATCH 3/6] test new hook --- .../software.eessi.io/2023.06/eessi-2023.06-eb-5.1.2-2023b.yml | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-5.1.2-2023b.yml diff --git a/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-5.1.2-2023b.yml b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-5.1.2-2023b.yml new file mode 100644 index 00000000..b26150f4 --- /dev/null +++ b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-5.1.2-2023b.yml @@ -0,0 +1,2 @@ +easyconfigs: + - VSEARCH-2.30.0-GCC-13.2.0.eb From 4c13e92fd543f0525414aafbcbfe438f9807611d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= Date: Mon, 29 Sep 2025 13:05:10 +0200 Subject: [PATCH 4/6] force rebuild --- .../2023.06/eessi-2023.06-eb-5.1.2-2023b.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-5.1.2-2023b.yml b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-5.1.2-2023b.yml index b26150f4..93bb14a5 100644 --- a/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-5.1.2-2023b.yml +++ b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-5.1.2-2023b.yml @@ -1,2 +1,4 @@ easyconfigs: - - VSEARCH-2.30.0-GCC-13.2.0.eb + - VSEARCH-2.30.0-GCC-13.2.0.eb: + options: + rebuild: True From b922e345db45ccb7283a16e5ac9ac4aef5b62632 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= Date: Mon, 29 Sep 2025 13:10:10 +0200 Subject: [PATCH 5/6] remove test easystack --- .../2023.06/eessi-2023.06-eb-5.1.2-2023b.yml | 4 ---- 1 file changed, 4 deletions(-) delete mode 100644 easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-5.1.2-2023b.yml diff --git a/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-5.1.2-2023b.yml b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-5.1.2-2023b.yml deleted file mode 100644 index 93bb14a5..00000000 --- a/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-5.1.2-2023b.yml +++ /dev/null @@ -1,4 +0,0 @@ -easyconfigs: - - VSEARCH-2.30.0-GCC-13.2.0.eb: - options: - rebuild: True From 9c5a50307291db2d027fef4d50a895e558c5a23e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= Date: Mon, 29 Sep 2025 13:10:48 +0200 Subject: [PATCH 6/6] insert blank line --- eb_hooks.py | 1 + 1 file changed, 1 insertion(+) diff --git a/eb_hooks.py b/eb_hooks.py index a7a95135..953bbe65 100644 --- a/eb_hooks.py +++ b/eb_hooks.py @@ -740,6 +740,7 @@ def pre_configure_hook(self, *args, **kwargs): """Main pre-configure hook: trigger custom functions based on software name.""" if self.name in PRE_CONFIGURE_HOOKS: PRE_CONFIGURE_HOOKS[self.name](self, *args, **kwargs) + # workaround for a Zlib macro being renamed in Gentoo, see https://bugs.gentoo.org/383179 # (solves "expected initializer before 'OF'" errors) if self.name in ['FreeXL', 'libspatialite', 'VSEARCH']: