-
-
Notifications
You must be signed in to change notification settings - Fork 12.7k
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
treewide: pin zig package in top-level instead of the function #307268
base: master
Are you sure you want to change the base?
Conversation
Merge conflict, please rebase. Also, should we move |
Since Zig is still too unstable, the rationale we adopted is:
I believe setting zig in |
I personally don't get the need of pinning it this way, and it makes the version used less obvious. As you have stated it is often not the case that the latest zig version works for all packages (right?), so we can just leave it as-is. Also people are less likely to override it (for what?), unlike other runtime dependencies |
This is to keep the "Why a uniform You can look at the Nixpkgs Manual for some interesting examples and concepts: https://nixos.org/manual/nixpkgs/stable/#sec-overlays-alternatives And a code that overrides
How exactly? The version is clearly stated at all-packages.nix.
Yes. Zig makes some breaking changes in versions before 1.0, and sometimes the upstream developer did not update his code yet. Because of it, we had that unwritten rule I wrote above.
I don't think it is a sufficient reason to reject this patch. |
Short question: will we have things like I find you to be much more adventurous than most of us in dealing with such issues. At present, I even doubt if there is a complete consensus on "keep overriding interface", especially in practice. Can we open an issue first to discuss whether this type of modifications are valuable and whether we should enforce them? If you see an example today, change it, and give your reasons, and tomorrow you see another example, things can get even more confusing if the cycle continues. |
nixos-search and some lsps do not indicate exactly how they are called. And all-package.nix is becoming fat and annoying, as by-name is already actively avoiding it.
Isn’t it said that zig “breaks often”? Do we really need to take so much care (they can still do if we don't) of users who need to use override to jump between major versions instead of just adding some patches and parameters? I even doubt whether there are really more than 3 such users? |
I don't think so. GTK3 and GTK4 are basically different softwares that share a common repo, like Python 2 (abandonware) and 3. Usually a project needs to keep some abstraction layer in order to support different versions of GTK, and rarely it is possible to compile something which supports both at runtime. It is more typical to have
Thanks!
With Emacs we used some guards in order to warn users about deprecated and renamed parameters. And the same Also, the override interface was cited not a long time ago: #300468 (comment) So I believe that consistency in the names of inputs is a desirable outcome. The whole system is directed towards it.
If the technical arguments given above can't overcome your inertia, what else can?
is this a bug or a feature?
Yes, and in the foreseeable future this shortcomings will be dealt by
Yes, and we took some actions in order to deal with upstreams that did not catch the memos - as we typically do with everything else in Nixpkgs.
"so much"? It is at most seven lines per package, most of them even less. Also, I am doing this right away here by my own free will, doing that work in advance. Why are you scorning the work I did?
What is the threshold to overcome that inertia argument? Four? Ten? Maybe a hundred? P.S.: this is the second time an accepted RFC is treated as nothing. |
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 agree with this change. It makes the packages fit the by-name
guidelines specific mention of this case. As I understand, these were part of the RFC introducing by-name, so I don't think this is the place for re-negotiating that.
I also ran nixpkgs-review on this PR for both x86_64-linux and aarch64-darwin, and no packages were built, proving that no inputs were changed.
Additionally, this blocks #308248, which is part of the 24.05 milestone.
This pull request has been mentioned on NixOS Discourse. There might be relevant details there: https://discourse.nixos.org/t/prs-already-reviewed/2617/1614 |
429c0da
to
fffd932
Compare
Description of changes
In order to obtain a more
by-name
-compatible override interface.Things done
nix.conf
? (See Nix manual)sandbox = relaxed
sandbox = true
nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD"
. Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/
)Add a 👍 reaction to pull requests you find important.