| 9 May 2026 |
Benedikt 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 |
dish [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 |
Benedikt Ritter (britter) | Sounds good to me. I doubt that it's needed. But I don't know 🤷♂️ | 17:44:19 |
dish [Fox/It/She] | I'm not sure as well, which is why i asked here 😅 | 17:47:02 |
Infinidoge 🏳️⚧️ | It might be required for inspecting the definitions of Java objects | 18:15:21 |
Infinidoge 🏳️⚧️ | Would have to test though | 18:15:38 |
emily | IDE support? | 18:17:08 |
Infinidoge 🏳️⚧️ | I believe so, not entirely sure how to interpret that as a question | 18:18:06 |
emily | as in, perhaps src.zip is used for looking up things in the stdlib from IDEs | 18:19:13 |
emily | (that's what the Rust source code gets used for at least) | 18:19:21 |
msgilligan | 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 | 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 | 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 |
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 🏳️⚧️ | Suffice it to say no need to drop it l | 18:24:58 |
Infinidoge 🏳️⚧️ | * Suffice it to say no need to drop it | 18:25:08 |
Infinidoge 🏳️⚧️ | Maybe add a withSrc override or something in case someone needs it, but default to having it | 18:25:27 |
dish [Fox/It/She] | okay yeah, let's just not bother with dropping it since adding the option would trigger rebuilds fafaik | 19:32:14 |
dish [Fox/It/She] | thanks for the clarification on its use @msgilligan | 19:32:30 |
dish [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 🏳️⚧️ | 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 🏳️⚧️ | Can test when I'm not in the middle of moving though | 20:00:46 |
dish [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 | What happened? | 20:52:22 |
dish [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 central | 21:08:31 |
dish [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 lol | 21:08:52 |
msgilligan | What kind of errors are you getting? | 21:11:04 |
| 11 May 2026 |
Matt 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 | 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 joined the room. | 16:44:00 |