!aRKdLCkUeIFjRPZuJT:nixos.org

NixOS JVM

129 Members
28 Servers

Load older messages


SenderMessageTime
17 Jul 2025
@emilazy:matrix.orgemily

marketing like "Validates runtimes by passing a wide variety of application test suites, ensuring compatibility and reliability." makes me worry that it'd be a whole ordeal where it wants to fetch a bunch of stuff from the internet and have all kinds of implicit dependencies and at best they make it easy by providing a Docker container we can't use or something.

but I haven't looked into it at all, so it's possible that it would be easier than this

15:39:03
@emilazy:matrix.orgemilyit looks like it's one of the requirements for listing on https://adoptium.net/en-GB/marketplace, though that's not something that would likely be interesting for us in itself. apparently another requirement is the TCK, which if https://openjdk.org/groups/conformance/JckAccess/ is up to date is non-Free and involves Oracle bureaucracy, and so definitely can't be run on Hydra15:40:27
@emilazy:matrix.orgemily "It varies from several hours to several days, but on average it takes about a day to pass the full TCK cycle." from https://www.azul.com/blog/use-tck-testing-to-ensure-that-your-java-distribution-conforms-to-the-java-se-specification/ is also not the kind of thing we can put on Hydra 15:41:03
@emilazy:matrix.orgemilyno idea how long AQAvit(™) takes, but I'm guessing it's not exactly fast either. it may be the kind of thing that would have to be done out-of-band periodically15:42:00
@msgilligan:matrix.orgmsgilligan

I expect it's the kind of thing that might be suitable for passthru.tests, to be manually run on an update, rather than blocking the build on Hydra

Yeah. And I also have the impression getting AQAVit running under Nix would be non-trivial. I don't think it is something the Nix Java team should prioritize in the short-run and it's not something I see myself having the time or inclination to tackle. But it might be nice to have eventually.

16:16:06
@msgilligan:matrix.orgmsgilligan

either the Temurin build scripts are a good fit for us and we can use them in our OpenJDK source builds, or they would make the derivation less maintainable or less flexible and so we should keep driving the OpenJDK build on our own

The individual working on it seems committed to doing it, so maybe we find out.

16:17:36
@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

Show newer messages


Back to Room ListRoom Version: 6