Skip to content

openjdk: add riscv64-linux to platforms#343907

Merged
emilazy merged 1 commit intoNixOS:staging-nextfrom
skeuchel:riscv64-openjdk
Oct 25, 2024
Merged

openjdk: add riscv64-linux to platforms#343907
emilazy merged 1 commit intoNixOS:staging-nextfrom
skeuchel:riscv64-openjdk

Conversation

@skeuchel
Copy link
Copy Markdown

Description of changes

This PR enables building openjdk for riscv64-linux, which is possible since the addition of the riscv64-linux binaries for temurin-bin in #337620. I have built jdk{17,21,22} and jre{17,}_minimal.tests.jre_minimal-hello{-logging,} natively on riscv64-linux.

Things done

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
    • riscv64-linux
  • 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/)
  • 24.11 Release Notes (or backporting 23.11 and 24.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.

@ofborg ofborg bot added 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. 10.rebuild-linux: 0 This PR does not cause any packages to rebuild on Linux. labels Sep 23, 2024
@skeuchel skeuchel marked this pull request as draft October 25, 2024 08:16
@skeuchel skeuchel changed the base branch from master to staging-next October 25, 2024 08:17
@skeuchel skeuchel marked this pull request as ready for review October 25, 2024 08:18
@skeuchel
Copy link
Copy Markdown
Author

The indirect dependency tinysparql currently fails on riscv64-linux. See the corresponding upstream issue.

Building with those checks disabled:

overlays='[(_: super: { tinysparql = super.tinysparql.overrideAttrs (_: { doCheck = false; }); }) ]'
attributes=(jdk{17,21,23} jre{17,}_minimal.tests.jre_minimal-hello{-logging,})
nix-build --arg overlays "$overlays" ${attributes[@]/#/-A }

passes on my machine.

@skeuchel skeuchel requested a review from emilazy October 25, 2024 08:23
@emilazy
Copy link
Copy Markdown
Member

emilazy commented Oct 25, 2024

Nice! It looks like the upstream patch to fix TinySPARQL is very simple – https://gitlab.gnome.org/GNOME/tinysparql/-/commit/12ed969913cb579f638fa0aa0853aeb6c6c6f536. Perhaps you could add patches = [ (fetchpatch2 { url = "https://gitlab.gnome.org/GNOME/tinysparql/-/commit/12ed969913cb579f638fa0aa0853aeb6c6c6f536.diff"; … }) ] to that package, either here in another PR, to fix its build on Musl/RISC‐V so that this works without overlays?

@skeuchel
Copy link
Copy Markdown
Author

Did not notice that upstream accepted my patch. Will do so in another PR since it will have to go through staging.

Copy link
Copy Markdown
Member

@emilazy emilazy left a comment

Choose a reason for hiding this comment

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

Oh, that was yours! 😅

Happy to merge this as‐is, feel free to ping me for the follow‐up. Thanks!

@emilazy emilazy merged commit 9d25bfb into NixOS:staging-next Oct 25, 2024
@skeuchel skeuchel deleted the riscv64-openjdk branch October 25, 2024 13:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. 10.rebuild-linux: 0 This PR does not cause any packages to rebuild on Linux.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants