Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions easybuild/easyblocks/generic/bundle.py
Original file line number Diff line number Diff line change
Expand Up @@ -334,6 +334,11 @@ def install_step(self):
new_val = path
env.setvar(envvar, new_val)
else:
# Explicit call as EasyBlocks might set additional environment variables in
# the make_module step, which may be required for later component builds.
# Set fake arg to True, as module components should not try to create their own module.
comp.make_module_step(fake=True)

# Update current environment with component environment to ensure stuff provided
# by this component can be picked up by installation of subsequent components
# - this is a stripped down version of EasyBlock.make_module_req for fake modules
Expand Down Expand Up @@ -386,6 +391,11 @@ def make_module_step(self, *args, **kwargs):
raise EasyBuildError("Cannot process module requirements of bundle component %s v%s",
cfg['name'], cfg['version'])
else:
# Explicit call required as adding step to 'install_step' is not sufficient
# for module-only build. Set fake arg to True, as module components should
# not try to create their own module.
comp.make_module_step(*args, **dict(kwargs, fake=True))

for env_var_name, env_var_val in comp.module_load_environment.items():
if env_var_name in self.module_load_environment:
getattr(self.module_load_environment, env_var_name).extend(env_var_val)
Expand Down