I love updateScripts, and I love it when packages have updateScripts, because I love fresh packages and automated version bumps. I’d like to write an updateScript for the Wine package.
Wine has a complex structure in Nixpkgs. There are multiple top-level attributes corresponding both to different builds of the same Wine source code (
wine64) and different source trees (
wine-wayland), and there are also package sets holding further variations, resulting in a few dozen distinct derivations. All of these derivations get their sources from a single
sources.nix file (which also includes the source information for
winetricks, for some reason, despite the main Wine packages not using
winetricks directly). There are some interesting cross-dependencies inside
sources.nix—for example, notice how
stable but defines its own
It’s nontrivial but ultimately not that hard to write a script that updates every version in
sources.nix without changing any of the dependency structure, but to conform to the updateScript convention, is that the right thing to do? Which derivation should get that script as its
passthru.updateScript—one, or all of them? Or should I instead try to write one script for
stable, one for
unstable, etc.—and if so, how should I handle the dependencies between the different sources? (And even then, since there are multiple derivations associated with each source, the same question as before: do they all get copies of the update script for a given source, or should only one of them?)
Is this ultimately a question for the Wine Nixpkgs maintainers or are there best practices for this sort of thing that I can reference as a starting point for a PR?