From 4ff374a2017790661264e57540df782e6d9fa3e9 Mon Sep 17 00:00:00 2001 From: crivella Date: Thu, 30 Apr 2026 14:58:16 +0200 Subject: [PATCH 1/3] Use `self.cfg.dependencies()` instead of `self.toolchain.dependencies` --- easybuild/framework/easyblock.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/framework/easyblock.py b/easybuild/framework/easyblock.py index 04b10406d4..a994056f76 100644 --- a/easybuild/framework/easyblock.py +++ b/easybuild/framework/easyblock.py @@ -1461,7 +1461,7 @@ def make_module_dep(self, unload_info=None): # include load/unload statements for dependencies deps = [] self.log.debug("List of deps considered to load in generated module: %s", self.toolchain.dependencies) - for dep in self.toolchain.dependencies: + for dep in self.cfg.dependencies(): if dep['build_only']: self.log.debug("Skipping build dependency %s", dep) else: From 16407b2d4fe57b25c5ecb42dda2c795f7e011fdc Mon Sep 17 00:00:00 2001 From: crivella Date: Thu, 30 Apr 2026 16:33:48 +0200 Subject: [PATCH 2/3] Add creation of mock dependencies module files --- test/framework/easyconfig.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/test/framework/easyconfig.py b/test/framework/easyconfig.py index e08465e05c..b14eb1afca 100644 --- a/test/framework/easyconfig.py +++ b/test/framework/easyconfig.py @@ -581,6 +581,12 @@ def test_extensions_templates(self): toy_patch = os.path.join(self.test_sourcepath, 'toy', toy_patch_fn) copy_file(toy_patch, self.test_prefix) + # Creates empty module files for expected dependencies, needed for `load_fake_module` + tmpdir = tempfile.mkdtemp() + for dep_mod_name in ('Python/3.6.6', ): + write_file(os.path.join(tmpdir, dep_mod_name), "#%Module") + os.environ['MODULEPATH'] = tmpdir + os.environ['EASYBUILD_SOURCEPATH'] = self.test_prefix init_config(build_options={'silent': True}) @@ -592,6 +598,7 @@ def test_extensions_templates(self): 'homepage = "http://example.com"', 'description = "test easyconfig"', 'toolchain = SYSTEM', + # Needed to resolve %(pymajver)s template in exts_list 'dependencies = [("Python", "3.6.6")]', # bogus, but useful to check whether this get resolved 'exts_default_options = {"source_urls": [PYPI_SOURCE]}', From 1cef48978757e36bede798ba3f6cb0b20a8e7306 Mon Sep 17 00:00:00 2001 From: Davide Grassano <34096612+Crivella@users.noreply.github.com> Date: Wed, 22 Jul 2026 10:15:36 +0200 Subject: [PATCH 3/3] Apply suggestion from @Flamefire Co-authored-by: Alexander Grund --- easybuild/framework/easyblock.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/framework/easyblock.py b/easybuild/framework/easyblock.py index a994056f76..18235fa0b5 100644 --- a/easybuild/framework/easyblock.py +++ b/easybuild/framework/easyblock.py @@ -1460,7 +1460,7 @@ def make_module_dep(self, unload_info=None): # include load/unload statements for dependencies deps = [] - self.log.debug("List of deps considered to load in generated module: %s", self.toolchain.dependencies) + self.log.debug("List of deps considered to load in generated module: %s", self.cfg.dependencies()) for dep in self.cfg.dependencies(): if dep['build_only']: self.log.debug("Skipping build dependency %s", dep)