From 401a35faba7b43ea5a67d752bede3f5b2067709a Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 7 Sep 2023 13:34:25 +0200 Subject: [PATCH 1/5] {2023.06}[foss/2021a] R v4.1.0 --- eessi-2023.06-eb-4.7.2-2021a.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/eessi-2023.06-eb-4.7.2-2021a.yml b/eessi-2023.06-eb-4.7.2-2021a.yml index 42a42f2236..8824c6414f 100644 --- a/eessi-2023.06-eb-4.7.2-2021a.yml +++ b/eessi-2023.06-eb-4.7.2-2021a.yml @@ -24,3 +24,4 @@ easyconfigs: # see https://github.com/easybuilders/easybuild-easyconfigs/pull/18348 options: from-pr: 18348 + - R-4.1.0-foss-2021a.eb From 2bc2d2fcb023141ebfc1f71879158c21eda66860 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 19 Sep 2023 15:34:21 +0200 Subject: [PATCH 2/5] use PR to fix xvfb-run permission issue for Xvfb 1.20.11 --- eessi-2023.06-eb-4.7.2-2021a.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/eessi-2023.06-eb-4.7.2-2021a.yml b/eessi-2023.06-eb-4.7.2-2021a.yml index 8824c6414f..aaa23207d1 100644 --- a/eessi-2023.06-eb-4.7.2-2021a.yml +++ b/eessi-2023.06-eb-4.7.2-2021a.yml @@ -24,4 +24,9 @@ easyconfigs: # see https://github.com/easybuilders/easybuild-easyconfigs/pull/18348 options: from-pr: 18348 + - Xvfb-1.20.11-GCCcore-10.3.0.eb: + # fix permission issues for xvfb-run script, + # see https://github.com/easybuilders/easybuild-easyconfigs/pull/18834 + options: + from-pr: 18834 - R-4.1.0-foss-2021a.eb From f3a1f35b5acf46d241ed3f3262e86ae6ed054771 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Wed, 20 Sep 2023 17:34:32 +0200 Subject: [PATCH 3/5] fix failing build for testthat R extension on top of recent glibc via pre_single_extension hook that replaces SIGSTKSZ with constant value --- eb_hooks.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/eb_hooks.py b/eb_hooks.py index 488e53d929..95092fbdc2 100644 --- a/eb_hooks.py +++ b/eb_hooks.py @@ -274,6 +274,22 @@ 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, 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 && " + + PARSE_HOOKS = { 'CGAL': parse_hook_cgal_toolchainopts_precise, 'fontconfig': parse_hook_fontconfig_add_fonts, @@ -296,3 +312,7 @@ 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 = { + 'testthat': pre_single_extension_testthat, +} From 8da226c5eec4aa204e3d522cc322f228b85f4aa5 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 22 Sep 2023 10:12:32 +0200 Subject: [PATCH 4/5] also fix SIGSTKSZ for isoband R package via pre-extension hook --- eb_hooks.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/eb_hooks.py b/eb_hooks.py index 95092fbdc2..ce84ba655e 100644 --- a/eb_hooks.py +++ b/eb_hooks.py @@ -282,7 +282,7 @@ def pre_single_extension_hook(ext, *args, **kwargs): def pre_single_extension_testthat(ext, *args, **kwargs): """ - Pre-extension hook for testthat, to fix build on top of recent glibc. + 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, @@ -290,6 +290,16 @@ def pre_single_extension_testthat(ext, *args, **kwargs): 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, @@ -314,5 +324,6 @@ def pre_single_extension_testthat(ext, *args, **kwargs): } PRE_SINGLE_EXTENSION_HOOKS = { + 'isoband': pre_single_extension_isoband, 'testthat': pre_single_extension_testthat, } From 4252a16d86ce45ec76078b414e5f919a8e5297d1 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 26 Sep 2023 21:21:38 +0200 Subject: [PATCH 5/5] use EasyBuild v4.8.1 to install R 4.1.0 with foss/2021a --- .github/workflows/test_eessi.yml | 1 + eessi-2023.06-eb-4.7.2-2021a.yml | 6 ------ eessi-2023.06-eb-4.8.1-2021a.yml | 7 +++++++ 3 files changed, 8 insertions(+), 6 deletions(-) create mode 100644 eessi-2023.06-eb-4.8.1-2021a.yml diff --git a/.github/workflows/test_eessi.yml b/.github/workflows/test_eessi.yml index 1a67ad29ea..387c773885 100644 --- a/.github/workflows/test_eessi.yml +++ b/.github/workflows/test_eessi.yml @@ -30,6 +30,7 @@ jobs: - eessi-2023.06-eb-4.8.0-system.yml - eessi-2023.06-eb-4.8.0-2021b.yml - eessi-2023.06-eb-4.8.1-system.yml + - eessi-2023.06-eb-4.8.1-2021a.yml - eessi-2023.06-eb-4.8.1-2021b.yml steps: - name: Check out software-layer repository diff --git a/eessi-2023.06-eb-4.7.2-2021a.yml b/eessi-2023.06-eb-4.7.2-2021a.yml index aaa23207d1..42a42f2236 100644 --- a/eessi-2023.06-eb-4.7.2-2021a.yml +++ b/eessi-2023.06-eb-4.7.2-2021a.yml @@ -24,9 +24,3 @@ easyconfigs: # see https://github.com/easybuilders/easybuild-easyconfigs/pull/18348 options: from-pr: 18348 - - Xvfb-1.20.11-GCCcore-10.3.0.eb: - # fix permission issues for xvfb-run script, - # see https://github.com/easybuilders/easybuild-easyconfigs/pull/18834 - options: - from-pr: 18834 - - R-4.1.0-foss-2021a.eb diff --git a/eessi-2023.06-eb-4.8.1-2021a.yml b/eessi-2023.06-eb-4.8.1-2021a.yml new file mode 100644 index 0000000000..999eb09925 --- /dev/null +++ b/eessi-2023.06-eb-4.8.1-2021a.yml @@ -0,0 +1,7 @@ +easyconfigs: + - Xvfb-1.20.11-GCCcore-10.3.0.eb: + # fix permission issues for xvfb-run script, + # see https://github.com/easybuilders/easybuild-easyconfigs/pull/18834 + options: + from-pr: 18834 + - R-4.1.0-foss-2021a.eb