From 983b09ddbd094c83bb6d5f768fb63f8f0436f04f Mon Sep 17 00:00:00 2001 From: Thomas Roeblitz Date: Sun, 8 Oct 2023 13:04:40 +0200 Subject: [PATCH 1/3] {2023.06}[foss/2022a] add R/4.2.1 --- eb_hooks.py | 31 +++++++++++++++++++++++++++++++ eessi-2023.06-eb-4.8.1-2022a.yml | 23 +++++++++++++---------- 2 files changed, 44 insertions(+), 10 deletions(-) diff --git a/eb_hooks.py b/eb_hooks.py index 084b78e5e0..3dfcdb78fa 100644 --- a/eb_hooks.py +++ b/eb_hooks.py @@ -268,6 +268,32 @@ def pre_test_hook_ignore_failing_tests_SciPybundle(self, *args, **kwargs): self.cfg['testopts'] = "|| echo ignoring failing tests" +def pre_single_extension_hook(ext, *args, **kwargs): + """Main pre-configure hook: trigger custom functions based on software name.""" + if ext.name in PRE_SINGLE_EXTENSION_HOOKS: + PRE_SINGLE_EXTENSION_HOOKS[ext.name](ext, *args, **kwargs) + + +def pre_single_extension_testthat(ext, *args, **kwargs): + """ + Pre-extension hook for testthat R package, to fix build on top of recent glibc. + """ + if ext.name == 'testthat' and LooseVersion(ext.version) < LooseVersion('3.1.0'): + # use constant value instead of SIGSTKSZ for stack size, + # cfr. https://github.com/r-lib/testthat/issues/1373 + https://github.com/r-lib/testthat/pull/1403 + ext.cfg['preinstallopts'] = "sed -i 's/SIGSTKSZ/32768/g' inst/include/testthat/vendor/catch.h && " + + +def pre_single_extension_isoband(ext, *args, **kwargs): + """ + Pre-extension hook for isoband R package, to fix build on top of recent glibc. + """ + if ext.name == 'isoband' and LooseVersion(ext.version) < LooseVersion('0.2.5'): + # use constant value instead of SIGSTKSZ for stack size in vendored testthat included in isoband sources, + # cfr. https://github.com/r-lib/isoband/commit/6984e6ce8d977f06e0b5ff73f5d88e5c9a44c027 + ext.cfg['preinstallopts'] = "sed -i 's/SIGSTKSZ/32768/g' src/testthat/vendor/catch.h && " + + PARSE_HOOKS = { 'CGAL': parse_hook_cgal_toolchainopts_precise, 'fontconfig': parse_hook_fontconfig_add_fonts, @@ -289,3 +315,8 @@ def pre_test_hook_ignore_failing_tests_SciPybundle(self, *args, **kwargs): PRE_TEST_HOOKS = { 'SciPy-bundle': pre_test_hook_ignore_failing_tests_SciPybundle, } + +PRE_SINGLE_EXTENSION_HOOKS = { + 'isoband': pre_single_extension_isoband, + 'testthat': pre_single_extension_testthat, +} diff --git a/eessi-2023.06-eb-4.8.1-2022a.yml b/eessi-2023.06-eb-4.8.1-2022a.yml index e5a8a7f7c4..7c9d6c9218 100644 --- a/eessi-2023.06-eb-4.8.1-2022a.yml +++ b/eessi-2023.06-eb-4.8.1-2022a.yml @@ -9,11 +9,12 @@ easyconfigs: - lz4-1.9.3-GCCcore-11.3.0.eb - zstd-1.5.2-GCCcore-11.3.0.eb - Boost.Python-1.79.0-GCC-11.3.0.eb - - netCDF-4.9.0-gompi-2022a.eb: - # use updated CMakeMake easyblock to avoid that -DCMAKE_SKIP_RPATH=ON is used, which breaks the netCDF test step - # see https://github.com/easybuilders/easybuild-easyblocks/pull/3012 - options: - include-easyblocks-from-pr: 3012 + - netCDF-4.9.0-gompi-2022a.eb + # - netCDF-4.9.0-gompi-2022a.eb: + # # use updated CMakeMake easyblock to avoid that -DCMAKE_SKIP_RPATH=ON is used, which breaks the netCDF test step + # # see https://github.com/easybuilders/easybuild-easyblocks/pull/3012 + # options: + # include-easyblocks-from-pr: 3012 - NCO-5.1.0-foss-2022a.eb - AdapterRemoval-2.3.3-GCC-11.3.0.eb - BEDTools-2.30.0-GCC-11.3.0.eb @@ -26,9 +27,11 @@ easyconfigs: - Ninja-1.10.2-GCCcore-11.3.0.eb - Z3-4.10.2-GCCcore-11.3.0.eb - SciPy-bundle-2022.05-foss-2022a.eb - - Xvfb-21.1.3-GCCcore-11.3.0.eb: - # enable exec permissions for xvfb-run after copying; - # need to also enable user write permissions on xvfb-run to ensure that copying with preserved permissions works - options: - from-pr: 18834 + - Xvfb-21.1.3-GCCcore-11.3.0.eb + # - Xvfb-21.1.3-GCCcore-11.3.0.eb: + # # enable exec permissions for xvfb-run after copying; + # # need to also enable user write permissions on xvfb-run to ensure that copying with preserved permissions works + # options: + # from-pr: 18834 - tbb-2021.5.0-GCCcore-11.3.0.eb + - R-4.2.1-foss-2022a.eb From 661b5b78bf72ad23c73c169f806e6085ece66064 Mon Sep 17 00:00:00 2001 From: Thomas Roeblitz Date: Sun, 8 Oct 2023 14:06:18 +0200 Subject: [PATCH 2/3] increase timeout for downloading nodejs --- eessi-2023.06-eb-4.8.1-2022a.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/eessi-2023.06-eb-4.8.1-2022a.yml b/eessi-2023.06-eb-4.8.1-2022a.yml index 7c9d6c9218..2fe769d175 100644 --- a/eessi-2023.06-eb-4.8.1-2022a.yml +++ b/eessi-2023.06-eb-4.8.1-2022a.yml @@ -34,4 +34,9 @@ easyconfigs: # options: # from-pr: 18834 - tbb-2021.5.0-GCCcore-11.3.0.eb + # seems downloading nodejs (dependency of R) ran into timeout across jobs, + # hence increasing the timeout for downloading it + - nodejs-16.15.1-GCCcore-11.3.0.eb: + options: + download-timeout: 1000 - R-4.2.1-foss-2022a.eb From ffbc8e03948ba9ad1e19c6960f4a8eb4c09cd1e4 Mon Sep 17 00:00:00 2001 From: Thomas Roeblitz Date: Fri, 5 Jan 2024 15:56:57 +0100 Subject: [PATCH 3/3] build R with EB/4.8.2 --- eessi-2023.06-eb-4.8.1-2022a.yml | 1 - eessi-2023.06-eb-4.8.2-2022a.yml | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/eessi-2023.06-eb-4.8.1-2022a.yml b/eessi-2023.06-eb-4.8.1-2022a.yml index d4008b3bc5..ce1f587dad 100644 --- a/eessi-2023.06-eb-4.8.1-2022a.yml +++ b/eessi-2023.06-eb-4.8.1-2022a.yml @@ -65,4 +65,3 @@ easyconfigs: options: download-timeout: 1000 - ASE-3.22.1-foss-2022a.eb - - R-4.2.1-foss-2022a.eb diff --git a/eessi-2023.06-eb-4.8.2-2022a.yml b/eessi-2023.06-eb-4.8.2-2022a.yml index 2a6721cd9a..02077b496b 100644 --- a/eessi-2023.06-eb-4.8.2-2022a.yml +++ b/eessi-2023.06-eb-4.8.2-2022a.yml @@ -1,2 +1,3 @@ easyconfigs: - CDO-2.0.6-gompi-2022a.eb + - R-4.2.1-foss-2022a.eb