-
-
Notifications
You must be signed in to change notification settings - Fork 14.2k
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
oraclejdk8: armv7l support #27419
oraclejdk8: armv7l support #27419
Conversation
I got an evaluation error for this change:
you might want to checkout the |
Did you get that result by running something like |
Eh, well the fix seems obvious enough: I just added the missing arg to the only other place that calls that function. Whatever you ran should work this time, I think. |
jdk8 = openjdk8 // { outputs = [ "out" ]; }; | ||
jre8 = lib.setName "openjre-${lib.getVersion pkgs.openjdk8.jre}" | ||
jdk8 = if stdenv.isArm then oraclejdk8 else openjdk8 // { outputs = [ "out" ]; }; | ||
jre8 = if stdenv.isArm then oraclejre8 else lib.setName "openjre-${lib.getVersion pkgs.openjdk8.jre}" |
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 am not sure about this one. Is it a good idea to provided the closed variant only on a single platform, where other plattforms get openjdk? Is openjdk non-functional on ARM? If you want to have a shortcut to not having to compile jdk on your device, you can still use packageOverrides
.
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.
https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/compilers/openjdk/bootstrap.nix#L32
Actually, there's no bootstrap for openjdk on ARM. I think oraclejdk is a sensible default until someone invests the time to get openjdk building on ARM. It won't install unless they have allowUnfree = true
, anyway.
The dropbox-hosted bootstraps are a clear indicator of the sort of rabbit-hole I'm indisposed to explore, at the moment. If you really think having a nonfree dist as the default is worse than having no runtime at all for any java packages, then I can remove these lines, but I fail to see what the harm could be.
I don't specifically recall, but since I submitted this PR giving that as justification, chances are I did succeed in building i2p. I can't really check at the moment. Is it broken for you or something? |
I didn't touch any source or buildsteps, so maybe something has regressed? In any case, I have no insights to offer, sorry. |
Motivation for this change
I wanted to run i2p on ARM, so this was needed.
Things done
Added the conditional branches to support armv7l hosts and did a little cleanup in hooks (will trigger rebuilds of oraclejdk on all archs).
Tested with 'services.i2p.enable = true;`. i2p seemed to work okay.
(nix.useSandbox on NixOS,
or option
build-use-sandbox
innix.conf
on non-NixOS)
nix-shell -p nox --run "nox-review wip"
./result/bin/
)