| 31 Mar 2025 |
John Ericson | Ultimately I will prioritize a good healthy working relationship over not delaying the split package 6 months more | 21:17:05 |
John Ericson | but please ask yourself | 21:17:08 |
John Ericson | the list of things above | 21:17:12 |
John Ericson | it looks entirely like static known issues to me | 21:17:23 |
John Ericson | I am a bit scared for 2.28 right now, yes, because that is where unknown-unknowns come from | 21:17:39 |
John Ericson | but you already proposed we do just that (and monopackage) | 21:17:53 |
emily | nothing blocks shipping a patching mechanism that works with both packagings in 25.06 and backporting to 24.11, right? | 21:18:00 |
John Ericson | the marginial cost of the split package feels very low to me | 21:18:09 |
emily | in which case we would be free to break the old way in 25.11 | 21:18:14 |
John Ericson | because we can simply test all the things you mentioned right away | 21:18:20 |
John Ericson | there aren't really latant issues | 21:18:24 |
John Ericson | you mean a patching mechanism that works with split and unsplit packages? | 21:19:26 |
John Ericson | I am not sure, probably not | 21:19:31 |
emily | how people consume our packages is a tragic unknown. though of course we always have to draw a line somewhere but look at how breaking changes to lib are handled for how our caution should increase as the criticality does | 21:19:36 |
emily | and again if we were keeping packaging constant but bumping version or vice versa (not possible in this case, I know), there would still be concerns but of lower magnitude | 21:20:18 |
John Ericson | I'm thinking about it | 21:28:38 |
John Ericson | (but I also walked out to eat) | 21:34:03 |
@trofi:matrix.org | I wonder what it would look like if every single nixpkgs package had their own unique helper to apply patches and change depends :) | 21:35:47 |
roberth | it's a package set | 21:49:10 |
roberth | actually I think it would be great, because we'd settle on a standard interface for doing just those things and nothing else, and we'll finally have an interface boundary | 21:49:57 |
roberth | overriding arbitrary internals would be frowned upon, because that is not a testable or maintainable interface. Instead, users would contribute functions, tests, and documentation to support their use cases instead of trying to work around the unpredictable internal changes in packages. It'd be glorious | 21:53:02 |
raitobezarius | In reply to @elvishjerricco:matrix.org raitobezarius: I would like to know an example I could use to verify whether or not Nix actually has the problem you describe. nix-eval-jobs with nix 2.X and 2.Y the entirety of nixpkgs and then compare the outPath? | 21:59:36 |
llakala | In reply to @trofi:matrix.org I wonder what it would look like if every single nixpkgs package had their own unique helper to apply patches and change depends :) applyPatches does this in some sense, but with IFD... | 22:00:14 |
llakala | hopefully we can eventually get to the point where IFD isn't a problem | 22:00:37 |
llakala | as Tvix/Snix shows us, it is indeed possible | 22:01:01 |
raitobezarius | In reply to @roberthensing:matrix.org overriding arbitrary internals would be frowned upon, because that is not a testable or maintainable interface. Instead, users would contribute functions, tests, and documentation to support their use cases instead of trying to work around the unpredictable internal changes in packages. It'd be glorious i kinda disagree with this portrayal of the current state of things, there was a naturally developed API for overriding packages which is explained in Nix pills and stuff, overrideAttrs has some standard expectations: you can override patches, etc, etc.
this all solidified quite well without many efforts thanks to automatic injection of these attributes and pushing packagers to use a set of mostly standard APIs, of course, some packagers went their own way, e.g. python3Packages and the suffering caused by that is reported constantly in the well known issue, I don't think a day passed with people saying "I'm glad that python3Packages has its own API for override and its own contract" that no one knows
having an API to inject your own override / overrideAttrs is 95 % of the time not needed, most packages have absolutely boring needs | 22:03:38 |
raitobezarius | the interface boundary kinda exist today, it just is not super well made for package sets indeed, but there's already a bunch of this that already works and arguably the Nix implementation is even more complicated than a trivial package set and the current situation with nixForLinking does not really address the "let me choose my Nix version while importing nixpkgs once" | 22:04:56 |
roberth | yeah I was replying to trofi's scenario :) | 22:07:06 |
roberth | not the current state of things | 22:07:16 |
@trofi:matrix.org | heh :) | 22:07:35 |