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

qt 5.12.0 -> 5.12.3 WIP #60119

Closed
wants to merge 1 commit into from
Closed

qt 5.12.0 -> 5.12.3 WIP #60119

wants to merge 1 commit into from

Conversation

vandenoever
Copy link
Contributor

@vandenoever vandenoever commented Apr 23, 2019

Motivation for this change

Qt 5.12 has received 3 bugfix releases since 5.12.0. However updating it has proven non-trivial. This PR is a WIP.

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
  • 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 nix-review --run "nix-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)
  • Assured whether relevant documentation is up to date
  • Fits CONTRIBUTING.md.

@vandenoever
Copy link
Contributor Author

See also #57042

@ttuegel
Copy link
Member

ttuegel commented Apr 27, 2019

Does the configure script produce a log file, so we could see what compilation tests it's doing?

@vandenoever
Copy link
Contributor Author

vandenoever commented Apr 27, 2019

Yes there was.

config.log

The first FAILED is about not finding zlib:

None of [libz.so libz.a] found in [] and global paths.

@vandenoever
Copy link
Contributor Author

qtbase compiles in the latest version of this patch.

@vandenoever
Copy link
Contributor Author

The current patch compiles, but does not work with X11: a KDE system with it does not start the graphical login sddm.

This is the configuration report of Qt 5.12.0 next to that of Qt 5.12.3:

Qt Gui:                                                         Qt Gui:
  Accessibility .......................... yes                    Accessibility .......................... yes
  FreeType ............................... yes                    FreeType ............................... yes
    Using system FreeType ................ yes                      Using system FreeType ................ yes
  HarfBuzz ............................... yes                    HarfBuzz ............................... yes
    Using system HarfBuzz ................ yes                      Using system HarfBuzz ................ yes
  Fontconfig ............................. yes                    Fontconfig ............................. yes
  Image formats:                                                  Image formats:
    GIF .................................. yes                      GIF .................................. yes
    ICO .................................. yes                      ICO .................................. yes
    JPEG ................................. yes                      JPEG ................................. yes
      Using system libjpeg ............... yes                        Using system libjpeg ............... yes
    PNG .................................. yes                      PNG .................................. yes
      Using system libpng ................ yes                        Using system libpng ................ yes
  EGL .................................... yes                    EGL .................................... yes
  OpenVG ................................. no                     OpenVG ................................. no
  OpenGL:                                                         OpenGL:
    Desktop OpenGL ....................... yes                      Desktop OpenGL ....................... yes
    OpenGL ES 2.0 ........................ no                       OpenGL ES 2.0 ........................ no
    OpenGL ES 3.0 ........................ no                       OpenGL ES 3.0 ........................ no
    OpenGL ES 3.1 ........................ no                       OpenGL ES 3.1 ........................ no
    OpenGL ES 3.2 ........................ no                       OpenGL ES 3.2 ........................ no
  Vulkan ................................. no                     Vulkan ................................. no
  Session Management ..................... yes                    Session Management ..................... yes
Features used by QPA backends:                                  Features used by QPA backends:
  evdev .................................. yes                    evdev .................................. yes
  libinput ............................... yes                    libinput ............................... yes
  INTEGRITY HID .......................... no                     INTEGRITY HID .......................... no
  mtdev .................................. no                     mtdev .................................. no
  tslib .................................. no                     tslib .................................. no
  xkbcommon-evdev ........................ yes                |   xkbcommon .............................. yes
                                                              >   X11 specific:
                                                              >     XLib ................................. no
                                                              >     XCB Xlib ............................. no
                                                              >     EGL on X11 ........................... no
