!aRKdLCkUeIFjRPZuJT:nixos.org

NixOS JVM

121 Members
27 Servers

Load older messages


SenderMessageTime
19 Sep 2025
@msgilligan:matrix.orgmsgilliganMy 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
@msgilligan:matrix.orgmsgilligan *

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:matrix.orgmsgilliganObviously 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:matrix.orgmsgilligan *

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:matrix.orgTomodachi94 (they/them)We could use Zulu to bootstrap OpenJDK for everything, maybe?23:58:22
20 Sep 2025
@emilazy:matrix.orgemilyI'd prefer Temurin over Zulu00:09:24
@emilazy:matrix.orgemilysince Temurin is vanilla like the OpenJDK we build00:09:33
@msgilligan:matrix.orgmsgilliganI’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
@emilazy:matrix.orgemilyturtle 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
@emilazy:matrix.orgemilyand it requires lots of old versions of compilers, forked patch GNU Classpath hacks, etc.02:39:00
@emilazy:matrix.orgemilyit 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 sequence02:39:27
@emilazy:matrix.orgemilybootstrappability is nice, but there are trade-offs02:39:41
@msgilligan:matrix.orgmsgilliganYes, I guess you could say it’s a can of turtles!02:40:06
@emilazy:matrix.orgemilyhttps://bootstrappable.org/projects/java.html "Moving on to JDK 9 and 10 is left as an exercise for the reader." :)02:40:31
@emilazy:matrix.orgemily"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
@emilazy:matrix.orgemilya small project that we have plenty of available slack for, I'm sure02:41:00
@emilazy:matrix.orgemily I forgot that they actually go through like (multiple versions of) three unmaintained JDKs 02:41:45
@emilazy:matrix.orgemily * I forgot that they actually go through like (multiple versions of) three unmaintained Java implementations 02:41:50
@msgilligan:matrix.orgmsgilliganI looked at it once — it’s pretty crazy02:42:45
@emilazy:matrix.orgemily

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:matrix.orgmsgilliganI 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
@emilazy:matrix.orgemily we do not even have the core stdenv bootstrapping without binary seeds yet 02:44:38
@emilazy:matrix.orgemilythere is a partial implementation in Nixpkgs02:44:43
@emilazy:matrix.orgemilybut it needs additional work and wiring up to replace our current bootstrap tools02:44:48
@emilazy:matrix.orgemilylikely not worth putting large effort into source-based bootstraps before that is done02:44:58
@msgilligan:matrix.orgmsgilligan Yeah, Gradle (aka franken-gradle) is a bootstrapping nightmare 02:45:16
@msgilligan:matrix.orgmsgilliganI’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:matrix.orgmsgilliganI’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 Debian02:49:37
@emilazy:matrix.orgemilyDebian and language ecosystems is a painful combination :)02:51:01
@msgilligan:matrix.orgmsgilliganPart of the reason Debian Gradle is blocked at 4.4 is that is when they added Kotlin02:51:24

Show newer messages


Back to Room ListRoom Version: 6