-
-
Notifications
You must be signed in to change notification settings - Fork 15.5k
all-packages.nix: cleanup, remove res.
(next stage super)
#56119
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
@@ -4823,27 +4823,29 @@ in | |||
|
|||
phodav = callPackage ../tools/networking/phodav { }; | |||
|
|||
pinentry = callPackage ../tools/security/pinentry { | |||
pinentry-real = callPackage ../tools/security/pinentry { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Any reason for doing this? I'd prefer to not introduce any new names like pinentry-real.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
See #55061 (comment) and above discussion.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I guess I'd rather have res. than have to deal with the -real derivations. You could also fix the no-x-libs.nix thing by just overriding like:
pinentry = super.pinentry.override {
gtk2 = null;
}
in no-x-libs.nix
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i suppose this isn't so bad for now. Could you call it pinentry_gtk2 to a be a little more descriptive?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What worries me though is having to have a "real" version for every package with an override. That looks like it is needed for the a = a_<flavor>;
type overrides to work.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This has been replaced by a multiple outputs on a single derivation. While that's horrible for derivation closure size and rebuilds, it makes this discussion irrelevant for now.
The problem is not with just removing I imagine another solution (at least for pinentry case):
In that case there will be no common ancestor, so overrides will behave better (for a while). It is also slightly more verbose, to discourage such pattern use in The changes, which don't use |
@matthewbauer I don't like I don't think The If we don't care about overriding all at once, then @danbst's is the best solution of all as it's truely local. Great idea @danbst!! |
It doesn't sound that local to me. It sounds like anything using an override (or even aliases) within all-packages.nix could run into this problem. @danbst would work okay, but this would be a lot of recs introduced to support all of the override cases. My ideal solution would be to move all of these overrides to Otherwise, maybe we should just move back to using callPackage multiple times? I prefer using override because it makes it more clear what the "true" package is but we don't want to have this kind of thing broken... |
Err my local I meant each instance of the problem, i.e. only the other pinentries need to worry about the base one, be it be given its own name or thrown away as a temporary. |
@danbst's hack is cute, but if not the `-real` suffix then I vote for pure `callPackage` solution. Anything that is duplicated just needs to be moved to the package expression itself anyway.
|
agree about callPackage and moving common stuff to package itself. |
@matthewbauer did you change your mind on this? |
Regarding pinentry, #49270 will split it into multiple outputs instead of overrides. |
Thank you for your contributions.
|
Closing as dead. |
What? Why?
#55061, but with tests still evaluating, as far as I can see.
git log
libxml2Python: move from all-packages.nix
all-packages.nix: kill all noop uses of
res
nix-instantiate
environmentnix-env -qaP
diffs/cc @Ericson2314 @danbst @infinisil from #55061