Skip to content
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

slepc: init at 3.22.2 #389678

Merged
merged 11 commits into from
Mar 18, 2025
Merged

slepc: init at 3.22.2 #389678

merged 11 commits into from
Mar 18, 2025

Conversation

qbisi
Copy link
Contributor

@qbisi qbisi commented Mar 13, 2025

Scalable Library for Eigenvalue Problem Computations
Sci-lib depends on petsc and used by many math softwares.

Things done

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)
    • sandbox = relaxed
    • sandbox = true
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 25.05 Release Notes (or backporting 24.11 and 25.05 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

Add a 👍 reaction to pull requests you find important.

@nix-owners nix-owners bot requested a review from natsukium March 13, 2025 23:13
@qbisi qbisi changed the title Slepc: init at 3.22.2 slepc: init at 3.22.2 Mar 13, 2025
@nix-owners nix-owners bot requested a review from cburstedde March 13, 2025 23:19
@qbisi qbisi force-pushed the slepc branch 5 times, most recently from 991274c to b2311b5 Compare March 15, 2025 11:23
@qbisi qbisi force-pushed the slepc branch 2 times, most recently from af832da to 846d6d0 Compare March 15, 2025 19:42
Copy link
Contributor

@doronbehar doronbehar left a comment

Choose a reason for hiding this comment

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

Looks pretty good overall, nice contribution!

qbisi added 2 commits March 18, 2025 18:49
Petsc examples take up 58M and can be found in source code.
Thus we do not ship petsc with examples by default.
shebang in configure script is auto patched
@qbisi qbisi force-pushed the slepc branch 7 times, most recently from 71ec4ad to b5a2ce0 Compare March 18, 2025 11:36
@qbisi qbisi requested review from doronbehar and NickCao March 18, 2025 11:46
Copy link
Contributor

@doronbehar doronbehar left a comment

Choose a reason for hiding this comment

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

Looks very good! Thanks for making progress. A few small issues / questions are left and this should be good to go after a nixpkgs-review report.

"bfort = '${sowing}/bin/bfort'"
'';

# The environment variable SLEPC_DIR should be set to the build directory.
Copy link
Contributor

Choose a reason for hiding this comment

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

Don't simply say in human language what is written in Bash, explain why you write things.

Suggested change
# The environment variable SLEPC_DIR should be set to the build directory.
# Usually this project is being built as part of a `petsc` build or as part of
# other projects, e.g when `petsc` is `./configure`d with
# `--download-slepc=1`. This instructs the slepc to be built as a standalone
# project.

];
platforms = lib.platforms.unix;
maintainers = with lib.maintainers; [ qbisi ];
broken = stdenv.hostPlatform.isDarwin && withArpack;
Copy link
Contributor

Choose a reason for hiding this comment

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

If you have it available, it'd be nice to get a small quote from the build error. Alternatively, perhaps upstream is aware of this incompatibility, and would have liked to be notified? A comment of any kind is desired here.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Segmentation error in mpi test for darwin platform, no idea how to fix this, but i will put the error message here.

qbisi added 9 commits March 18, 2025 20:46
pythonSupport is more commonly used in toPythonModule
The `withFullDeps` flag was used to make petsc4py meet the requirements of downstream
projects like Fenics and Firedrake. However, this flag breaks the build on other platforms
if any external packages of PETSc fail.

Therefore, I disabled this flag in petsc4py and made PETSc bundle some commonly used
external packages by default. Users can still have a minimally featured PETSc by setting
`withCommonDeps = false`.
This substitueInplace was an old patch and will fail if use --replace-fail.
This patch does not fix the shebang at the begining of the example_template.py file.
It only replaces the shebang in the template string of that file.
@qbisi
Copy link
Contributor Author

qbisi commented Mar 18, 2025

nixpkgs-review result

Generated using nixpkgs-review.

Command: nixpkgs-review pr 389678


x86_64-linux

✅ 14 packages built:
  • getdp
  • petsc
  • pflotran
  • precice
  • python312Packages.petsc4py
  • python312Packages.pyprecice
  • python312Packages.pyprecice.dist
  • python312Packages.slepc4py
  • python313Packages.petsc4py
  • python313Packages.pyprecice
  • python313Packages.pyprecice.dist
  • python313Packages.slepc4py
  • slepc
  • sowing

@qbisi
Copy link
Contributor Author

qbisi commented Mar 18, 2025

nixpkgs-review result

Generated using nixpkgs-review.

Command: nixpkgs-review pr 389678


aarch64-darwin

✅ 13 packages built:
  • petsc
  • pflotran
  • precice
  • python312Packages.petsc4py
  • python312Packages.pyprecice
  • python312Packages.pyprecice.dist
  • python312Packages.slepc4py
  • python313Packages.petsc4py
  • python313Packages.pyprecice
  • python313Packages.pyprecice.dist
  • python313Packages.slepc4py
  • slepc
  • sowing

@qbisi
Copy link
Contributor Author

qbisi commented Mar 18, 2025

nixpkgs-review result

Generated using nixpkgs-review.

Command: nixpkgs-review pr 389678


aarch64-linux

✅ 14 packages built:
  • getdp
  • petsc
  • pflotran
  • precice
  • python312Packages.petsc4py
  • python312Packages.pyprecice
  • python312Packages.pyprecice.dist
  • python312Packages.slepc4py
  • python313Packages.petsc4py
  • python313Packages.pyprecice
  • python313Packages.pyprecice.dist
  • python313Packages.slepc4py
  • slepc
  • sowing

Copy link
Contributor

@doronbehar doronbehar left a comment

Choose a reason for hiding this comment

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

Very well written, thanks again!

@doronbehar doronbehar merged commit 99074a6 into NixOS:master Mar 18, 2025
32 of 35 checks passed
@qbisi
Copy link
Contributor Author

qbisi commented Mar 18, 2025

Thanks for your reivew, too.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants