| 22 May 2026 |
| Jon Hermansen changed their display name from jonhermansen to Jon Hermansen. | 19:18:42 |
msgilligan | The igraph PR has been merged. Can someone rebase maven: 3.9.12 -> 3.9.16? | 19:58:58 |
msgilligan | The igraph update should reduce the number of package-build failures from 109 to about 40. And most (possibly even all) of the remaining failures are due to packages not having Stable Maven plugins as described in the Nixpkgs Manual:
Maven defines default versions for its core plugins, e.g. maven-compiler-plugin. If your project does not override these versions, an upgrade of Maven will change the version of the used plugins, and therefore the derivation and hash.
When maven is upgraded, mvnHash for the derivation must be updated as well: otherwise, the project will be built on the derivation of old plugins, and fail because the requested plugins are missing.
| 20:04:39 |
msgilligan | So to get an up-to-date Maven without breaking ~40 dependencies, for each dependency we need to either:
- Add a
pom.xml patch, like this merged fix for fop: https://github.com/NixOS/nixpkgs/pull/522916
- Update the
mavnHash, like in this unmerged commit for kotlin-interactive-shell: https://github.com/NixOS/nixpkgs/pull/522831/commits/7b6b4f8df72ba56b644e32c7719437e2ec6328e1
| 21:20:09 |
msgilligan | * So to get an up-to-date Maven without breaking ~40 dependencies, for each dependency we need to either:
- Add a
pom.xml patch, like this merged fix for fop: https://github.com/NixOS/nixpkgs/pull/522916
- Update the
mvnHash in the package.nix, like in this unmerged commit for kotlin-interactive-shell: https://github.com/NixOS/nixpkgs/pull/522831/commits/7b6b4f8df72ba56b644e32c7719437e2ec6328e1
| 21:21:09 |
msgilligan | The advantage to the pom.xml approach is that it can be done independently (i.e. before) the Maven upgrade and won't break upon future Maven upgrades. | 21:23:17 |
msgilligan | The mvnHash update must occur in the same commit as the Maven update because there is effectively a circular dependency. | 21:24:09 |
| 23 May 2026 |
Benedikt Ritter (britter) | Maybe we can convince some of the upstream maintainers to fix plugin versions, so we don't have to. | 14:42:37 |
msgilligan | https://issues.apache.org/jira/browse/FOP-3318 | 14:43:36 |
Benedikt Ritter (britter) | You're everywhere 😏 | 14:44:22 |
msgilligan | "The turtles in the rabbit hole go all the way down" or something like that. | 14:44:50 |
msgilligan | Since I made the PR to fix FOP, I figure I should at least open an issue upstream with a link to it. | 14:46:51 |
Benedikt Ritter (britter) | I think this can be helpful to identify more packages like igraph: https://github.com/craigmbooth/nix-visualize
We should try to use it on Java packages and look for nodes that produce lots of downstream dependencies. So basically nodes that depend on something like Maven and then are depended upon by many others. | 14:47:34 |
Benedikt Ritter (britter) | Submitting the patch as a PR seems the logical next step. | 14:48:06 |
msgilligan | Yeah. I asked the Nixpkgs maintainer of FOP to open an issue and a PR (after he said it was a good idea) and he said he was too busy. | 14:48:52 |
msgilligan | I'be been thinking if there is a way to automate this. | 14:49:21 |
msgilligan | The rough idea I have is that there should be a way to compose Maven repository entries for packages. I think the mechanism behind mvnHash might be doing something like this. Perhaps the maven package itself could have an output that is a mini-Maven-repo with its default plugin dependencies in it. Then a package like fop could access that through a symlink. | 14:53:02 |
msgilligan | A similar mechanism to the way Nix composes a CLASSPATH using the files in /share/java/ of each dependency. | 14:55:23 |
msgilligan | So, a package like secp-jdk would have a custom, private maven repo in /nix/store composed of all its JAR dependencies and (if necessary) the default plugins from this now output of the maven package. | 14:57:03 |
Benedikt Ritter (britter) | We all are 😏 | 15:01:33 |
msgilligan | This is true! | 15:02:00 |
Benedikt Ritter (britter) | This sounds very clever. If it works 😊 | 15:02:21 |
msgilligan | Do you think it is worth investigating? | 15:04:09 |
Benedikt Ritter (britter) | Definitely. It's pretty clever. I'm jealous I didn't come up with it 😂
Havent looked into how buildMavenPackage constructs the Maven repo. If you figure out along the way, don't forget to write "Wrapping oak leaves in snowflakes" | 15:05:42 |
msgilligan | I'm waiting for Farid Zakaria to return to Santa Cruz so I can ask him about it. | 15:06:37 |
msgilligan | I'm also encouraging my son to apply to the Taco Sprint (apparently they may accept applications past the deadline) -- I can't go. If I could I would. | 15:07:53 |
Benedikt Ritter (britter) | A sprint in Mexico. Nice! | 15:14:55 |
Benedikt Ritter (britter) | We need a website the lists all the sprints. I only knew OceanSprint, Aurora Sprint, Salt Sprint, Tiger Sprint and (canceled) Transilvania Sprint. | 15:16:11 |
dish [Fox/It/She] | In reply to @msgilligan:matrix.org The igraph PR has been merged. Can someone rebase maven: 3.9.12 -> 3.9.16? still need someone to do this? I can grab it today if so | 15:22:32 |
msgilligan | That would be awesome! How is that even done? What permissions does one need? | 15:28:46 |