Subject: Re: [bug#40791] todays patch
From: Marius Bakke <[email-masked]>
To: Tom <[email-masked]>, [email-masked]
Date: Mon, 18 May 2020 01:37:46 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Hello!

Tom via Guix-patches via <[email-masked]> writes:

> This incorporates all suggestions.
>
> As each individual missing item in the qtwebengine requires a full rebuild to 
> get one line of error, I've done enough for today. See the amount of lines 
> added ;)

Phew, there was still a _lot_ of dependencies missing.  Even without
repacking for every iteration it took hours just to collect them all.

> From 180da08e2b2d17cafab4b92b1074867516a2d6eb Mon Sep 17 00:00:00 2001
> From: TomZ <[email-masked]>
> Date: Thu, 23 Apr 2020 00:21:31 +0200
> Subject: [PATCH 1/2] gnu: Qt: update to 5.14.2

Please use full sentences in commit messages, i.e. capitalization and
full stops.

> * gnu/packages/qt.scm (qtsvg, qtimageformats, qtx11extras,
>     qtxmlpatterns, qtconnectivity, qtwebsockets, qtsensors,
>     qtmultimedia, qtserialport, qtserialbus, qtwebchannel,
>     qtwebview, qtlocation, qttools, qtscript, qtquickcontrols,
>     qtquickcontrols2, qtgraphicaleffects, qtgamepad, qtscxml,
>     qtpurchasing, qtcharts, qtdatavis3d, qtnetworkauth,
>     qtspeech, qtwebengine): Update to 5.14.2
>
> * gnu/packages/qt.scm (qtcanvas3d): removed. Upstream deprected it.
>
> * gnu/packages/qt.scm (qtbase): drop TZDIR patch, patched code no
>   longer exists.

Here you meant qtbase-QTBUG-81715.patch.

>   Drop X11lib substitute: patched dir no longer exists.
>   Update to 5.14.2
>
> * gnu/packages/qt.scm (qtwayland): disable tests because most of
>   them crash without message.

Actually only two failed, with fairly clear error messages.  Figuring
out how to disable them took some time though.

I did not look very closely into what caused the failures, as one of the
first hits on a web search was that Debian disables the exact same test:

 https://ftp-master.debian.org/new/qtwayland-opensource-src_5.14.2-1.html

So we're in good company, at least.  :-)

>   Update to 5.14.2
>
> * gnu/packages/qt.scm (qtwebglplugin):[inputs] add zlib

Nit-pick: colon after the [section].

>   Update to 5.14.2
>
> * gnu/packages/qt.scm (qtremoteobjects): disable some tests that
                       missing [arguments]
>   fail due to missing network.
>   Update to 5.14.2
>
> * gnu/packages/qt.scm (qtdeclarative):[inputs] add vulcan-headers
>   Update to 5.14.2

I fixed these issues and typos for you.

> ---
>  gnu/packages/patches/qtbase-use-TZDIR.patch |   4 +-
>  gnu/packages/qt.scm                         | 222 ++++++++------------
>  2 files changed, 92 insertions(+), 134 deletions(-)
>
> diff --git a/gnu/packages/patches/qtbase-use-TZDIR.patch b/gnu/packages/patches/qtbase-use-TZDIR.patch
> index 11c737d844..b6c377b133 100644
> --- a/gnu/packages/patches/qtbase-use-TZDIR.patch
> +++ b/gnu/packages/patches/qtbase-use-TZDIR.patch
> @@ -4,8 +4,8 @@ important to be able to update it fast.
>  
>  Based on a patch fron NixOS.
>  ===================================================================
> ---- qtbase-opensource-src-5.9.4.orig/src/corelib/tools/qtimezoneprivate_tz.cpp
> -+++ qtbase-opensource-src-5.9.4/src/corelib/tools/qtimezoneprivate_tz.cpp
> +--- qtbase-opensource-src-5.14.2.orig/src/corelib/time/qtimezoneprivate_tz.cpp
> ++++ qtbase-opensource-src-5.15.2/src/corelib/time/qtimezoneprivate_tz.cpp

We both forgot to mention this part in the commit message though!

>  @@ -70,7 +70,11 @@
>   // Parse zone.tab table, assume lists all installed zones, if not will need to read directories
>   static QTzTimeZoneHash loadTzTimeZones()
> diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
> index 8a57127771..aa121fbb5f 100644
> --- a/gnu/packages/qt.scm
> +++ b/gnu/packages/qt.scm
> @@ -351,7 +351,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
>  (define-public qtbase
>    (package
>      (name "qtbase")
> -    (version "5.12.7")
> +    (version "5.14.2")
>      (source (origin
>               (method url-fetch)
>               (uri (string-append "https://download.qt.io/official_releases/qt/"
> @@ -360,11 +360,9 @@ developers using C++ or QML, a CSS & JavaScript like language.")
>                                   version ".tar.xz"))
>               (sha256
>                (base32
> -               "0pb68d30clksdhgy8n6rrs838bb3qcsfq4pv463yy2nr4p5kk2di"))
> -             ;; Use TZDIR to avoid depending on package "tzdata".

I preserved this comment.

> +               "12mjsahlma9rw3vz9a6b5h2s6ylg8b34hxc2vnlna5ll429fgfa8"))
>               (patches (search-patches "qtbase-use-TZDIR.patch"
> -                                      "qtbase-moc-ignore-gcc-macro.patch"
> -                                      "qtbase-QTBUG-81715.patch"))
> +                                      "qtbase-moc-ignore-gcc-macro.patch"))

Remember to delete patches from git as well as gnu/local.mk too.  Fixed!

I finally pushed this as 883d0484ddcf3b9f3ff8bd8e6de70627201f2763.

However, qtwebengine is not finished building yet and may still be
missing some dependencies.  I'll fix any remaining issues tomorrow.

Thanks a lot for the effort here, and sorry for the delay!