NixOS JVM | 121 Members | |
| 27 Servers |
| Sender | Message | Time |
|---|---|---|
| 19 Sep 2025 | ||
| My list (and reasons) is this: openjdk -- the upstream Open Source, reference build for JDK temurin-bin -- popular Open Source pre-built distribution which Nixpkgs uses to bootstrap OpenJDK zulu -- popular Open Source pre-built distribution with JavaFX. On Darwin, Nixpkgs aliases jdk to zulu graalvm-ce -- Open Source "community edition" of GraalVM that provides the native-image compiler graalvm-oracle -- non-free GraalVM, but provides binaries during Early Access | 23:07:36 | |
| * My list (and reasons) is this:
| 23:07:58 | |
| Obviously the list could be shortened if we get openjdk building for Darwin or figure out a different way of bootstrapping openjdk, or get graalvm-ce building from source, etc. | 23:18:34 | |
| * My list of "priority" JDKs (and reasons) is this:
| 23:20:30 | |
| We could use Zulu to bootstrap OpenJDK for everything, maybe? | 23:58:22 | |
| 20 Sep 2025 | ||
| I'd prefer Temurin over Zulu | 00:09:24 | |
| since Temurin is vanilla like the OpenJDK we build | 00:09:33 | |
| I’d prefer building OpenJDK with the previous OpenJDK like Guix does, but I assume there’s a reason for not doing it that way. | 02:38:08 | |
| turtle stack has to stop somewhere. IIRC they eventually detour via Jikes or something else that eventually bootstraps via C, but last I heard they hadn't wired up the full path yet? | 02:38:52 | |
| and it requires lots of old versions of compilers, forked patch GNU Classpath hacks, etc. | 02:39:00 | |
| it also means that every time you do a toolchain change that rebuilds the world (so, every couple weeks for us) you need to build some 20 JDKs in sequence | 02:39:27 | |
| bootstrappability is nice, but there are trade-offs | 02:39:41 | |
| Yes, I guess you could say it’s a can of turtles! | 02:40:06 | |
| https://bootstrappable.org/projects/java.html "Moving on to JDK 9 and 10 is left as an exercise for the reader." :) | 02:40:31 | |
| "Unfortunately, most of the software needed for the bootstrap has been abandoned. To ensure that the JDK can be built from sources without the need for an existing installation of the OpenJDK we propose to continue maintaining the links of this bootstrap chain." | 02:40:49 | |
| a small project that we have plenty of available slack for, I'm sure | 02:41:00 | |
| I forgot that they actually go through like (multiple versions of) three unmaintained JDKs | 02:41:45 | |
| * I forgot that they actually go through like (multiple versions of) three unmaintained Java implementations | 02:41:50 | |
| I looked at it once — it’s pretty crazy | 02:42:45 | |
| looks like even if you do all of this Gradle scuppers it:
https://bootstrappable.org/projects/java-tools.html | 02:43:14 | |
| I would love to see Nix do it, too. But I agree it’s not realistic at the present time with our current tools and team. | 02:44:31 | |
we do not even have the core stdenv bootstrapping without binary seeds yet | 02:44:38 | |
| there is a partial implementation in Nixpkgs | 02:44:43 | |
| but it needs additional work and wiring up to replace our current bootstrap tools | 02:44:48 | |
| likely not worth putting large effort into source-based bootstraps before that is done | 02:44:58 | |
| Yeah, Gradle (aka franken-gradle) is a bootstrapping nightmare | 02:45:16 | |
| I’ve been following the efforts of the Debian team on getting newer than the (heavily-modified, “franken-gradle”) 4.4 that they are currently shipping. | 02:47:29 | |
| I’ll probably move some of my main projects to Maven just for this reason. I’ve proposed it for bitcoinj, because making it build with Gradle 4.4 is very time-consuming. But the lead developer wants to be able to bundle in Debian | 02:49:37 | |
| Debian and language ecosystems is a painful combination :) | 02:51:01 | |
| Part of the reason Debian Gradle is blocked at 4.4 is that is when they added Kotlin | 02:51:24 | |