| 20 Sep 2025 |
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 |
msgilligan | I looked at it once — it’s pretty crazy | 02:42:45 |
emily | looks like even if you do all of this Gradle scuppers it:
Gradle is a build tool in the Java ecosystem. It needs Gradle to build. It also depends on Groovy, Scala and Kotlin. Groovy is already bootstrapped, but Scala is currently not bootstrappable and we do not know of a way to build Kotlin either, to see the status of work in progress on the issue see Bootstrapping JVM Languages.
https://bootstrappable.org/projects/java-tools.html
| 02:43:14 |
msgilligan | 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 |
emily | we do not even have the core stdenv bootstrapping without binary seeds yet | 02:44:38 |
emily | there is a partial implementation in Nixpkgs | 02:44:43 |
emily | but it needs additional work and wiring up to replace our current bootstrap tools | 02:44:48 |
emily | likely not worth putting large effort into source-based bootstraps before that is done | 02:44:58 |
msgilligan | Yeah, Gradle (aka franken-gradle) is a bootstrapping nightmare | 02:45:16 |
msgilligan | 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 |
msgilligan | 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 |
emily | Debian and language ecosystems is a painful combination :) | 02:51:01 |
msgilligan | Part of the reason Debian Gradle is blocked at 4.4 is that is when they added Kotlin | 02:51:24 |
msgilligan | I’m a noob with big ambitions! | 02:52:18 |
msgilligan | And I know that bootstrapping is out of reach for JDK in Nix for now, but someday I hope we can do it. | 02:54:10 |
msgilligan | I need to take a second look at Guix, but I don’t even have time for that right now. | 02:54:53 |
msgilligan | Would it be possible to use OpenJDK 25 to build OpenJDK 26 (at least initially) ? | 03:04:58 |
msgilligan | (after we bootstrap 25 with Temurin) | 03:05:33 |
emily | yes, but very low value | 03:08:56 |
emily | it mostly just means it will take longer, since it is still rooting to a binary Temurin | 03:09:06 |
msgilligan | I need one of those Ampere systems | 03:10:57 |
msgilligan | And to upgrade my laptop to an M4 Pro | 03:11:33 |
emily | well I say "yes" but it depends on whether you can actually bootstrap JDK n+1 with JDK n | 03:13:08 |
emily | I assume you can because it would be nuts otherwise | 03:13:15 |
emily | but people do commit such crimes | 03:13:19 |
emily | (ideally you could hop from one LTS to the next but I'm guessing you cannot) | 03:13:29 |
msgilligan | I will eventually look into it | 03:14:17 |
emily | I would worry more about the C → any OpenJDK part before trying to do the rest | 03:14:54 |
Tomodachi94 (they/them) | Here's how Guix does it: https://bootstrappable.org/projects/java.html | 03:40:42 |