-
-
Notifications
You must be signed in to change notification settings - Fork 15k
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
qt5: 5.12.7 -> 5.14.2 #84232
qt5: 5.12.7 -> 5.14.2 #84232
Conversation
qt5.qttools fails to build, because:
But some desktop applications like tdesktop and qutebrowser are working fine. |
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.
Diff LGTM, except for minor nits. No expert in this domain, so I'll defer to someone else (no way will my computer handle building and verifying the ~6000 affected packages lol).
I will run nix-review at some point. |
Now using this on my everyday system \o/ |
I've been working on the Plasma 5 NixOS test. I had to update KDE frameworks, plasma5, quassel and grandlee so far to make them build with the new Qt. Update: Plasma builds and starts fine now, but some of the patches will have to be re-done properly since wallpapers and some shared libraries are not detected properly. Take a look at https://github.com/petabyteboy/nixpkgs/commits/feature/plasma-5-18 |
I am unsure what is the best approach to get this new Qt version to NixOS users. One possible approach is to set the new version as default from the beginning and try to fix as much as possible rightaway. This will probably be the quickest way to get as many applications as possible on the new Qt version, which is by the way required for some of the fixes to work (wayland clipboard will only be better in the applications that are built with the new Qt). Another approach would be to leave 5.12 as the default version and gradually move packages to the new version. This has the advantage that we can check every package thoroughly, but we risk that many applications will still use 5.12 in NixOS 20.09. |
@petabyteboy In the past, we have done Qt 5 upgrades by changing the default version (the |
Quassel situation isn't very nice: both core and client seem to work when updated to latest git commit, but that's technically not a stable release, so probably wiser to kick it back to Qt5.12 until next release? Not sure how we would be supposed to remember to pull it back to the future once it's officially updated... Other than that, I'm here because of qutebrowser, but something about QtWebEngine appears not to agree with my machine, so that I can't test. My desktop is at the moment rebuilding without QtWebEngine, which means I'll accidentally test some of #84542 too. |
Hey, let me see what I can do for you in terms of QtWebEngine and qutebrowser. I will set up a small repository that includes an overlay and a fixed version of nixpkgs, similar to colemickens' nixpkgs-chromium and push the build results to a Cachix cache. About quassel: The daemon has problems finding it's database library, so even then it doesn't work. I'm just using the client with the latest master commit, but that shouldn't be something we commit to nixpkgs. Instead we should either backport the necessary patches to the last Quassel release or leave Quassel with Qt5.12 until there is a new release. |
That would be most gracious of you, but nevermind, I've somehow successfully built qutebrowser and webengine without realising... As you can tell from my comment, nix frequently conspires against my expectations. Which in the end means this seems to build for me all right! Besides a few other apps you don't mention to be broken not being broken, I checked on some others that might affect me:
I'll report with more details about digikam once I finish shaving the required yaks, which don't appear to be few... |
Apparently a big enough yak and many yaks in a row look very similar. Digikam failed because building libqtav fails. libqtav has a new version github is displaying slightly different, apparently tags != releases? Whatever, but maybe that's why we haven't updated it automatically. In any case, latest libqtav doesn't build either, but HEAD felt like working. Currently 60% along building qtwebkit (dear god why help me not another html engine), and only one more derivation left before digikam's turn. Additionally, reading through the list, rssguard caught my attention, I read up on it, and out of curiosity I decided to attempt to fix it. Once again, it's one release behind, but latest stable doesn't build either. Besides qmake being bollocks, I don't understand the error in question ( |
Thanks for helping with testing. I have rebased on top of master and confirmed the ones you mentioned to be working. Unfortunately I ran into another issue that is giving me headaches: If anyone is in need of prebuilt QtWebEngine binaries for Qt5.14, maybe because they want to use a QtWebEngine-based browser with TLSv1.3 support, this is available here. I can also confirm the following applications still don't build for me after the rebase: |
Right, the plasma issues make sense. You just prevented me from flooding the plasma update PR with panic and "everything is broken" comments :'D Short version is, yeah, randomly missing QML modules, no wallpapers, most systemsettings KCMs are broken. I just contacted the email listed at the github.com/kde organisation, in case that reaches someone that can fix digikam being out of date. So you go to all this effort to get a more secure QtWebEngine... and I just wanted to have a browser not blind me in every website. Nice priorities, go me :P |
I have news about digikam: It failed to build! Hooray! When trying to re-build it with useful logs ( While I'm at it, I'll see if the rest of plasma gets any better with new frameworks. Applications seems to be up-to-date. |
Wait, are Qt applications failing in general? I've only noticed brokenness with KDE stuffs, which would point to "updating frameworks" being a helpful step. But you're right, quassel doesn't seem to depend on that. Welp :( |
If you experience the "everything is broken" with the current state of the Plasma update PR, without the Qt update, please flood it with comments. I would expect most these problems to only occur when the Qt update is applied as well. Multiple failures I have anlayzed were caused by an issue with the outputs of qttools. For example the mpc-qt build fails, because About the general problems with some applications built agains new Qt: Quassel does actually use quite a few of the k* libraries. I'm not sure if the problem lies in the kdeFrameworks, I haven't seen an application that is broken and doesn't use the k* libraries. I guess updating the frameworks would be worth a try, but I wouldn't count on it fixing the issue. |
Progress with digikam: cmake failure, with viable logs. Seems like multiple outputs are messing up cmake, and the .cmake in exiv2-dev points to a file found in main exiv2. I know this must be easily fixable, but not how exactly. I'm parking this for now. Only editing to mention the possibility of that being exactly this issue :/
Yeah, between my tendency to try to do a hundred things at once and the resulting confusion, I'd expect at least some of my issues to be my own fault. I'll try to separate, but at some point these are going to have to learn to live together :P For now, I confirm Qt 5.14 + Plasma 5.18 + Frameworks 5.69 fails miserably :( Currently rebuilding Plasma 5.18 without Qt or Frameworks updates.
The split in qttools looks fun. -bin has lupdate-pro, but lupdate lives in -dev. -dev also has a lupdate-pro, but it actually is a symlink to -bin. Many of the files in qttools-dev/bin are like that, a symlink to -bin/bin. Hopefully this make more sense if one understands what qttools is, but I don't. |
Unless anyone raises new or existing concerns I will merge this today |
nice work everyone :) |
Can some of you have a look at the channel-blocking darwin failure? #95199 |
This un-breaks libqtav by upgrading it to the current upstream HEAD. Previously, Qtav was broken by the Qt 5.12 -> 5.14 migration (NixOS#84232). See commit 819bb63 This also un-pins ffmpeg_3; libqtav works fine with current ffmpeg. Digikam is the only derivation in nixpkgs that has referenced libqtav, thus upgrading to a pre-release revision poses minimal risk.
This un-breaks libqtav by upgrading it to the current upstream HEAD. Previously, Qtav was broken by the Qt 5.12 -> 5.14 migration (NixOS#84232). See commit 819bb63 This also un-pins ffmpeg_3; libqtav works fine with current ffmpeg. Digikam is the only derivation in nixpkgs that has referenced libqtav, thus upgrading to a pre-release revision poses minimal risk.
Motivation for this change
Fixes #74355
Fixes #81894
To-Do list:
Things done
sandbox
innix.conf
on non-NixOS linux)nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
./result/bin/
)nix path-info -S
before and after)