Skip to content
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.14.2 -> 5.15.0 #96619

Closed
wants to merge 8 commits into from
Closed

qt5: 5.14.2 -> 5.15.0 #96619

wants to merge 8 commits into from

Conversation

gebner
Copy link
Member

@gebner gebner commented Aug 29, 2020

Motivation for this change

Update to Qt 5.15.

This is just a rebased version of https://github.com/petabyteboy/nixpkgs/pull/1
All thanks go to @nrdxp and @petabyteboy who did the actual work

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Ensured that relevant documentation is up to date
  • Fits CONTRIBUTING.md.

@ghost
Copy link

ghost commented Aug 30, 2020

I have rebased this to current master and added the change from #95772 to Qt 5.15 as well.

@ghost
Copy link

ghost commented Aug 30, 2020

This should probably go to the staging branch, can you change that?

@gebner gebner changed the base branch from master to staging August 30, 2020 09:59
@gebner
Copy link
Member Author

gebner commented Aug 30, 2020

I've rebased it to staging.

@periklis periklis removed their request for review August 31, 2020 07:05
@ttuegel ttuegel modified the milestones: 21.03, 20.09 Sep 2, 2020
@ttuegel
Copy link
Member

ttuegel commented Sep 2, 2020

I moved the milestone. I want to have this in NixOS 20.09 because the support window for Qt 5.14 will end before NixOS 21.03. I'm building this locally right now, but obviously I won't be able to finish reviewing until tomorrow. 😅

This reverts commit bec5405.

Qt 5.14 is still supported upstream, so we will not remove it yet.
Qt 5.15 is not officially supported by many packages, notably Plasma.
@@ -312,7 +311,6 @@ stdenv.mkDerivation {
[
"-${lib.optionalString (compareVersion "5.9.0" < 0) "no-"}rpath"

"-system-xcb"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Have these configuration changes been tested with Qt 5.12 and Qt 5.14?

@ttuegel ttuegel marked this pull request as ready for review September 4, 2020 10:17
@ttuegel
Copy link
Member

ttuegel commented Sep 4, 2020

I still want to merge this, but we will not make Qt 5.15 the default version. It is not officially supported by many packages yet, particularly it is unsupported by Plasma.

@ofborg ofborg bot removed the 6.topic: python label Sep 4, 2020
@worldofpeace worldofpeace added this to To Do in 20.09 Blockers via automation Sep 4, 2020
@worldofpeace
Copy link
Contributor

worldofpeace commented Sep 4, 2020

@ttuegel So we have to use a version of qt in stable for plasma that won't be supported (at some tiny point before 21.03)?

@ajs124
Copy link
Member

ajs124 commented Sep 4, 2020

From looking at all-packages.nix, default for linux is 5.14 right now, which will be supported until 2020-12-12.
5.12 is still supported until 2020-12-12.

@FRidh FRidh added this to WIP in Staging via automation Sep 4, 2020
@FRidh FRidh moved this from WIP to Needs review in Staging Sep 4, 2020
@ttuegel
Copy link
Member

ttuegel commented Sep 5, 2020

So we have to use a version of qt in stable for plasma that won't be supported (at some tiny point before 21.03)?

@worldofpeace We actually need to revert to Qt 5.12 in stable. Plasma 5.18 doesn't support Qt 5.14, and Plasma 5.19 is only supported until October (and isn't merged anyway).

@gebner
Copy link
Member Author

gebner commented Sep 5, 2020

@worldofpeace We actually need to revert to Qt 5.12 in stable. Plasma 5.18 doesn't support Qt 5.14, and Plasma 5.19 is only supported until October (and isn't merged anyway).

I don't think we should stick with LTS versions of Plasma if that means we can't upgrade Qt. AFAICT Plasma LTS releases only come around once every 1.5 years, so we would only be able to upgrade Qt every 1.5 years either.

If maintaining non-LTS versions (5.19) of Plasma is infeasible, could we instead override the Qt version only for Plasma and keep the system version at 5.15?

BTW, did you run into any other build errors with 5.15 aside from Plasma?

@ttuegel
Copy link
Member

ttuegel commented Sep 5, 2020

I don't think we should stick with LTS versions of Plasma if that means we can't upgrade Qt.

Plasma 5.18 is the only version of Plasma that will have support through our support window for NixOS 20.09, so I don't think we have much choice there. Plasma 5.20 won't be released until October, and Plasma 5.19's support window expires shortly after. We don't have the resources to be backporting security patches onto Plasma 5.19 for six months. Qt 5.12 is also an LTS release, with security updates beyond the support window of NixOS 20.09.

The status of different version combinations is:

  1. I can't even build Qt 5.15 right now, let alone build anything with it.
  2. Plasma 5.18 officially supports Qt 5.12. Plasma 5.18 builds with Qt 5.14, but it's not officially supported upstream and it's very glitchy. (I'm using it right now, but I haven't been able to update my main work machine because it's so bad.)
  3. Plasma 5.19 supports Qt 5.14 officially. It does not support Qt 5.15, so I expect that combination to be buggy. The support window ends when Plasma 5.20 is released in October. It's too late to update for NixOS 20.09 now, and even if I begged for an exception (which I won't) I can't see how we can support it until NixOS 21.03.

I can't imagine foisting any combination other than Plasma 5.18 + Qt 5.12 on users of NixOS 20.09. The combination is supported upstream and each has LTS support through our support window. I think anything else would be an utter disaster.

Edit:

If maintaining non-LTS versions (5.19) of Plasma is infeasible, could we instead override the Qt version only for Plasma and keep the system version at 5.15?

Maybe. I think we have several custom patches to support Qt 5.14 with various applications, and even though they build, I'm not sure they work right. In general, open source applications are very slow to adapt to new Qt versions, so I don't see any reason we should be so eager. At least, I'd be happier adding the new version and waiting for application maintainers to pin their packages to the new version.

@worldofpeace
Copy link
Contributor

@ttuegel All of that sounds good to me. I encourage any option that makes Plasma use Qt 5.12.

@ttuegel
Copy link
Member

ttuegel commented Sep 5, 2020

I'm going to open two separate pull requests:

  1. Add Qt 5.15 and make it the default for everything except Plasma and KDE Applications, which stay at Qt 5.14. (I know, yet another pull request, I'm sorry.) I think this one can go directly into master because it shouldn't be a mass rebuild.
  2. Revert Plasma 5.18 to Qt 5.12. This needs to go into staging because it is a mass rebuild. This does not need to hold up the release branch because we can always push it into the release staging branch after. (It's a 3-line change, there won't be conflicts.)

I think this meets everyone's needs, and we can get it done quickly.

@ttuegel ttuegel mentioned this pull request Sep 5, 2020
10 tasks
@periklis periklis removed their request for review September 6, 2020 09:22
@ttuegel ttuegel closed this Sep 8, 2020
Staging automation moved this from Needs review to Done Sep 8, 2020
20.09 Blockers automation moved this from To Do to Done Sep 8, 2020
@worldofpeace worldofpeace added this to In progress in 20.09 Blockers via automation Oct 5, 2020
@worldofpeace worldofpeace removed this from Done in 20.09 Blockers Oct 5, 2020
@worldofpeace worldofpeace moved this from In progress to Done in 20.09 Blockers Oct 5, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Staging
  
Done
Development

Successfully merging this pull request may close these issues.

None yet

5 participants