-
-
Notifications
You must be signed in to change notification settings - Fork 14.5k
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
openmpi: 4.1.6 -> 5.0.3 #327438
openmpi: 4.1.6 -> 5.0.3 #327438
Conversation
Duplicate of #275796 |
The GitHub search has disappointed me... https://github.com/NixOS/nixpkgs/pulls?q=openmpi%205.0 @markuskowa perhaps you'd be interested in incorporating the changes here into #275796 ? The declarative approach in the reformat commit in this PR is a significant improvement IMO. |
Yep, finding things in this big list of PRs becomes increasingly difficult.
Yes, although the update PR is already quite big (mostly due to the split output/.dev feature). I would like to get the update merged. This has been sitting around for way too long. I could easily integrate the |
You did great job in #275796 but I managed to include the details I missed in this PR, and it came out nicer IMO - both in terms of the commit log, and the diff and the implementation details (also no merge conflict as well). I also disentangled the plumed blas64 commit to a separate as that has no effect or isn't affected by the openmpi so it seems: As for the mpi4py issue, I'm not sure, I'm still investigating whethere there are packages that actually, really, use this package - I suspect that many of the packages that depend upon it don't really use any functionality from there. |
@GrahamcOfBorg build python3Packages.meep |
@doronbehar thanks for integrating my changes in this PR. This looks pretty good now. Let me run nixpkgs-review on it to make sure we have everything covered. On request: please put the reformatting in its own commit (i.e. put "and more" in a separate commit). That makes the changes easier to read. |
Working on it now. |
Done. |
@ofborg build cp2k python3Packages.meep |
CI was green for aarch64-linux before this last force push. I noticed a small mistake in the commit log that is fixed now. |
I'd suggest to handle #327444 before merging this. |
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.
can't say much about most other changes
mpi4py requires a test to be disabled: c2e58ed |
@markuskowa thanks for explaining. Indeed mpi4py was is in a problematic state. Let's deal with that in #327444 . |
@markuskowa I rebased this on top of latest master (with #327444 merged) and tested that mpi4py builds fine, and I also checked |
Co-authored-by: Markus Kowalewski <[email protected]>
Less confusing when to use a list and a single argument.
Using substituteInPlace (with `--replace-fail`) is much safer.
https://docs.open-mpi.org/en/v5.0.x/release-notes/changelog/v5.0.x.html Make build reproducible in a different, nicer manner Co-authored-by: Markus Kowalewski <[email protected]>
Co-authored-by: Markus Kowalewski <[email protected]>
Co-authored-by: Markus Kowalewski <[email protected]>
Fixed a merge conflict after 63d05d9 .
Still waiting :) |
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.
I checked and it does look good now. Let's get this merged.
Only one note: I am not a big fan of the "Handle all compiler wrappers consistently & declaratively". It is more complicated than the old shell code version, which is easier to read.
Hmmm that is the highlight of this PR haha :). I agree it is less readable, but I think it is much harder to maintain a manually written list of 7x3 commands that look almost the same. Also it was annoying for me when I tried to debug this part in the old way, that I had to fully build the package every time I wanted to slightly change something there, due to small typos etc.. No wonder so many files weren't handled in that phase before this commit. With the new code, there should be no typos. You can also now debug the resulted hook with: nix eval --json .\#openmpi.postInstall | jq --raw-output . I'll also note before I'll merge this, that I tried to run a cc me for any breakages :). |
// lib.optionalAttrs fortranSupport { | ||
"fort" = [ | ||
"gfortran" | ||
"${targetPackages.gfortran}/bin/${targetPackages.gfortran.targetPrefix}gfortran" |
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.
EDIT: disregard the below, it should be for when openmpi
goes in nativeBuildInputs
right?
What's the reason for using targetPackages.gfortran
here? It'll only work on non-cross where targetPackages.gfortran
is the same as gfortran
? Asking for #341269
If you were just following the targetPackages.stdenv
above then targetPackages.stdenv
is the same offset as gfortran
nix-repl> pkgsCross.aarch64-multiplatform.gfortran.cc.stdenv.cc
«derivation /nix/store/cy0iv1sk4c60df358j3ff8xb2x0db1qh-aarch64-unknown-linux-gnu-gcc-wrapper-13.3.0.drv»
nix-repl> pkgsCross.aarch64-multiplatform.targetPackages.stdenv.cc
«derivation /nix/store/bh6d4yc7dyx1694gz3bx65l0flv1blc2-gcc-wrapper-13.3.0.drv»
nix-repl> pkgsCross.aarch64-multiplatform.targetPackages.stdenv.cc.stdenv.hostPlatform.system
"aarch64-linux"
nix-repl> pkgsCross.aarch64-multiplatform.targetPackages.stdenv.cc.stdenv.targetPlatform.system
"aarch64-linux"
nix-repl> pkgsCross.aarch64-multiplatform.gfortran.cc.stdenv.hostPlatform.system
"aarch64-linux"
nix-repl> pkgsCross.aarch64-multiplatform.gfortran.cc.stdenv.targetPlatform.system
"aarch64-linux"
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.
EDIT: disregard the below, it should be for when
openmpi
goes innativeBuildInputs
right?
Correct. I'm not sure how to test that with nix-repl
like tests as you tried to demonstrate, but yes.
Description of changes
Things done
nix.conf
? (See Nix manual)nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD"
. Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/
)Add a 👍 reaction to pull requests you find important.