QPA backends:                                                   QPA backends:
  DirectFB ............................... no                     DirectFB ............................... no
  EGLFS .................................. no                     EGLFS .................................. no
  LinuxFB ................................ no                     LinuxFB ................................ no
  VNC .................................... yes                    VNC .................................... yes
  Mir client ............................. no                     Mir client ............................. no
  X11:                                                        |   XCB:
    Using system-provided XCB libraries .. yes                      Using system-provided XCB libraries .. yes
    EGL on X11 ........................... yes                <
    XCB XKB .............................. yes                      XCB XKB .............................. yes
    XLib ................................. yes                <
    XCB render ........................... yes                <
    XCB GLX .............................. yes                <
    XCB XInput ........................... yes                      XCB XInput ........................... yes
    XCB Xlib ............................. yes                |     Native painting (experimental) ....... no
    Using system-provided xkbcommon ...... yes                |     GL integrations:
    Native painting (experimental) ....... yes                |       GLX Plugin ......................... no
                                                              >       EGL-X11 Plugin ..................... no

The GLX Plugin and EGL-X11 Plugin are missing, as is the XLib detection.

@vandenoever
Copy link
Contributor Author

The current version of the patch detects X properly. All the features detected in Qt 5.12.0 are also detected in Qt 5.12.3.

Testing will be done once the patched version and KDE software has compiled.

@vandenoever
Copy link
Contributor Author

I'm running my desktop now with Qt 5.12.3 (this patch) and the latest KDE software on NixOS 19.03.

Everything works except the global KWin shortcuts (Alt-Tab, Ctrl-F1 etc). Other global shortcut like Alt-Space / Alt-F2, Meta-P still work. I'm not sure this is related to this patch.

@vandenoever
Copy link
Contributor Author

After rebooting the machine the global kwin shortcuts work again. In fact, the bug that I hoped would be fixed by upgrading from Qt 5.12.0 to Qt 5.12.3 is gone. https://bugs.kde.org/show_bug.cgi?id=406829

@dtzWill
Copy link
Member

dtzWill commented May 7, 2019 via email

@@ -12717,7 +12717,7 @@ in
inherit stdenv fetchurl fetchFromGitHub makeSetupHook;
bison = bison2; # error: too few arguments to function 'int yylex(...
inherit cups;
harfbuzz = harfbuzzFull;
inherit harfbuzz;
Copy link
Member

Choose a reason for hiding this comment

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

This should be under qt512 in order for qtbase to pass configurePhase.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Fixed!

@eadwu
Copy link
Member

eadwu commented May 27, 2019

Builds fine in sandbox on x86_64. Everything I use looks more or less the same with the upgrade while what was broken with 5.12.0 is still broken for me.

@vandenoever
Copy link
Contributor Author

In the meantime qt 5.12.4 has been released.

@dtzWill
Copy link
Member

dtzWill commented Jun 20, 2019

5.12.4 seems close to 5.12.3, but I'm having trouble "sanely" forward-porting the qtbase-related patches-- mostly I'm at the point of essentially rewriting them from scratch (so that I understand the pieces, how they've changed, and how we may want them to work in NixOS-land). Unfortunately I am not up to this task for the coming weeks (months) most likely, but maybe others find better success with the changes (this is where my hope lies :)). I don't think it's too hairy, but may require better quickfix-fu or some degree of deep-diving. It's possible 5.12.4 moves things more towards our preferred situation... that I can't tell is why I'm writing this comment and calling it quits for a bit O:).

@dtzWill
Copy link
Member

dtzWill commented Jun 20, 2019

I'm not sure we would be able to move to it piecemeal, but notably qt 5.12.4 supports openssl 1.1 which might motivate sorting these things out eventually :).

Copy link
Member

@ttuegel ttuegel left a comment

Choose a reason for hiding this comment

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

This looks good to me! We can worry about Qt 5.12.4 later. I'm not going to "approve" because this should go into staging; @vandenoever would you mind opening a new pull request? Sorry 🙁

This was referenced Jul 10, 2019
@FRidh FRidh changed the base branch from master to staging July 11, 2019 07:38
@FRidh
Copy link
Member

FRidh commented Jul 11, 2019

Closing in favor of #64598

@FRidh FRidh closed this Jul 11, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants