| 19 Sep 2025 |
msgilligan | * 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:58 |
msgilligan | 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 |
msgilligan | * My list of "priority" JDKs (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:20:30 |
Tomodachi94 (they/them) | We could use Zulu to bootstrap OpenJDK for everything, maybe? | 23:58:22 |
| 20 Sep 2025 |
emily | I'd prefer Temurin over Zulu | 00:09:24 |
emily | since Temurin is vanilla like the OpenJDK we build | 00:09:33 |
msgilligan | 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 |
emily | 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 |
emily | and it requires lots of old versions of compilers, forked patch GNU Classpath hacks, etc. | 02:39:00 |
emily | 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 |
emily | bootstrappability is nice, but there are trade-offs | 02:39:41 |
msgilligan | Yes, I guess you could say it’s a can of turtles! | 02:40:06 |
emily | https://bootstrappable.org/projects/java.html "Moving on to JDK 9 and 10 is left as an exercise for the reader." :) | 02:40:31 |
emily | "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 |
emily | a small project that we have plenty of available slack for, I'm sure | 02:41:00 |
emily | I forgot that they actually go through like (multiple versions of) three unmaintained JDKs | 02:41:45 |
emily | * I forgot that they actually go through like (multiple versions of) three unmaintained Java implementations | 02:41:50 |