!aRKdLCkUeIFjRPZuJT:nixos.org

NixOS JVM

122 Members
27 Servers

Load older messages


SenderMessageTime
17 Jul 2025
@msgilligan:matrix.orgmsgilligan

It seems like the core Nix Java team (however that is defined) should focus an a few JDKs as "first-tier" and a few more as "second-tier" and declare the rest as community supported. And this should be documented somewhere. Something like:

First-tier:

  • OpenJDK
  • GraalVM Community Edition

Second-tier:

  • Temurin (because it's used for bootstrap)
  • Zulu (because it's used on Darwin)

Community-supported:
Everything else (and if something isn't maintained it can be dropped)

16:23:49
@msgilligan:matrix.orgmsgilliganIt would be nice to see an OpenJDK build that works on Darwin and I believe there is an active PR to do this. If it can be done correctly, then Zulu could be "demoted" to community-supported.16:31:46
@msgilligan:matrix.orgmsgilliganI'm also wondering why Nix doesn't do what GUIX does and build OpenJDK n with OpenJDK n-1. I'm guessing this is because we don't have the bootstrap chain going back far enough to make this work?16:33:32
@msgilligan:matrix.orgmsgilligan *

It seems like the core Nix Java team (however that is defined) should focus an a few JDKs as "first-tier" and a few more as "second-tier" and declare the rest as community supported. And this should be documented somewhere. Something like:

First-tier:

  • OpenJDK
  • GraalVM Community Edition

Second-tier:

  • Temurin (because it's used for bootstrap)
  • Zulu (because it's used on Darwin)

Community-supported:

  • Everything else (and if something isn't maintained it can be dropped)
16:34:13
@qyliss:fairydust.spaceAlyssa RossHistorically people have been resistant to long bootstraps in Nixpkgs because of the build times. (IMO we should do it anyway)16:34:20
@qyliss:fairydust.spaceAlyssa RossGuix has bootstrappability as an explicit principle and we sadly dont16:34:40
@infinidoge:inx.moeInfinidoge 🏳️‍⚧️Having been the one to remove most of the JDKs, the problem with bootstrapping is maintaining all of the components16:35:11
@infinidoge:inx.moeInfinidoge 🏳️‍⚧️Most of the JDK steps were very unable to build I tried fixing them and at a certain point I just gave up16:35:46
@msgilligan:matrix.orgmsgilliganYeah, not only does the whole chain need to be there, but it needs to be maintained.16:35:58
@qyliss:fairydust.spaceAlyssa RossThe flipside is it would be a lot easier to notice things that would break the old versions if they were in the critical path of the current version16:36:32
@msgilligan:matrix.orgmsgilliganI would really like to see full bootstrappability, but I guess that's not feasible in the short-run.16:36:59
@qyliss:fairydust.spaceAlyssa RossSo it wouldn't be as bad as maintaining old leaf versions16:37:03
@infinidoge:inx.moeInfinidoge 🏳️‍⚧️Considering how difficult it is to actively maintain OpenJDK already without the bootstrap chain, I am very skeptical of the benefit16:37:36
@msgilligan:matrix.orgmsgilliganIt seems like creating tools to make the current maintenance easier is probably one of the biggest return-on-investment strategies. The JDK Dashboard tool, auto-updaters, more and better passthru tests, for example.16:40:42
@infinidoge:inx.moeInfinidoge 🏳️‍⚧️Yeah16:41:00
@infinidoge:inx.moeInfinidoge 🏳️‍⚧️Also if Nixpkgs has some mechanism to give security warnings only if something isn't a dependency16:41:35
@emilazy:matrix.orgemilyI think Graal is currently unmaintained in Nixpkgs FWIW16:42:14
@infinidoge:inx.moeInfinidoge 🏳️‍⚧️Because a bootstrap chain can't break evaluation for an EOL JDK version, but also should warn16:42:24
@infinidoge:inx.moeInfinidoge 🏳️‍⚧️ * Because a bootstrap chain can't break evaluation for an EOL JDK version, but also should warn if it is tried to be used16:42:28
@emilazy:matrix.orgemilyI would suggest focusing on OpenJDK and Temurin binaries for now and expanding if it turns out there's resources to spare. in particular, I believe Zulu on Darwin can go away16:42:58
@emilazy:matrix.orgemily

we use Zulu because we don't have a source build for OpenJDK/OpenJFX on Darwin. that should be easy to fix, but even ignoring that, the value-adds of Zulu over Temurin binaries are:

  • aarch64-darwin support for JDK 8 – but JDK 8 will go EOL before Rosetta 2 makes using x86_64-darwin for old versions of Minecraft non-viable anyway
  • OpenJFX support, but frankly few seem to care about OpenJFX and like I said making the source build work on Darwin shouldn't be hard
16:44:43
@emilazy:matrix.orgemily

I think

  • try to get openjdk and openjfx building with the Temurin bootstrap on Darwin
  • failing that, just use Temurin on Darwin and don't support OpenJFX there
    would be sensible
16:45:24
@emilazy:matrix.orgemily *

I think

  • try to get openjdk and openjfx building with the Temurin bootstrap on Darwin
  • failing that, just use Temurin on Darwin and don't support OpenJFX there

would be sensible

16:45:27
@qyliss:fairydust.spaceAlyssa Ross
In reply to @infinidoge:inx.moe
Also if Nixpkgs has some mechanism to give security warnings only if something isn't a dependency
We have done overrides for this before. It's fine.
16:45:36
@emilazy:matrix.orgemily(I planned to do this, I just ran out of steam)16:45:43
@emilazy:matrix.orgemily(we also don't need OpenJFX to be part of the OpenJDK bootstrap, it can just be used as a separate package rather than integrated into the OpenJDK build these days I think, I believe all of that logic is ~pointless)16:46:13
@emilazy:matrix.orgemilyah, sorry, I see the Darwin source build was raised. I didn't know there was a PR16:46:49
@emilazy:matrix.orgemilyI don't think we need a "demotion to community-supported" status because there is no second-tier community to support it… the Zulu packages just accumulate CVEs even faster than the other ones, it's pretty droppable16:47:39
@msgilligan:matrix.orgmsgilligan

So, my personal priorities ("itches I need to scratch" for other projects I'm working on) are:

  • OpenJDK 25
  • GraalVM CE 25

And I also want to learn more about Nix and help the community in general, so that's why I want to make:

  • JDK Dashboard tool
  • Better tests
  • Update tools

It's also relatively easy for a newcomer like me to help with updates on some of the binary distributions. And anything I can do to get any JDK 24 or JDK 24 on aarch64-darwin is helpful to me, so that's why I've been working on Zulu and GraalVM-oracle (because it supports multiple versions currently and GraalVM-CE doesn't)

16:49:22
@msgilligan:matrix.orgmsgilligan *

So, my personal priorities ("itches I need to scratch" for other projects I'm working on) are:

  • OpenJDK 25
  • GraalVM CE 25

And I also want to learn more about Nix and help the community in general, so that's why I want to make:

  • JDK Dashboard tool
  • Better tests
  • Update tools

It's also relatively easy for a newcomer like me to help with updates on some of the binary distributions. And anything I can do to get any JDK 24 or JDK 25 on aarch64-darwin is helpful to me (I need both normal JDK and GraalVM), so that's why I've been working on Zulu and GraalVM-oracle (because it supports multiple versions currently and GraalVM-CE doesn't)

16:50:08

Show newer messages


Back to Room ListRoom Version: 6