-
-
Notifications
You must be signed in to change notification settings - Fork 15.1k
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
Python packages depending on qt5, use qt514 while all-packages.nix defaults to qt515, causing incompatibilities. #99937
Comments
Updating pyqt5 in #99933 does not solve the issue. |
qt5 is overridden for all python. I described what I know of the history here: #99458 (comment). Anyway, I think packages shouldn't blindly expect any qt5 version in python. We should somehow add a test whether a package uses inconsistend qt5 versions, but in general, packages using pyqt5 should adapt to it or override it, since adapting is almost trivial. Unfortunately, overriding isn't: Look at qutebrowser here: #98197. Unfortunately, there is no check for inconsistent dependencies implemented, I think. Almost all python+qt5 packages that use inconsistent versions should fail. |
Thanks for the references. To summarize, this explains the situation: nixpkgs/pkgs/top-level/all-packages.nix Lines 10165 to 10171 in 626ce32
But why do that? This is not inline with I think we should remove that override, and override every python package to use libsForQt514 only if needed. |
Applications can be overridden to use a different Qt, libraries cannot. I don't know which one we should be using here. There was quite some confusion regarding the Qt versions, along with some incorrect commits (including mine) setting Qt versions for Python packages. If we think the libraries should be built with 5.15, and overridden for certain applications, then that is of course fine, and we should remove this override. |
Why? Because of Nixpkgs or because of the libraries themselves?
If we think the libraries are compatible with 5.15. At least qtwebkit isn't, but this is a qt library anyway and it's probably best overridden for every application using it. |
This is essentially correct, but let me expand on it:
|
Thank you for the explanation. That is exactly how it is for Python packages as well. I think that is also what makes it so tricky here, both Qt and Python having these type of restrictions. For any package, all its Qt libraries need to be compatible, all its Python packages need to be compatible. Finally, the bindings that are used need to be handle the versions. |
These packages didn't build with Qt 5.15, which we were about to make the default on |
Describe the bug
Experienced here: #99465 (comment) and here: #99685 (comment)
How come pyqt5 winds up with qt-5.14 in it's inputs and in it's references? Considering:
nixpkgs/pkgs/top-level/all-packages.nix
Lines 15002 to 15003 in 433db45
And:
nixpkgs/pkgs/top-level/python-packages.nix
Lines 5278 to 5280 in 433db45
To Reproduce
Expected behavior
No qt5.14 references.
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Add any other context about the problem here.
Notify maintainers
cc @sander
Maintainer information:
The text was updated successfully, but these errors were encountered: