From 03e66d87cb07fb9d7c2f7f0daff93928f6b25f2d Mon Sep 17 00:00:00 2001 From: Alan O'Cais Date: Fri, 5 Apr 2024 20:51:55 +0200 Subject: [PATCH 01/39] {2023.06}[foss/2023a] QuantumESPRESSO 7.3.1 --- .../2023.06/eessi-2023.06-eb-4.9.0-2023a.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.0-2023a.yml b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.0-2023a.yml index 44952e2765..6cb243556a 100644 --- a/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.0-2023a.yml +++ b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.0-2023a.yml @@ -71,3 +71,9 @@ easyconfigs: options: # see https://github.com/easybuilders/easybuild-easyconfigs/pull/20238 from-pr: 20238 + - QuantumESPRESSO-7.3.1-foss-2023a.eb: + # see https://github.com/easybuilders/easybuild-easyconfigs/pull/20138 + # see https://github.com/easybuilders/easybuild-easyblocks/pull/3257 + options: + from-pr: 20138 + include-easyblocks-from-pr: 3257 From 61a788281119974079712a3ee9b1beeaa7fb24b9 Mon Sep 17 00:00:00 2001 From: ocaisa Date: Sun, 14 Apr 2024 13:53:43 +0200 Subject: [PATCH 02/39] Update eessi-2023.06-eb-4.9.0-2023a.yml --- .../software.eessi.io/2023.06/eessi-2023.06-eb-4.9.0-2023a.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.0-2023a.yml b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.0-2023a.yml index 6cb243556a..1e1e7fee14 100644 --- a/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.0-2023a.yml +++ b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.0-2023a.yml @@ -76,4 +76,4 @@ easyconfigs: # see https://github.com/easybuilders/easybuild-easyblocks/pull/3257 options: from-pr: 20138 - include-easyblocks-from-pr: 3257 + include-easyblocks-from-pr: 3306 From f07fd8567f1154cb8b4f0ab338979caff4dbfcce Mon Sep 17 00:00:00 2001 From: torri Date: Wed, 26 Jun 2024 14:03:51 +0200 Subject: [PATCH 03/39] fix for broken curl installation --- init/eessi_environment_variables | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/init/eessi_environment_variables b/init/eessi_environment_variables index 78851a9c95..d6e5b75dce 100644 --- a/init/eessi_environment_variables +++ b/init/eessi_environment_variables @@ -15,6 +15,20 @@ function show_msg { fi } +function check_rhel_ca { + + os=$(grep -oP '(?<=^ID_LIKE=).+' /etc/os-release | tr -d '"') + + version_id=$(grep -oP '(?<=^VERSION_ID=).+' /etc/os-release | tr -d '"') + version_major=${version_id%\.*} + + if [[ $os =~ "rhel" ]] && [ $version_major -gt 7 ] + then + export CURL_CA_BUNDLE=/etc/pki/tls/certs/ca-bundle.crt + fi +} + + # set up minimal environment: $EESSI_PREFIX, $EESSI_VERSION, $EESSI_OS_TYPE, $EESSI_CPU_FAMILY, $EPREFIX source $EESSI_INIT_DIR_PATH/minimal_eessi_env @@ -106,6 +120,8 @@ if [ -d $EESSI_PREFIX ]; then false fi + # Fix wrong path for RHEL >=8 libcurl + check_rhel_ca else error "EESSI software layer at $EESSI_SOFTWARE_PATH not found!" From 9f841a2cbcf1c27ea6d7517bbb4edba9cb3744b8 Mon Sep 17 00:00:00 2001 From: lara Date: Mon, 1 Jul 2024 15:03:18 +0200 Subject: [PATCH 04/39] {2023.06}[foss/2023a] CP2K 2023.1 --- .../software.eessi.io/2023.06/eessi-2023.06-eb-4.9.2-2023a.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.2-2023a.yml b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.2-2023a.yml index ade226c217..bd412f1579 100644 --- a/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.2-2023a.yml +++ b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.2-2023a.yml @@ -1,2 +1,3 @@ easyconfigs: - BCFtools-1.18-GCC-12.3.0.eb + - CP2K-2023.1-foss-2023a.eb From 9747ee497161f23dd999094e78bae6c863c5a9fb Mon Sep 17 00:00:00 2001 From: torri Date: Mon, 1 Jul 2024 16:31:37 +0200 Subject: [PATCH 05/39] simplified the implementation --- init/eessi_environment_variables | 20 +++++--------------- 1 file changed, 5 insertions(+), 15 deletions(-) diff --git a/init/eessi_environment_variables b/init/eessi_environment_variables index d6e5b75dce..c28ddb45d9 100644 --- a/init/eessi_environment_variables +++ b/init/eessi_environment_variables @@ -15,20 +15,6 @@ function show_msg { fi } -function check_rhel_ca { - - os=$(grep -oP '(?<=^ID_LIKE=).+' /etc/os-release | tr -d '"') - - version_id=$(grep -oP '(?<=^VERSION_ID=).+' /etc/os-release | tr -d '"') - version_major=${version_id%\.*} - - if [[ $os =~ "rhel" ]] && [ $version_major -gt 7 ] - then - export CURL_CA_BUNDLE=/etc/pki/tls/certs/ca-bundle.crt - fi -} - - # set up minimal environment: $EESSI_PREFIX, $EESSI_VERSION, $EESSI_OS_TYPE, $EESSI_CPU_FAMILY, $EPREFIX source $EESSI_INIT_DIR_PATH/minimal_eessi_env @@ -121,7 +107,11 @@ if [ -d $EESSI_PREFIX ]; then fi # Fix wrong path for RHEL >=8 libcurl - check_rhel_ca + rhel_libcurl_file="/etc/pki/tls/certs/ca-bundle.crt" + if [ -f $rhel_libcurl_file ]; then + show_msg "Found libcurl CAs file at RHEL location, setting CURL_CA_BUNDLE" + export CURL_CA_BUNDLE=$rhel_libcurl_file + fi else error "EESSI software layer at $EESSI_SOFTWARE_PATH not found!" From ba8de248ef1de35d2eecb359dd33ebcdb3981da0 Mon Sep 17 00:00:00 2001 From: lara Date: Tue, 2 Jul 2024 12:22:46 +0200 Subject: [PATCH 06/39] add from-pr 20951 for ARM support --- .../2023.06/eessi-2023.06-eb-4.9.2-2023a.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.2-2023a.yml b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.2-2023a.yml index bd412f1579..5d4aa9a772 100644 --- a/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.2-2023a.yml +++ b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.2-2023a.yml @@ -1,3 +1,6 @@ easyconfigs: - BCFtools-1.18-GCC-12.3.0.eb - - CP2K-2023.1-foss-2023a.eb + - CP2K-2023.1-foss-2023a.eb: + # see https://github.com/easybuilders/easybuild-easyconfigs/pull/20951 + options: + from-pr: 20951 From 51c6b1c998a69d8dd4a75f4f83b101b5ba81f1b4 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Wed, 3 Jul 2024 10:51:41 +0200 Subject: [PATCH 07/39] improve comment that explains setting of `$CURL_CA_BUNDLE` on RHEL-based systems Co-authored-by: ocaisa --- init/eessi_environment_variables | 3 +++ 1 file changed, 3 insertions(+) diff --git a/init/eessi_environment_variables b/init/eessi_environment_variables index c28ddb45d9..f5bb387955 100644 --- a/init/eessi_environment_variables +++ b/init/eessi_environment_variables @@ -107,6 +107,9 @@ if [ -d $EESSI_PREFIX ]; then fi # Fix wrong path for RHEL >=8 libcurl + # This is required here because we ship curl in our compat layer. If we only provided + # curl as a module file we could instead do this via a `modluafooter` in an EasyBuild + # hook (or via an Lmod hook) rhel_libcurl_file="/etc/pki/tls/certs/ca-bundle.crt" if [ -f $rhel_libcurl_file ]; then show_msg "Found libcurl CAs file at RHEL location, setting CURL_CA_BUNDLE" From d56cd31a81ae2a88adf8ca6b0d15e11df5624d7a Mon Sep 17 00:00:00 2001 From: lara Date: Wed, 3 Jul 2024 12:07:22 +0200 Subject: [PATCH 08/39] add hook for missing installation check on aarch64 --- eb_hooks.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/eb_hooks.py b/eb_hooks.py index e6f0cf0dd2..b4862cb572 100644 --- a/eb_hooks.py +++ b/eb_hooks.py @@ -294,6 +294,22 @@ def parse_hook_lammps_remove_deps_for_CI_aarch64(ec, *args, **kwargs): raise EasyBuildError("LAMMPS-specific hook triggered for non-LAMMPS easyconfig?!") +def parse_hook_CP2K_remove_deps_for_aarch64(ec, *args, **kwargs): + """ + Remove x86_64 specific dependencies for the CI and missing installations to pass on aarch64 + """ + if ec.name == 'CP2K' and ec.version in ('2023.1',): + if os.getenv('EESSI_CPU_FAMILY') == 'aarch64': + # LIBXSMM is not supported on ARM with GCC 12.2.0 and 12.3.0 + # See https://www.cp2k.org/dev:compiler_support + # See https://github.com/easybuilders/easybuild-easyconfigs/pull/20951 + # we need this hook because we check for missing installations for all CPU targets + # on an x86_64 VM in GitHub Actions (so condition based on ARCH in LAMMPS easyconfig is always true) + ec['dependencies'] = [dep for dep in ec['dependencies'] if dep[0] not in ('libxsmm',)] + else: + raise EasyBuildError("CP2K-specific hook triggered for non-CP2K easyconfig?!")] + + def pre_prepare_hook_highway_handle_test_compilation_issues(self, *args, **kwargs): """ Solve issues with compiling or running the tests on both @@ -693,6 +709,7 @@ def inject_gpu_property(ec): 'CGAL': parse_hook_cgal_toolchainopts_precise, 'fontconfig': parse_hook_fontconfig_add_fonts, 'LAMMPS': parse_hook_lammps_remove_deps_for_CI_aarch64, + 'CP2K': parse_hook_CP2K_remove_deps_for_aarch64, 'OpenBLAS': parse_hook_openblas_relax_lapack_tests_num_errors, 'pybind11': parse_hook_pybind11_replace_catch2, 'Qt5': parse_hook_qt5_check_qtwebengine_disable, From 95dd8a02239cbff967a3a5e51e3186398693bfed Mon Sep 17 00:00:00 2001 From: lara Date: Wed, 3 Jul 2024 12:56:06 +0200 Subject: [PATCH 09/39] fix CP2K hook --- eb_hooks.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eb_hooks.py b/eb_hooks.py index b4862cb572..4dc39c2fe8 100644 --- a/eb_hooks.py +++ b/eb_hooks.py @@ -307,7 +307,7 @@ def parse_hook_CP2K_remove_deps_for_aarch64(ec, *args, **kwargs): # on an x86_64 VM in GitHub Actions (so condition based on ARCH in LAMMPS easyconfig is always true) ec['dependencies'] = [dep for dep in ec['dependencies'] if dep[0] not in ('libxsmm',)] else: - raise EasyBuildError("CP2K-specific hook triggered for non-CP2K easyconfig?!")] + raise EasyBuildError("CP2K-specific hook triggered for non-CP2K easyconfig?!") def pre_prepare_hook_highway_handle_test_compilation_issues(self, *args, **kwargs): From 085e32a603842363607eeb10743f1f20107afd27 Mon Sep 17 00:00:00 2001 From: ocaisa Date: Sat, 6 Jul 2024 12:10:46 +0200 Subject: [PATCH 10/39] {2023.06}[foss/2023a] Extrae 4.2.0 Alternative to #554 --- .../2023.06/eessi-2023.06-eb-4.9.2-2023b.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.2-2023b.yml b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.2-2023b.yml index 38bfa81142..fd26743499 100644 --- a/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.2-2023b.yml +++ b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.2-2023b.yml @@ -1,3 +1,7 @@ easyconfigs: - IPython-8.17.2-GCCcore-13.2.0.eb - dlb-3.4-gompi-2023b.eb + - Extrae-4.2.0-gompi-2023b.eb: + options: + from-pr: 20690 + include-easyblocks-from-pr: 3339 From 7cb667929694c8a330a5e3f4921ea97e258f933a Mon Sep 17 00:00:00 2001 From: Alan O'Cais Date: Sun, 7 Jul 2024 12:56:29 +0200 Subject: [PATCH 11/39] Re-add hook from #554 but keep running tests --- eb_hooks.py | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/eb_hooks.py b/eb_hooks.py index e6f0cf0dd2..42b230c006 100644 --- a/eb_hooks.py +++ b/eb_hooks.py @@ -1,5 +1,6 @@ # Hooks to customize how EasyBuild installs software in EESSI # see https://docs.easybuild.io/en/latest/Hooks.html +import glob import os import re @@ -353,6 +354,31 @@ def pre_configure_hook_BLIS_a64fx(self, *args, **kwargs): else: raise EasyBuildError("BLIS-specific hook triggered for non-BLIS easyconfig?!") +def pre_configure_hook_extrae(self, *args, **kwargs): + """ + Pre-configure hook for Extrae + - avoid use of 'which' in configure script + - specify correct path to binutils (in compat layer) + """ + if self.name == 'Extrae': + + # determine path to Prefix installation in compat layer via $EPREFIX + eprefix = get_eessi_envvar('EPREFIX') + + binutils_lib_path_glob_pattern = os.path.join(eprefix, 'usr', 'lib*', 'binutils', '*-pc-linux-gnu', '2.*') + binutils_lib_path = glob.glob(binutils_lib_path_glob_pattern) + if len(binutils_lib_path) == 1: + self.cfg.update('configopts', '--with-binutils=' + binutils_lib_path[0]) + else: + raise EasyBuildError("Failed to isolate path for binutils libraries using %s, got %s", + binutils_lib_path_glob_pattern, binutils_lib_path) + + # replace use of 'which' with 'command -v', since 'which' is broken in EESSI build container; + # this must be done *after* running configure script, because initial configuration re-writes configure script, + # and problem due to use of which only pops up when running make ?! + self.cfg.update('prebuildopts', "cp config/mpi-macros.m4 config/mpi-macros.m4.orig && sed -i 's/`which /`command -v /g' config/mpi-macros.m4 && ") + else: + raise EasyBuildError("Extrae-specific hook triggered for non-Extrae easyconfig?!") def pre_configure_hook_gromacs(self, *args, **kwargs): """ @@ -711,6 +737,7 @@ def inject_gpu_property(ec): PRE_CONFIGURE_HOOKS = { 'at-spi2-core': pre_configure_hook_atspi2core_filter_ld_library_path, 'BLIS': pre_configure_hook_BLIS_a64fx, + 'Extrae': pre_configure_hook_extrae, 'GROMACS': pre_configure_hook_gromacs, 'libfabric': pre_configure_hook_libfabric_disable_psm3_x86_64_generic, 'MetaBAT': pre_configure_hook_metabat_filtered_zlib_dep, From d6d5a2bb5c2eead7cd931ea307ea4cd3b44bf9db Mon Sep 17 00:00:00 2001 From: Helena Vela Beltran <47674829+hvelab@users.noreply.github.com> Date: Mon, 8 Jul 2024 17:18:02 +0200 Subject: [PATCH 12/39] Update init/eessi_environment_variables Add bigger comment Co-authored-by: ocaisa --- init/eessi_environment_variables | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/init/eessi_environment_variables b/init/eessi_environment_variables index f5bb387955..9417d5b2a2 100644 --- a/init/eessi_environment_variables +++ b/init/eessi_environment_variables @@ -106,15 +106,15 @@ if [ -d $EESSI_PREFIX ]; then false fi - # Fix wrong path for RHEL >=8 libcurl - # This is required here because we ship curl in our compat layer. If we only provided - # curl as a module file we could instead do this via a `modluafooter` in an EasyBuild - # hook (or via an Lmod hook) - rhel_libcurl_file="/etc/pki/tls/certs/ca-bundle.crt" - if [ -f $rhel_libcurl_file ]; then - show_msg "Found libcurl CAs file at RHEL location, setting CURL_CA_BUNDLE" - export CURL_CA_BUNDLE=$rhel_libcurl_file - fi + # Fix wrong path for RHEL >=8 libcurl + # This is required here because we ship curl in our compat layer. If we only provided + # curl as a module file we could instead do this via a `modluafooter` in an EasyBuild + # hook (or via an Lmod hook) + rhel_libcurl_file="/etc/pki/tls/certs/ca-bundle.crt" + if [ -f $rhel_libcurl_file ]; then + show_msg "Found libcurl CAs file at RHEL location, setting CURL_CA_BUNDLE" + export CURL_CA_BUNDLE=$rhel_libcurl_file + fi else error "EESSI software layer at $EESSI_SOFTWARE_PATH not found!" From 0fef63a6ce712956e04b9cb007c21565d624f1fa Mon Sep 17 00:00:00 2001 From: ocaisa Date: Tue, 9 Jul 2024 00:15:40 +0200 Subject: [PATCH 13/39] Update eb_hooks.py --- eb_hooks.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eb_hooks.py b/eb_hooks.py index 42b230c006..f43b695266 100644 --- a/eb_hooks.py +++ b/eb_hooks.py @@ -365,7 +365,7 @@ def pre_configure_hook_extrae(self, *args, **kwargs): # determine path to Prefix installation in compat layer via $EPREFIX eprefix = get_eessi_envvar('EPREFIX') - binutils_lib_path_glob_pattern = os.path.join(eprefix, 'usr', 'lib*', 'binutils', '*-pc-linux-gnu', '2.*') + binutils_lib_path_glob_pattern = os.path.join(eprefix, 'usr', 'lib*', 'binutils', '*-linux-gnu', '2.*') binutils_lib_path = glob.glob(binutils_lib_path_glob_pattern) if len(binutils_lib_path) == 1: self.cfg.update('configopts', '--with-binutils=' + binutils_lib_path[0]) From 28eabaaefcde5b112b60e8c94f46494ab7b0944e Mon Sep 17 00:00:00 2001 From: Xin An Date: Fri, 12 Jul 2024 12:11:19 +0200 Subject: [PATCH 14/39] {2023.06}[gfbf/2023b] Pystencils 1.3.4 --- .../software.eessi.io/2023.06/eessi-2023.06-eb-4.9.0-2023b.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.0-2023b.yml b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.0-2023b.yml index 15c02951d7..3963f79ecd 100644 --- a/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.0-2023b.yml +++ b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.0-2023b.yml @@ -58,3 +58,4 @@ easyconfigs: options: from-pr: 20201 - OSU-Micro-Benchmarks-7.2-gompi-2023b.eb + - pystencils-1.3.4-gfbf-2023b.eb From 2ca3684b845165425af638daaea27897fd1cbe7e Mon Sep 17 00:00:00 2001 From: Xin An <34663977+xinan1911@users.noreply.github.com> Date: Fri, 12 Jul 2024 14:29:19 +0200 Subject: [PATCH 15/39] Update easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.0-2023b.yml MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Bob Dröge --- .../2023.06/eessi-2023.06-eb-4.9.0-2023b.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.0-2023b.yml b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.0-2023b.yml index 3963f79ecd..8d9779c59c 100644 --- a/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.0-2023b.yml +++ b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.0-2023b.yml @@ -58,4 +58,7 @@ easyconfigs: options: from-pr: 20201 - OSU-Micro-Benchmarks-7.2-gompi-2023b.eb - - pystencils-1.3.4-gfbf-2023b.eb + - pystencils-1.3.4-gfbf-2023b.eb: + options: + # see https://github.com/easybuilders/easybuild-easyconfigs/pull/20889 + from-commit: c66c4788a17f7e4f55aa23f9fdb782aad97c9ce7 From 641288af0c2bc1d1e35d411815465abdeb8a1ddc Mon Sep 17 00:00:00 2001 From: Xin An <34663977+xinan1911@users.noreply.github.com> Date: Fri, 12 Jul 2024 16:08:14 +0200 Subject: [PATCH 16/39] Update eessi-2023.06-eb-4.9.0-2023b.yml Remove pystencils --- .../2023.06/eessi-2023.06-eb-4.9.0-2023b.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.0-2023b.yml b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.0-2023b.yml index 8d9779c59c..15c02951d7 100644 --- a/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.0-2023b.yml +++ b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.0-2023b.yml @@ -58,7 +58,3 @@ easyconfigs: options: from-pr: 20201 - OSU-Micro-Benchmarks-7.2-gompi-2023b.eb - - pystencils-1.3.4-gfbf-2023b.eb: - options: - # see https://github.com/easybuilders/easybuild-easyconfigs/pull/20889 - from-commit: c66c4788a17f7e4f55aa23f9fdb782aad97c9ce7 From bb8b4aa1442c032b88d6cacc94b2d8f42cce3721 Mon Sep 17 00:00:00 2001 From: Xin An <34663977+xinan1911@users.noreply.github.com> Date: Fri, 12 Jul 2024 16:10:02 +0200 Subject: [PATCH 17/39] add pystencils update eessi-2023.06-eb-4.9.2-2023b --- .../2023.06/eessi-2023.06-eb-4.9.2-2023b.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.2-2023b.yml b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.2-2023b.yml index 38bfa81142..e0057f18ab 100644 --- a/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.2-2023b.yml +++ b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.2-2023b.yml @@ -1,3 +1,7 @@ easyconfigs: - IPython-8.17.2-GCCcore-13.2.0.eb - dlb-3.4-gompi-2023b.eb + - pystencils-1.3.4-gfbf-2023b.eb: + options: + # see https://github.com/easybuilders/easybuild-easyconfigs/pull/20889 + from-commit: c66c4788a17f7e4f55aa23f9fdb782aad97c9ce7 From f204afa5d804dee715476ac3d2a96e8e69fa6842 Mon Sep 17 00:00:00 2001 From: crivella Date: Mon, 15 Jul 2024 10:47:34 +0200 Subject: [PATCH 18/39] Add MetalWalls to easystack file --- .../software.eessi.io/2023.06/eessi-2023.06-eb-4.9.0-2023a.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.0-2023a.yml b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.0-2023a.yml index 4b58cb6106..0cdbd4b5b3 100644 --- a/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.0-2023a.yml +++ b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.0-2023a.yml @@ -74,3 +74,4 @@ easyconfigs: options: # see https://github.com/easybuilders/easybuild-easyconfigs/pull/20238 from-pr: 20238 + - MetalWalls-21.06.1-foss-2023a.eb From 58fb56f2a8f2fb11d5df2b8332388ace82eda993 Mon Sep 17 00:00:00 2001 From: crivella Date: Tue, 16 Jul 2024 14:41:39 +0200 Subject: [PATCH 19/39] Switch target to EB 4.9.2 --- .../software.eessi.io/2023.06/eessi-2023.06-eb-4.9.0-2023a.yml | 1 - .../software.eessi.io/2023.06/eessi-2023.06-eb-4.9.2-2023a.yml | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.0-2023a.yml b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.0-2023a.yml index 0cdbd4b5b3..4b58cb6106 100644 --- a/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.0-2023a.yml +++ b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.0-2023a.yml @@ -74,4 +74,3 @@ easyconfigs: options: # see https://github.com/easybuilders/easybuild-easyconfigs/pull/20238 from-pr: 20238 - - MetalWalls-21.06.1-foss-2023a.eb diff --git a/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.2-2023a.yml b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.2-2023a.yml index 34ec3257e8..e7730d1eb6 100644 --- a/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.2-2023a.yml +++ b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.2-2023a.yml @@ -15,3 +15,4 @@ easyconfigs: - LSD2-2.4.1-GCCcore-12.3.0.eb - MAFFT-7.520-GCC-12.3.0-with-extensions.eb - ncbi-vdb-3.0.10-gompi-2023a.eb + - MetalWalls-21.06.1-foss-2023a.eb From a7a895408c9b194cd8aeff27dd5f17f54a5fc514 Mon Sep 17 00:00:00 2001 From: Alan O'Cais Date: Wed, 17 Jul 2024 13:45:39 +0200 Subject: [PATCH 20/39] Move changes to latest eb release --- .../2023.06/eessi-2023.06-eb-4.9.0-2023a.yml | 6 ------ .../2023.06/eessi-2023.06-eb-4.9.2-2023a.yml | 6 ++++++ 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.0-2023a.yml b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.0-2023a.yml index 428c1ac77f..4b58cb6106 100644 --- a/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.0-2023a.yml +++ b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.0-2023a.yml @@ -74,9 +74,3 @@ easyconfigs: options: # see https://github.com/easybuilders/easybuild-easyconfigs/pull/20238 from-pr: 20238 - - QuantumESPRESSO-7.3.1-foss-2023a.eb: - # see https://github.com/easybuilders/easybuild-easyconfigs/pull/20138 - # see https://github.com/easybuilders/easybuild-easyblocks/pull/3257 - options: - from-pr: 20138 - include-easyblocks-from-pr: 3257 diff --git a/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.2-2023a.yml b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.2-2023a.yml index e7730d1eb6..af69b288e8 100644 --- a/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.2-2023a.yml +++ b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.2-2023a.yml @@ -16,3 +16,9 @@ easyconfigs: - MAFFT-7.520-GCC-12.3.0-with-extensions.eb - ncbi-vdb-3.0.10-gompi-2023a.eb - MetalWalls-21.06.1-foss-2023a.eb + - QuantumESPRESSO-7.3.1-foss-2023a.eb: + # see https://github.com/easybuilders/easybuild-easyconfigs/pull/20138 + # see https://github.com/easybuilders/easybuild-easyblocks/pull/3338 + options: + from-pr: 20138 + include-easyblocks-from-pr: 3338 From 0ab0440e4ee990bbe76d7e8b7d0912701b21e8fa Mon Sep 17 00:00:00 2001 From: Alan O'Cais Date: Wed, 17 Jul 2024 14:00:00 +0200 Subject: [PATCH 21/39] Allow initialisation scripts to be used with bash < 4.2 --- init/bash | 2 +- init/eessi_defaults | 2 +- init/eessi_environment_variables | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/init/bash b/init/bash index 93471e075e..4ad09f6a1b 100644 --- a/init/bash +++ b/init/bash @@ -1,7 +1,7 @@ function show_msg { # only echo msg if EESSI_SILENT is unset msg=$1 - if [[ ! -v EESSI_SILENT ]]; then + if [[ -z ${EESSI_SILENT+x} ]]; then echo "$msg" fi } diff --git a/init/eessi_defaults b/init/eessi_defaults index c1ce82d1ce..654a829425 100644 --- a/init/eessi_defaults +++ b/init/eessi_defaults @@ -12,7 +12,7 @@ if [[ $(uname -m) == "riscv64" ]]; then export EESSI_CVMFS_REPO="${EESSI_CVMFS_REPO_OVERRIDE:=/cvmfs/riscv.eessi.io}" export EESSI_VERSION="${EESSI_VERSION_OVERRIDE:=20240402}" - if [[ ! -v EESSI_SILENT ]]; then + if [[ -z ${EESSI_SILENT+x} ]]; then echo "RISC-V architecture detected, but there is no RISC-V support yet in the production repository." echo "Automatically switching to version ${EESSI_VERSION} of the RISC-V development repository ${EESSI_CVMFS_REPO}." echo "For more details about this repository, see https://www.eessi.io/docs/repositories/riscv.eessi.io/." diff --git a/init/eessi_environment_variables b/init/eessi_environment_variables index 9417d5b2a2..3e35f845a1 100644 --- a/init/eessi_environment_variables +++ b/init/eessi_environment_variables @@ -10,7 +10,7 @@ function error() { function show_msg { # only echo msg if EESSI_SILENT is unset msg=$1 - if [[ ! -v EESSI_SILENT ]]; then + if [[ -z ${EESSI_SILENT+x} ]]; then echo "$msg" fi } From 5ff9d1660c736ddf88052035fa7a10a6ac7a33c1 Mon Sep 17 00:00:00 2001 From: Alan O'Cais Date: Thu, 18 Jul 2024 16:02:55 +0200 Subject: [PATCH 22/39] Fixes for ARM --- .../2023.06/eessi-2023.06-eb-4.9.2-2023b.yml | 4 ++-- eb_hooks.py | 5 ++++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.2-2023b.yml b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.2-2023b.yml index bc7bee302a..3f18d02db5 100644 --- a/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.2-2023b.yml +++ b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.2-2023b.yml @@ -7,5 +7,5 @@ easyconfigs: from-commit: c66c4788a17f7e4f55aa23f9fdb782aad97c9ce7 - Extrae-4.2.0-gompi-2023b.eb: options: - from-pr: 20690 - include-easyblocks-from-pr: 3339 + from-pr: 21017 + include-easyblocks-from-pr: 3393 diff --git a/eb_hooks.py b/eb_hooks.py index ec08e96847..73adce90f1 100644 --- a/eb_hooks.py +++ b/eb_hooks.py @@ -362,7 +362,7 @@ def pre_configure_hook_extrae(self, *args, **kwargs): """ Pre-configure hook for Extrae - avoid use of 'which' in configure script - - specify correct path to binutils (in compat layer) + - specify correct path to binutils/zlib (in compat layer) """ if self.name == 'Extrae': @@ -377,6 +377,9 @@ def pre_configure_hook_extrae(self, *args, **kwargs): raise EasyBuildError("Failed to isolate path for binutils libraries using %s, got %s", binutils_lib_path_glob_pattern, binutils_lib_path) + # zlib is a filtered dependency, so we need to manually specify it's location to avoid the host version + self.cfg.update('configopts', '--with-libz=' + eprefix) + # replace use of 'which' with 'command -v', since 'which' is broken in EESSI build container; # this must be done *after* running configure script, because initial configuration re-writes configure script, # and problem due to use of which only pops up when running make ?! From 192e494b56603dcead6b30c19e00064efe7b2769 Mon Sep 17 00:00:00 2001 From: ocaisa Date: Thu, 18 Jul 2024 16:59:47 +0200 Subject: [PATCH 23/39] Update easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.2-2023b.yml MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Bob Dröge --- .../2023.06/eessi-2023.06-eb-4.9.2-2023b.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.2-2023b.yml b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.2-2023b.yml index 3f18d02db5..f118e94adb 100644 --- a/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.2-2023b.yml +++ b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.2-2023b.yml @@ -7,5 +7,7 @@ easyconfigs: from-commit: c66c4788a17f7e4f55aa23f9fdb782aad97c9ce7 - Extrae-4.2.0-gompi-2023b.eb: options: - from-pr: 21017 - include-easyblocks-from-pr: 3393 + # see https://github.com/easybuilders/easybuild-easyconfigs/pull/21017 + from-commit: 120f4d56efebd2bc61382db4c84a664a339c66cf + # see https://github.com/easybuilders/easybuild-easyblocks/pull/3393 + include-easyblocks-from-commit: c4951c78d62fa5cf8e9f6fe0ead212d2a4d7cb9c From 8b350fd435924a18705d1869c0bc87be15d76465 Mon Sep 17 00:00:00 2001 From: ocaisa Date: Thu, 18 Jul 2024 18:02:08 +0200 Subject: [PATCH 24/39] Update eessi-2023.06-eb-4.9.2-2023a.yml --- .../software.eessi.io/2023.06/eessi-2023.06-eb-4.9.2-2023a.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.2-2023a.yml b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.2-2023a.yml index ed9896191b..f40d7d85e1 100644 --- a/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.2-2023a.yml +++ b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.2-2023a.yml @@ -19,4 +19,4 @@ easyconfigs: - CP2K-2023.1-foss-2023a.eb: # see https://github.com/easybuilders/easybuild-easyconfigs/pull/20951 options: - from-pr: 20951 \ No newline at end of file + from-pr: 20951 From c0bec39b3c0528f9bde6f91c853f08b75cee1796 Mon Sep 17 00:00:00 2001 From: ocaisa Date: Fri, 19 Jul 2024 09:28:03 +0200 Subject: [PATCH 25/39] Update easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.2-2023a.yml MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Bob Dröge --- .../2023.06/eessi-2023.06-eb-4.9.2-2023a.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.2-2023a.yml b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.2-2023a.yml index f40d7d85e1..bd6c767260 100644 --- a/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.2-2023a.yml +++ b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.2-2023a.yml @@ -17,6 +17,6 @@ easyconfigs: - ncbi-vdb-3.0.10-gompi-2023a.eb - MetalWalls-21.06.1-foss-2023a.eb - CP2K-2023.1-foss-2023a.eb: - # see https://github.com/easybuilders/easybuild-easyconfigs/pull/20951 options: - from-pr: 20951 + # see https://github.com/easybuilders/easybuild-easyconfigs/pull/20951 + from-commit: a92667fe32396bbd4106243658625f7ff2adcd68 From a61925fb430a0e1b1adaf22f8e7e7c81a782dadf Mon Sep 17 00:00:00 2001 From: ocaisa Date: Fri, 19 Jul 2024 09:34:19 +0200 Subject: [PATCH 26/39] Update easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.2-2023a.yml MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Bob Dröge --- .../2023.06/eessi-2023.06-eb-4.9.2-2023a.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.2-2023a.yml b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.2-2023a.yml index af69b288e8..67cc4bc155 100644 --- a/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.2-2023a.yml +++ b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.2-2023a.yml @@ -17,8 +17,8 @@ easyconfigs: - ncbi-vdb-3.0.10-gompi-2023a.eb - MetalWalls-21.06.1-foss-2023a.eb - QuantumESPRESSO-7.3.1-foss-2023a.eb: - # see https://github.com/easybuilders/easybuild-easyconfigs/pull/20138 - # see https://github.com/easybuilders/easybuild-easyblocks/pull/3338 options: - from-pr: 20138 - include-easyblocks-from-pr: 3338 + # see https://github.com/easybuilders/easybuild-easyconfigs/pull/20138 + from-commit: dbdaacc0739fdee91baa9123864ea4428cf21273 + # see https://github.com/easybuilders/easybuild-easyblocks/pull/3338 + include-easyblocks-from-commit: 32e45bd1f2d916732ca5852d55d17fa4d99e388b From 1660e048811192f8d072815963e960fdd9620828 Mon Sep 17 00:00:00 2001 From: ocaisa Date: Fri, 19 Jul 2024 09:49:39 +0200 Subject: [PATCH 27/39] Remove duplicate testing of PRs --- .github/workflows/test-software.eessi.io.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test-software.eessi.io.yml b/.github/workflows/test-software.eessi.io.yml index 06c02c8834..d4d980901f 100644 --- a/.github/workflows/test-software.eessi.io.yml +++ b/.github/workflows/test-software.eessi.io.yml @@ -1,6 +1,10 @@ # documentation: https://help.github.com/en/articles/workflow-syntax-for-github-actions name: Check for missing software installations in software.eessi.io -on: [push, pull_request, workflow_dispatch] +on: + push: + branches: [ "*-software.eessi.io" ] + pull_request: + workflow_dispatch: permissions: contents: read # to fetch code (actions/checkout) jobs: From 4d93a2d87b7289b12ab65daac9ddcc16e69a47ee Mon Sep 17 00:00:00 2001 From: Alan O'Cais Date: Fri, 19 Jul 2024 09:57:54 +0200 Subject: [PATCH 28/39] Restrict tests for all CI --- .github/workflows/scorecards.yml | 2 +- .github/workflows/test_eessi_container_script.yml | 6 +++++- .github/workflows/test_licenses.yml | 5 ++++- .github/workflows/tests.yml | 5 ++++- .github/workflows/tests_archdetect.yml | 5 ++++- .github/workflows/tests_init.yml | 5 ++++- 6 files changed, 22 insertions(+), 6 deletions(-) diff --git a/.github/workflows/scorecards.yml b/.github/workflows/scorecards.yml index 5b482763f2..91c2576b7d 100644 --- a/.github/workflows/scorecards.yml +++ b/.github/workflows/scorecards.yml @@ -10,7 +10,7 @@ on: - cron: '25 15 * * 3' push: branches: - - '2023.06-software.eessi.io' + - '*-software.eessi.io' # Declare default permissions as read only. permissions: read-all diff --git a/.github/workflows/test_eessi_container_script.yml b/.github/workflows/test_eessi_container_script.yml index d44788927f..fb587ec489 100644 --- a/.github/workflows/test_eessi_container_script.yml +++ b/.github/workflows/test_eessi_container_script.yml @@ -1,6 +1,10 @@ # documentation: https://help.github.com/en/articles/workflow-syntax-for-github-actions name: Tests for eessi_container.sh script -on: [push, pull_request, workflow_dispatch] +on: + push: + branches: [ "*-software.eessi.io" ] + pull_request: + workflow_dispatch: permissions: contents: read # to fetch code (actions/checkout) jobs: diff --git a/.github/workflows/test_licenses.yml b/.github/workflows/test_licenses.yml index 6b6387d47d..bf6965c620 100644 --- a/.github/workflows/test_licenses.yml +++ b/.github/workflows/test_licenses.yml @@ -1,6 +1,9 @@ # documentation: https://help.github.com/en/articles/workflow-syntax-for-github-actions name: Test software licenses -on: [push, pull_request] +on: + push: + branches: [ "*-software.eessi.io" ] + pull_request: permissions: contents: read # to fetch code (actions/checkout) jobs: diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 8249e50d9b..940614b6bb 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -1,6 +1,9 @@ # documentation: https://help.github.com/en/articles/workflow-syntax-for-github-actions name: Tests -on: [push, pull_request] +on: + push: + branches: [ "*-software.eessi.io" ] + pull_request: permissions: contents: read # to fetch code (actions/checkout) jobs: diff --git a/.github/workflows/tests_archdetect.yml b/.github/workflows/tests_archdetect.yml index 4f5d3d174d..f5b42b3d55 100644 --- a/.github/workflows/tests_archdetect.yml +++ b/.github/workflows/tests_archdetect.yml @@ -1,6 +1,9 @@ # documentation: https://help.github.com/en/articles/workflow-syntax-for-github-actions name: Tests for eessi_archdetect.sh -on: [push, pull_request] +on: + push: + branches: [ "*-software.eessi.io" ] + pull_request: permissions: contents: read # to fetch code (actions/checkout) jobs: diff --git a/.github/workflows/tests_init.yml b/.github/workflows/tests_init.yml index 6c356a9184..8581681d63 100644 --- a/.github/workflows/tests_init.yml +++ b/.github/workflows/tests_init.yml @@ -1,6 +1,9 @@ # documentation: https://help.github.com/en/articles/workflow-syntax-for-github-actions name: Tests for init scripts -on: [push, pull_request] +on: + push: + branches: [ "*-software.eessi.io" ] + pull_request: permissions: contents: read # to fetch code (actions/checkout) jobs: From 8a2eca3cf3c949cff5fb1f61e1a3ef4e6d2cdfd2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= Date: Fri, 19 Jul 2024 12:06:20 +0200 Subject: [PATCH 29/39] add a hook for GObject-Introspection that prevents environment vars from being set if EB filters them --- eb_hooks.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/eb_hooks.py b/eb_hooks.py index 73adce90f1..deea409cf4 100644 --- a/eb_hooks.py +++ b/eb_hooks.py @@ -387,6 +387,24 @@ def pre_configure_hook_extrae(self, *args, **kwargs): else: raise EasyBuildError("Extrae-specific hook triggered for non-Extrae easyconfig?!") + +def pre_configure_hook_gobject_introspection(self, *args, **kwargs): + """ + pre-configure hook for GObject-Introspection: + - prevent GObject-Introspection from setting $LD_LIBRARY_PATH if Easybuild is configured to filter it + that are configured to be filtered by EasyBuild, see: + https://github.com/EESSI/software-layer/issues/196 + """ + if self.name == 'GObject-Introspection': + # inject a line that removes all items from runtime_path_envvar that are in $EASYBUILD_FILTER_ENVVARS + sed_cmd = r'sed -i "s@\(^\s*runtime_path_envvar = \)\(.*\)@' + sed_cmd += r'\1\2\n\1 [x for x in runtime_path_envvar if not x in os.environ.get(\'EASYBUILD_FILTER_ENV_VARS\', \'\').split(\',\')]@g"' + sed_cmd += ' %(start_dir)s/giscanner/ccompiler.py && ' + self.cfg.update('preconfigopts', sed_cmd) + else: + raise EasyBuildError("GObject-Introspection-specific hook triggered for non-GObject-Introspection easyconfig?!") + + def pre_configure_hook_gromacs(self, *args, **kwargs): """ Pre-configure hook for GROMACS: @@ -744,6 +762,7 @@ def inject_gpu_property(ec): PRE_CONFIGURE_HOOKS = { 'at-spi2-core': pre_configure_hook_atspi2core_filter_ld_library_path, 'BLIS': pre_configure_hook_BLIS_a64fx, + 'GObject-Introspection': pre_configure_hook_gobject_introspection, 'Extrae': pre_configure_hook_extrae, 'GROMACS': pre_configure_hook_gromacs, 'libfabric': pre_configure_hook_libfabric_disable_psm3_x86_64_generic, From 62c1f7d000473bd53a60fa7d814dcccf11978524 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= Date: Fri, 19 Jul 2024 13:45:42 +0200 Subject: [PATCH 30/39] rebuild all GObject-Introspection versions to apply new hook --- ...eb-4.9.2-GObject-Introspection-filter-envvars.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 easystacks/software.eessi.io/2023.06/rebuilds/20240719-eb-4.9.2-GObject-Introspection-filter-envvars.yml diff --git a/easystacks/software.eessi.io/2023.06/rebuilds/20240719-eb-4.9.2-GObject-Introspection-filter-envvars.yml b/easystacks/software.eessi.io/2023.06/rebuilds/20240719-eb-4.9.2-GObject-Introspection-filter-envvars.yml new file mode 100644 index 0000000000..676a2fe548 --- /dev/null +++ b/easystacks/software.eessi.io/2023.06/rebuilds/20240719-eb-4.9.2-GObject-Introspection-filter-envvars.yml @@ -0,0 +1,12 @@ +# 2024.07.19 +# GObject-Introspection sets $LD_LIBRARY_PATH (to many different paths, including $EPREFIX/lib) +# when calling gcc, and this causes a lot of issues for, especially, scripts using /bin/bash. +# +# This rebuild ensures (by using a new EasyBuild hook) that GObject-Introspection will not set +# environment variables that are configured to be filtered by EasyBuild. +# +# See https://github.com/EESSI/software-layer/issues/196 +easyconfigs: + - GObject-Introspection-1.74.0-GCCcore-12.2.0.eb + - GObject-Introspection-1.76.1-GCCcore-12.3.0.eb + - GObject-Introspection-1.78.1-GCCcore-13.2.0.eb From 6277bc382003651012a8196bc7667ae1a3371704 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= Date: Fri, 19 Jul 2024 13:58:53 +0200 Subject: [PATCH 31/39] fix comment Co-authored-by: ocaisa --- eb_hooks.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/eb_hooks.py b/eb_hooks.py index deea409cf4..aa9bde383a 100644 --- a/eb_hooks.py +++ b/eb_hooks.py @@ -391,8 +391,7 @@ def pre_configure_hook_extrae(self, *args, **kwargs): def pre_configure_hook_gobject_introspection(self, *args, **kwargs): """ pre-configure hook for GObject-Introspection: - - prevent GObject-Introspection from setting $LD_LIBRARY_PATH if Easybuild is configured to filter it - that are configured to be filtered by EasyBuild, see: + - prevent GObject-Introspection from setting $LD_LIBRARY_PATH if EasyBuild is configured to filter it, see: https://github.com/EESSI/software-layer/issues/196 """ if self.name == 'GObject-Introspection': From 5593999aa6acfaef2d235abc987a908643109cff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= Date: Fri, 19 Jul 2024 14:39:10 +0200 Subject: [PATCH 32/39] remove the at-spi2-core hook --- eb_hooks.py | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/eb_hooks.py b/eb_hooks.py index deea409cf4..00d26df37b 100644 --- a/eb_hooks.py +++ b/eb_hooks.py @@ -486,21 +486,6 @@ def pre_configure_hook_wrf_aarch64(self, *args, **kwargs): raise EasyBuildError("WRF-specific hook triggered for non-WRF easyconfig?!") -def pre_configure_hook_atspi2core_filter_ld_library_path(self, *args, **kwargs): - """ - pre-configure hook for at-spi2-core: - - instruct GObject-Introspection's g-ir-scanner tool to not set $LD_LIBRARY_PATH - when EasyBuild is configured to filter it, see: - https://github.com/EESSI/software-layer/issues/196 - """ - if self.name == 'at-spi2-core': - if build_option('filter_env_vars') and 'LD_LIBRARY_PATH' in build_option('filter_env_vars'): - sed_cmd = 'sed -i "s/gir_extra_args = \[/gir_extra_args = \[\\n \'--lib-dirs-envvar=FILTER_LD_LIBRARY_PATH\',/g" %(start_dir)s/atspi/meson.build && ' - self.cfg.update('preconfigopts', sed_cmd) - else: - raise EasyBuildError("at-spi2-core-specific hook triggered for non-at-spi2-core easyconfig?!") - - def pre_test_hook(self,*args, **kwargs): """Main pre-test hook: trigger custom functions based on software name.""" if self.name in PRE_TEST_HOOKS: @@ -760,7 +745,6 @@ def inject_gpu_property(ec): } PRE_CONFIGURE_HOOKS = { - 'at-spi2-core': pre_configure_hook_atspi2core_filter_ld_library_path, 'BLIS': pre_configure_hook_BLIS_a64fx, 'GObject-Introspection': pre_configure_hook_gobject_introspection, 'Extrae': pre_configure_hook_extrae, From 46a9c85149e1a9ff29bc8da9c322eda639c7f923 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= Date: Fri, 19 Jul 2024 14:39:34 +0200 Subject: [PATCH 33/39] rebuild at-spi2-core with the rebuilt GObject-Introspection --- .../20240719-eb-4.9.2-GObject-Introspection-filter-envvars.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/easystacks/software.eessi.io/2023.06/rebuilds/20240719-eb-4.9.2-GObject-Introspection-filter-envvars.yml b/easystacks/software.eessi.io/2023.06/rebuilds/20240719-eb-4.9.2-GObject-Introspection-filter-envvars.yml index 676a2fe548..a61cd9705b 100644 --- a/easystacks/software.eessi.io/2023.06/rebuilds/20240719-eb-4.9.2-GObject-Introspection-filter-envvars.yml +++ b/easystacks/software.eessi.io/2023.06/rebuilds/20240719-eb-4.9.2-GObject-Introspection-filter-envvars.yml @@ -10,3 +10,5 @@ easyconfigs: - GObject-Introspection-1.74.0-GCCcore-12.2.0.eb - GObject-Introspection-1.76.1-GCCcore-12.3.0.eb - GObject-Introspection-1.78.1-GCCcore-13.2.0.eb + - at-spi2-core-2.46.0-GCCcore-12.2.0.eb + - at-spi2-core-2.49.91-GCCcore-12.3.0.eb From bd328a2c357a4f1fe998d4b922363abe4461b904 Mon Sep 17 00:00:00 2001 From: Alan O'Cais Date: Fri, 19 Jul 2024 15:03:34 +0200 Subject: [PATCH 34/39] Use instead of (CentOS6) --- init/eessi_archdetect.sh | 2 +- init/eessi_environment_variables | 2 +- init/minimal_eessi_env | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/init/eessi_archdetect.sh b/init/eessi_archdetect.sh index e89bc75e13..ddfed1bfae 100755 --- a/init/eessi_archdetect.sh +++ b/init/eessi_archdetect.sh @@ -89,7 +89,7 @@ cpupath(){ *) log "ERROR" "cpupath: Unsupported CPU architecture $machine_type" esac # spec files are located in a subfolder with this script - local base_dir=$(dirname $(realpath $0)) + local base_dir=$(dirname $(readlink -f $0)) update_arch_specs "$base_dir/arch_specs/${spec_file}" # Identify the host CPU vendor diff --git a/init/eessi_environment_variables b/init/eessi_environment_variables index 3e35f845a1..8c10b1fca8 100644 --- a/init/eessi_environment_variables +++ b/init/eessi_environment_variables @@ -1,6 +1,6 @@ # this script is *sourced*, not executed, so can't rely on $0 to determine path to self # $BASH_SOURCE points to correct path, see also http://mywiki.wooledge.org/BashFAQ/028 -EESSI_INIT_DIR_PATH=$(dirname $(realpath $BASH_SOURCE)) +EESSI_INIT_DIR_PATH=$(dirname $(readlink -f $BASH_SOURCE)) function error() { echo -e "\e[31mERROR: $1\e[0m" >&2 diff --git a/init/minimal_eessi_env b/init/minimal_eessi_env index 03b337ccf7..5273f27862 100644 --- a/init/minimal_eessi_env +++ b/init/minimal_eessi_env @@ -2,7 +2,7 @@ # # this script is *sourced*, not executed, so can't rely on $0 to determine path to self # $BASH_SOURCE points to correct path, see also http://mywiki.wooledge.org/BashFAQ/028 -EESSI_INIT_DIR_PATH=$(dirname $(realpath $BASH_SOURCE)) +EESSI_INIT_DIR_PATH=$(dirname $(readlink -f $BASH_SOURCE)) # set up defaults: EESSI_CVMFS_REPO, EESSI_VERSION # script takes *_OVERRIDEs into account From 20eafc70aec97f46f311b27fe9b44b845964f723 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= Date: Fri, 19 Jul 2024 15:30:35 +0200 Subject: [PATCH 35/39] rebuild GObject-Introspection for zen4 --- ....9.2-GObject-Introspection-filter-envvars-zen4.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 easystacks/software.eessi.io/2023.06/rebuilds/20240719-eb-4.9.2-GObject-Introspection-filter-envvars-zen4.yml diff --git a/easystacks/software.eessi.io/2023.06/rebuilds/20240719-eb-4.9.2-GObject-Introspection-filter-envvars-zen4.yml b/easystacks/software.eessi.io/2023.06/rebuilds/20240719-eb-4.9.2-GObject-Introspection-filter-envvars-zen4.yml new file mode 100644 index 0000000000..2c9b411736 --- /dev/null +++ b/easystacks/software.eessi.io/2023.06/rebuilds/20240719-eb-4.9.2-GObject-Introspection-filter-envvars-zen4.yml @@ -0,0 +1,11 @@ +# 2024.07.19 +# GObject-Introspection sets $LD_LIBRARY_PATH (to many different paths, including $EPREFIX/lib) +# when calling gcc, and this causes a lot of issues for, especially, scripts using /bin/bash. +# +# This rebuild ensures (by using a new EasyBuild hook) that GObject-Introspection will not set +# environment variables that are configured to be filtered by EasyBuild. +# +# See https://github.com/EESSI/software-layer/issues/196 +easyconfigs: + - GObject-Introspection-1.76.1-GCCcore-12.3.0.eb + - GObject-Introspection-1.78.1-GCCcore-13.2.0.eb From 55a32613d3f6c4a295186cd93e33234e88146e48 Mon Sep 17 00:00:00 2001 From: Richard Top Date: Mon, 22 Jul 2024 13:54:55 +0000 Subject: [PATCH 36/39] {2023.06}[gompi/2022b] BLAST+ V2.14.0 --- .../2023.06/eessi-2023.06-eb-4.9.2-2022b.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.2-2022b.yml diff --git a/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.2-2022b.yml b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.2-2022b.yml new file mode 100644 index 0000000000..ce28312e8c --- /dev/null +++ b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.2-2022b.yml @@ -0,0 +1,4 @@ +easyconfigs: + - BLAST+-2.14.0-gompi-2022b.eb: + options: + from-commit: 1775912a1d36101d560e1355967732b07e82cd24 From 808a9032f942d1a88108a0b7d7067498b7e6e2d5 Mon Sep 17 00:00:00 2001 From: Alan O'Cais Date: Tue, 23 Jul 2024 10:09:09 +0200 Subject: [PATCH 37/39] {2023.06}[gompi/2023a] amdahl 0.3.1 --- .../software.eessi.io/2023.06/eessi-2023.06-eb-4.9.2-2023a.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.2-2023a.yml b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.2-2023a.yml index 7e9f4ff05a..d405d17193 100644 --- a/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.2-2023a.yml +++ b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.2-2023a.yml @@ -26,3 +26,4 @@ easyconfigs: options: # see https://github.com/easybuilders/easybuild-easyconfigs/pull/20951 from-commit: a92667fe32396bbd4106243658625f7ff2adcd68 + - amdahl-0.3.1-gompi-2023a.eb From 7d06f13fa83c7774d74ca9a09499ee34f7f1b17b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= Date: Tue, 23 Jul 2024 15:56:21 +0200 Subject: [PATCH 38/39] add pyMBE 0.8.0 --- .../2023.06/eessi-2023.06-eb-4.9.2-2023b.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.2-2023b.yml b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.2-2023b.yml index f118e94adb..883483f5d2 100644 --- a/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.2-2023b.yml +++ b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.2-2023b.yml @@ -11,3 +11,7 @@ easyconfigs: from-commit: 120f4d56efebd2bc61382db4c84a664a339c66cf # see https://github.com/easybuilders/easybuild-easyblocks/pull/3393 include-easyblocks-from-commit: c4951c78d62fa5cf8e9f6fe0ead212d2a4d7cb9c + - pyMBE-0.8.0-foss-2023b.eb: + options: + # see https://github.com/easybuilders/easybuild-easyconfigs/pull/21034 + from-commit: 76e7fc6657bab64bfbec826540a3a8f0040258f2 From c0c784efbcb98389d6c61c43b2442dd07a981703 Mon Sep 17 00:00:00 2001 From: TopRichard <121792457+TopRichard@users.noreply.github.com> Date: Fri, 26 Jul 2024 18:25:45 +0200 Subject: [PATCH 39/39] Update eessi-2023.06-eb-4.9.2-2022b.yml --- .../2023.06/eessi-2023.06-eb-4.9.2-2022b.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.2-2022b.yml b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.2-2022b.yml index ce28312e8c..7a04eaa9d3 100644 --- a/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.2-2022b.yml +++ b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.2-2022b.yml @@ -1,4 +1,2 @@ easyconfigs: - - BLAST+-2.14.0-gompi-2022b.eb: - options: - from-commit: 1775912a1d36101d560e1355967732b07e82cd24 + - BLAST+-2.14.0-gompi-2022b.eb