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

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
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
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
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
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