-
Notifications
You must be signed in to change notification settings - Fork 283
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
enhance Cargo constructor to avoid processing list of crates multiple times into sources #2934
Merged
Micket
merged 2 commits into
easybuilders:develop
from
boegel:20230524165422_new_pr_cargo
May 24, 2023
Merged
enhance Cargo constructor to avoid processing list of crates multiple times into sources #2934
Micket
merged 2 commits into
easybuilders:develop
from
boegel:20230524165422_new_pr_cargo
May 24, 2023
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
… times into sources
boegel
force-pushed
the
20230524165422_new_pr_cargo
branch
from
May 24, 2023 14:58
ac4b2ed
to
8c16623
Compare
Micket
previously approved these changes
May 24, 2023
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
This was referenced May 24, 2023
update easyconfig for Longshot 0.4.5 to use Cargo easyblock
easybuilders/easybuild-easyconfigs#17666
Merged
Merged
ocaisa
reviewed
May 24, 2023
ocaisa
approved these changes
May 24, 2023
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Restoring the positive review from @Micket after fixing typo
Flamefire
added a commit
to Flamefire/easybuild-easyblocks
that referenced
this pull request
Aug 7, 2024
The issue intended to be fixed with easybuilders#2934 is actually cause by Pythons MRO: CargoPythonPackage explicitely calls `__init__` of **both** `Cargo` and `PythonPackage` 1. `super().__init__` in Cargo calls `ExtensionEasyBlock->EasyBlock->Extension` 2. Then `PythonPackage.__init__` is called by `CargoPythonPackage` 3. `super().__init__` in PythonPackage calls `Cargo.__init__` again(!) 4. Then all other methods are called again as per 1. The MRO order is `[CargoPythonPackage, PythonPackage, Cargo, ExtensionEasyBlock, EasyBlock, Extension]` which explains that. Fix is to consistently use `super()` in the CargoPythonPackage inheritance chain.
Flamefire
added a commit
to Flamefire/easybuild-easyblocks
that referenced
this pull request
Aug 7, 2024
The issue intended to be fixed with easybuilders#2934 is actually cause by Pythons MRO: CargoPythonPackage explicitely calls `__init__` of **both** `Cargo` and `PythonPackage` 1. `super().__init__` in Cargo calls `ExtensionEasyBlock->EasyBlock` stop (Could then call `Extension` but `ExtensionEasyBlock does not use `super`) 2. Then `PythonPackage.__init__` is called by `CargoPythonPackage` 3. `super().__init__` in PythonPackage calls `Cargo.__init__` again(!) 4. Then all other methods are called again as per 1. The MRO order is `[CargoPythonPackage, PythonPackage, Cargo, ExtensionEasyBlock, EasyBlock, Extension]` which explains that. Fix is to consistently use `super()` in the CargoPythonPackage inheritance chain.
Flamefire
added a commit
to Flamefire/easybuild-easyblocks
that referenced
this pull request
Aug 7, 2024
The issue intended to be fixed with easybuilders#2934 is actually caused by Pythons MRO: CargoPythonPackage explicitely calls `__init__` of **both** `Cargo` and `PythonPackage` 1. `super().__init__` in Cargo calls `ExtensionEasyBlock->EasyBlock` stop (Could then call `Extension` but `ExtensionEasyBlock does not use `super`) 2. Then `PythonPackage.__init__` is called by `CargoPythonPackage` 3. `super().__init__` in PythonPackage calls `Cargo.__init__` again(!) 4. Then all other methods are called again as per 1. The MRO order is `[CargoPythonPackage, PythonPackage, Cargo, ExtensionEasyBlock, EasyBlock, Extension]` which explains that. Fix is to consistently use `super()` in the CargoPythonPackage inheritance chain.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
(created using
eb --new-pr
)