Skip to content

Conversation

@Flamefire
Copy link
Contributor

(created using eb --new-pr)

Micket
Micket previously approved these changes Nov 19, 2025
Copy link
Contributor

@Micket Micket left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@Flamefire
Copy link
Contributor Author

Note: This currently doesn't change anything because the only difference of CargoPythonPackage to PythonPackage doesn't matter (yet) for Extensions.
Maybe for the components but there currently would need to be a default easyblock anyway which I haven't seen.
Speaking of it: Should we really unconditionally overwrite the default easyblock in (Cargo)PythonBundle and ignore if it was set by the EC?

@boegel boegel changed the title Make CargoPythonPackage the default class for extensions/components of CargoPythonBundle Make CargoPythonPackage the default class for extensions/components of CargoPythonBundle Nov 19, 2025
@boegel boegel added the change label Nov 19, 2025
@boegel boegel added this to the next release (5.2.0) milestone Nov 19, 2025
@Flamefire
Copy link
Contributor Author

This needs a small fix so it works with e.g. pymatgen-2023.12.18-foss-2023a.eb and others

https://github.com/Flamefire/easybuild-easyblocks/blob/f9ab7b091557cd3046faba9992891c50240059e6/easybuild/easyblocks/generic/cargo.py#L240C1-L240C44

this updates sources which in that case is a dictionary and hence fails (updating dict with list errors out)

Proposed fix: Convert sources to a list if it isn't one already in the __init__ call of EasyConfig

@Flamefire
Copy link
Contributor Author

This needs a small fix so it works with e.g. pymatgen-2023.12.18-foss-2023a.eb and others

https://github.com/Flamefire/easybuild-easyblocks/blob/f9ab7b091557cd3046faba9992891c50240059e6/easybuild/easyblocks/generic/cargo.py#L240C1-L240C44

this updates sources which in that case is a dictionary and hence fails (updating dict with list errors out)

Proposed fix: Convert sources to a list if it isn't one already in the __init__ call of EasyConfig

Actually the issue was attempting to add (in this case no) crates to sources for extensions which isn't supported. Fix added
84b798d

@Flamefire
Copy link
Contributor Author

Flamefire commented Dec 17, 2025

That check caused failures because the crates easyconfig parameter from the parent gets inherited by the extension so it is impossible to differentiate where it was coming from: The parent is ok, the extension-options is not.

I updated the easyblock to reset crates for extensions, see also easybuilders/easybuild-framework#5075

Rebased and removed the change to configure_step that is in #3996

@Flamefire Flamefire force-pushed the 20251118151816_new_pr_cargopythonbundle branch from 74b90af to e325a7d Compare December 17, 2025 12:20
@boegel boegel merged commit 04d30c2 into easybuilders:develop Jan 20, 2026
22 checks passed
@boegel
Copy link
Member

boegel commented Jan 20, 2026

@Flamefire Flamefire deleted the 20251118151816_new_pr_cargopythonbundle branch January 20, 2026 19:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants