!aRKdLCkUeIFjRPZuJT:nixos.org

NixOS JVM

142 Members
32 Servers

Load older messages


SenderMessageTime
22 May 2026
@jonhermansen:matrix.orgJon Hermansen changed their display name from jonhermansen to Jon Hermansen.19:18:42
@msgilligan:matrix.orgmsgilligan The igraph PR has been merged. Can someone rebase maven: 3.9.12 -> 3.9.16? 19:58:58
@msgilligan:matrix.orgmsgilligan

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:matrix.orgmsgilligan

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:matrix.orgmsgilligan *

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:matrix.orgmsgilligan 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:matrix.orgmsgilligan 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
@britter:yatrix.orgBenedikt 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:matrix.orgmsgilliganhttps://issues.apache.org/jira/browse/FOP-331814:43:36
@britter:yatrix.orgBenedikt Ritter (britter)You're everywhere 😏14:44:22
@msgilligan:matrix.orgmsgilligan"The turtles in the rabbit hole go all the way down" or something like that.14:44:50
@msgilligan:matrix.orgmsgilliganSince 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
@britter:yatrix.orgBenedikt 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
@britter:yatrix.orgBenedikt Ritter (britter)Submitting the patch as a PR seems the logical next step.14:48:06
@msgilligan:matrix.orgmsgilliganYeah. 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:matrix.orgmsgilliganI'be been thinking if there is a way to automate this.14:49:21
@msgilligan:matrix.orgmsgilligan 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:matrix.orgmsgilligan A similar mechanism to the way Nix composes a CLASSPATH using the files in /share/java/ of each dependency. 14:55:23
@msgilligan:matrix.orgmsgilligan 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
@britter:yatrix.orgBenedikt Ritter (britter)We all are 😏15:01:33
@msgilligan:matrix.orgmsgilliganThis is true!15:02:00
@britter:yatrix.orgBenedikt Ritter (britter)This sounds very clever. If it works 😊15:02:21
@msgilligan:matrix.orgmsgilliganDo you think it is worth investigating?15:04:09
@britter:yatrix.orgBenedikt 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:matrix.orgmsgilliganI'm waiting for Farid Zakaria to return to Santa Cruz so I can ask him about it.15:06:37
@msgilligan:matrix.orgmsgilligan 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
@britter:yatrix.orgBenedikt Ritter (britter)A sprint in Mexico. Nice!15:14:55
@britter:yatrix.orgBenedikt 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
@pyrox:pyrox.devdish [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:matrix.orgmsgilliganThat would be awesome! How is that even done? What permissions does one need?15:28:46

Show newer messages


Back to Room ListRoom Version: 6