-
Notifications
You must be signed in to change notification settings - Fork 776
{tools}[GCCcore/14.3.0] fish v4.0.6 #23907
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
base: develop
Are you sure you want to change the base?
Conversation
Updated software
|
|
Test report by @Thyre |
|
@boegelbot please test @ jsc-zen3 |
|
@Thyre: Request for testing this PR well received on jsczen3l1.int.jsc-zen3.fz-juelich.de PR test command '
Test results coming soon (I hope)... Details- notification for comment with ID 3307225367 processed Message to humans: this is just bookkeeping information for me, |
|
Test report by @Thyre |
|
Test report by @boegelbot |
|
Test report by @Thyre |
Well... that's probably caused by not using the things we set in our Cargo EasyBlocks... |
|
How far do we want to go? It looks like it is going to download Rust crates as it basically just uses CMake as a wrapper around We'll need a custom easyblock for that. We can either write one for fish or anticipate more such projects and write a CargoCMakeNinja easyblock combining parts of both. Likely YAGNI applies, so one for fish should suffice for now. Or enhance the Cargo EasyBlock to support custom configure and build commands. But we do too much potentially useful stuff in the CMakeMake configure_step that I wouldn't choose this approach |
There are other projects going in that direction, but I would also agree that this shouldn't come up too often. And even if it does at some point, we can still convert one of the EasyBlocks into a more generic one.
From my tinkering a while back, I think we might need easybuilders/easybuild-easyblocks#3665 for fish as well. I don't remember the exact details anymore, only that I ran into weird issues with their cargo crates. |
Does that download crates during the build? |
Yes, an offline build fails: |
|
libavif is another potential troublemaker. Hard to know exactly how it should be generalized here, but the nice part is that the stuff Cargo easyblock is pretty orthogonal to what most easyblocks do, so it's relatively easily combined. |
Maybe this could be moved to the core easyblock in framework then and the behavior gets triggered when a
|
|
Just some thoughts for a potential upcoming discussion: Possible options:
Dealing with framework is always much much more of a hassle, so i would probably suggest option 2. If there needs to be some specific cargo+cmake or cargo+meson thing happening there, then such code could be added. Given how much we have had to fiddle with crates and such, I would strongly suggest we avoid adding any such specifics into framework at all cost. This does rely on hoping that the nesting biuld tool isn't passing overriding config flags to cargo though; but to fix that I see no other option but to patch/sed on a per-case basis. Just a general thought, but this isn't really all that specific to cargo; we have other nested build tools, and they all have the same issue; like pip calling cmake (configuremakepythonpackage, cmakepythonpackage), and there is no nice general way out of it. |
|
Option 2 sounds good to me too. Note that MesonNinja does not inherit from CMake This came up again at #24995 |
(created using
eb --new-pr)Since fish 4.0, they switched to Rust as their programming language.
This also means that crates are used to build fish. However, there doesn't seem to be any EasyBlock for such cases (e.g.
CargoCMake?). Since there is other software with the same issue already merged, we chose to keepCMakeMakehere.CC @mtar, who did the work in our JSC repository.