!aRKdLCkUeIFjRPZuJT:nixos.org

NixOS JVM

142 Members
32 Servers

Load older messages


SenderMessageTime
9 May 2026
@britter:yatrix.orgBenedikt Ritter (britter)

From https://github.com/NixOS/ofborg:

Be gentle; try not to run mass rebuilds or massive builds (like Chromium) on it.

😅

14:15:19
@pyrox:pyrox.devdish [Fox/It/She] here's a question. do we need the src.zip that is included in the JDK outputs? That just contains the source code, and it's not needed at runtime afaik. In openjdk 25, it's 53MB, which we could get rid of to shrink closure sizes slightly. 17:33:10
@britter:yatrix.orgBenedikt Ritter (britter) Sounds good to me. I doubt that it's needed. But I don't know 🤷‍♂️ 17:44:19
@pyrox:pyrox.devdish [Fox/It/She] I'm not sure as well, which is why i asked here 😅 17:47:02
@infinidoge:inx.moeInfinidoge 🏳️‍⚧️It might be required for inspecting the definitions of Java objects18:15:21
@infinidoge:inx.moeInfinidoge 🏳️‍⚧️Would have to test though18:15:38
@emilazy:matrix.orgemilyIDE support?18:17:08
@infinidoge:inx.moeInfinidoge 🏳️‍⚧️I believe so, not entirely sure how to interpret that as a question18:18:06
@emilazy:matrix.orgemily as in, perhaps src.zip is used for looking up things in the stdlib from IDEs 18:19:13
@emilazy:matrix.orgemily(that's what the Rust source code gets used for at least)18:19:21
@msgilligan:matrix.orgmsgilligan

According to Claude:

The location within the JDK image is a committed upstream interface. OpenJDK explicitly defines src.zip (alongside things like jrt-fs.jar) as a file at a path intended for external use, contrasted with the contents of lib/ which are private implementation. So when you build OpenJDK, the build system produces src.zip as part of the standard image layout.

18:23:27
@msgilligan:matrix.orgmsgilligan

and:

It exists so that IDEs and debuggers can show you the actual source of, say, ArrayList.add() when you step into it or hit "Go to definition," instead of just decompiled bytecode or stub signatures. IDEs like Eclipse and IntelliJ pick it up from $JAVA_HOME and attach it as the source for the runtime classes, which is what makes "view source" work for JDK classes out of the box.

18:24:00
@msgilligan:matrix.orgmsgilligan

and:

There's nothing Nix-specific going on — removing it would actually be the unusual choice, and it would break IDE source navigation for anyone pointing their IDE at the Nix-built JDK. Some Linux distros do split it out into a separate -source package (as the Bazel issue above shows for Ubuntu), but Nixpkgs keeps the upstream layout intact.

18:24:21
@msgilligan:matrix.orgmsgilligan

If you're trying to slim down a closure and don't need IDE source attachment, you can drop it in a postInstall hook on an override, but for a general-purpose JDK package keeping it is the right default.

18:24:42
@infinidoge:inx.moeInfinidoge 🏳️‍⚧️Suffice it to say no need to drop it l18:24:58
@infinidoge:inx.moeInfinidoge 🏳️‍⚧️* Suffice it to say no need to drop it18:25:08
@infinidoge:inx.moeInfinidoge 🏳️‍⚧️ Maybe add a withSrc override or something in case someone needs it, but default to having it 18:25:27
@pyrox:pyrox.devdish [Fox/It/She]okay yeah, let's just not bother with dropping it since adding the option would trigger rebuilds fafaik19:32:14
@pyrox:pyrox.devdish [Fox/It/She] thanks for the clarification on its use @msgilligan 19:32:30
@pyrox:pyrox.devdish [Fox/It/She]
In reply to @msgilligan:matrix.org

If someone wants to work to make the JDK toolchain binary free, the place to start might be with Maven. It is currently:

    sourceProvenance = with lib.sourceTypes; [
      binaryBytecode
      binaryNativeCode
    ];
working on this now, we have to bootstrap from ant -> maven 3.3.9(last version that can be built with ant) -> hopefully just the latest maven version
19:43:53
@infinidoge:inx.moeInfinidoge 🏳️‍⚧️
In reply to @pyrox:pyrox.dev
okay yeah, let's just not bother with dropping it since adding the option would trigger rebuilds fafaik
I don't think adding the option with on by default should change it?
20:00:33
@infinidoge:inx.moeInfinidoge 🏳️‍⚧️Can test when I'm not in the middle of moving though20:00:46
@pyrox:pyrox.devdish [Fox/It/She]
In reply to @pyrox:pyrox.dev
working on this now, we have to bootstrap from ant -> maven 3.3.9(last version that can be built with ant) -> hopefully just the latest maven version
okay maven central seems to hate me so just never mind 🙃
20:30:46
@msgilligan:matrix.orgmsgilliganWhat happened?20:52:22
@pyrox:pyrox.devdish [Fox/It/She]when im trying to build a dependencies FOD for 3.3.9 (just as a starting point) it keeps failing to pull from central21:08:31
@pyrox:pyrox.devdish [Fox/It/She]I tried a few different things but can't figure out why it fails since I'm not a java dev normally lol21:08:52
@msgilligan:matrix.orgmsgilliganWhat kind of errors are you getting?21:11:04
11 May 2026
@jerith:matrix.orgMatt McHenry

https://github.com/NixOS/nixpkgs/pull/484741 rebuild-linux:1001-2500 🫠

yeah I was kinda floored by that too. :) But since temurin bootstraps OpenJDK, basically anything that uses Java is affected.

I took a look at a couple (gnome-shell and python-vlc) and both have plausible-seeming explanations (gnome-shell depends on libphonenumber, which apparently uses Java for some of its test cases; python-vlc depends on libbluray, and Java is part of the BluRay platform as I recall from some excited JavaOne announcement a couple decades ago :) ).

I could not find a plausible explanation for a third package I looked at, pylatex. But, I don't think there's a way around a mass-rebuild here.

20:55:51
13 May 2026
@msgilligan:matrix.orgmsgilligan

It looks like the jextract build has been broken on Darwin for almost a year. Here's a fix:

  • https://github.com/NixOS/nixpkgs/pull/519643
15:12:01
@jonhermansen:matrix.orgjonhermansen joined the room.16:44:00

Show newer messages


Back to Room ListRoom Version: 6