From: Marius Bakke <mbakke@fastmail.com>
To: Tom <tomz@freedommail.ch>, 40791@debbugs.gnu.org
Subject: [bug#40791] rebased patch
Date: Fri, 24 Apr 2020 00:23:38 +0200 [thread overview]
Message-ID: <87sggtg7th.fsf@devup.no> (raw)
In-Reply-To: <12618542.O9o76ZdvQC@peach>
[-- Attachment #1: Type: text/plain, Size: 8818 bytes --]
Hello Tom!
Thanks a lot for this work.
Tom via Guix-patches via <guix-patches@gnu.org> writes:
> This patch incorporates feedback from IRC (many fixlets).
>
> I rebased it onto the core-updates branch.
>
> The webengine fails with an error I fail to understand:
>
> make[3]: Entering directory '/tmp/guix-build-qtwebengine-5.14.2.drv-0/qtwebengine-everywhere-src-5.14.2/src/core'
> ninja -k1 -j12 -C /tmp/guix-build-qtwebengine-5.14.2.drv-0/qtwebengine-everywhere-src-5.14.2/src/core/release QtWebEngineCore
> ninja: Entering directory `/tmp/guix-build-qtwebengine-5.14.2.drv-0/qtwebengine-everywhere-src-5.14.2/src/core/release'
> ninja: error: '../../3rdparty/chromium/third_party/boringssl/linux-x86_64/crypto/third_party/sike/asm/fp-x86_64.S', needed by 'host/obj/third_party/boringssl/boringssl_asm/fp-x86_64.o', missing and no known rule to make it
This is because QtWebEngine has a whitelist of allowed "third_party"
directories. Presumably adding
"third_party/boringssl/linux-x86_64/crypto/third_party/sike" to the list
solves it.
Also preserve the related directory below "linux-aarch64" if it exists
(I'm guessing from reading commit
7f2e852267d3484c3b0a3457ad6f3f9ad4debe6a in Guix). :-)
A few comments on the other patches:
> From 4c90d4de70b3a87cfebf33ef1ef8b07a284ca523 Mon Sep 17 00:00:00 2001
> From: TomZ <tomz@freedommail.ch>
> Date: Thu, 23 Apr 2020 00:21:31 +0200
> Subject: [PATCH] gnu: Qt: update to 5.14.2
>
> * gnu/packages/qt.scm (qtbase, qtsvg, qtimageformats,
> qtx11extras, qtxmlpatterns, qtdeclarative, qtconnectivity,
> qtwebsockets, qtsensors, qtmultimedia, qtwayland,
> qtserialport, qtserialbus, qtwebchannel, qtwebglplugin,
> qtwebview, qtlocation, qttools, qtscript, qtquickcontrols,
> qtquickcontrols2, qtgraphicaleffects, qtgamepad, qtscxml,
> qtpurchasing, qtcharts, qtdatavis3d, qtnetworkauth,
> qtremoteobjects, qtspeech, qtwebengine): Update to 5.14.2
Please also mention the changed [arguments] etc for each of the
variables that contain other changes than just the version bump.
> * gnu/packages/qt.scm (qtcanvas3d): Update to 5.12.8
As nothing depends on this, perhaps we should just remove it? Do you
know if it was merged with some other Qt package?
> 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
> @@ -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..dbea4e2cef 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".
> + "12mjsahlma9rw3vz9a6b5h2s6ylg8b34hxc2vnlna5ll429fgfa8"))
> (patches (search-patches "qtbase-use-TZDIR.patch"
> - "qtbase-moc-ignore-gcc-macro.patch"
> - "qtbase-QTBUG-81715.patch"))
> + "qtbase-moc-ignore-gcc-macro.patch"))
> (modules '((guix build utils)))
> (snippet
> ;; corelib uses bundled harfbuzz, md4, md5, sha3
> @@ -570,14 +568,6 @@ developers using C++ or QML, a CSS & JavaScript like language.")
> "src/network/kernel/qhostinfo_unix.cpp")
> (("^\\s*(lib.setFileName\\(QLatin1String\\(\")(resolv\"\\)\\);)" _ a b)
> (string-append a glibc "/lib/lib" b))))
> - ;; X11/locale (compose path)
> - (substitute* "src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp"
> - ;; Don't search in /usr/…/X11/locale, …
> - (("^\\s*m_possibleLocations.append\\(QStringLiteral\\(\"/usr/.*/X11/locale\"\\)\\);" line)
> - (string-append "// " line))
> - ;; … but use libx11's path
> - (("^\\s*(m_possibleLocations.append\\(QStringLiteral\\()X11_PREFIX \"(/.*/X11/locale\"\\)\\);)" _ a b)
> - (string-append a "\"" (assoc-ref inputs "libx11") b)))
What happened here? Did the Qt build system get smart enough to embed
the libx11 file name by itself?
> (arguments
> (substitute-keyword-arguments (package-arguments qtsvg)
> ((#:tests? _ #f) #f))) ; TODO: Enable the tests
> @@ -796,7 +786,8 @@ xmlpatternsvalidator.")))
> ("pkg-config" ,pkg-config)
> ("python" ,python)
> ("python-wrapper" ,python-wrapper)
> - ("qtsvg" ,qtsvg)))
> + ("qtsvg" ,qtsvg)
> + ("vulkan-headers" ,vulkan-headers)))
The new input should also be mentioned in the commit message. See the
commit log for examples.
> @@ -962,17 +953,13 @@ set of plugins for interacting with pulseaudio and GStreamer.")))
> (delete-file-recursively "examples")
> #t))))
> (arguments
> - (substitute-keyword-arguments (package-arguments qtsvg)
> - ((#:phases phases)
> - `(modify-phases ,phases
> - (add-before 'check 'set-ld-library-path
> - ;; <https://lists.gnu.org/archive/html/guix-devel/2017-09/msg00019.html>
> - ;;
> - ;; Make the uninstalled libQt5WaylandClient.so.5 available to the
> - ;; wayland platform plugin.
> - (lambda _
> - (setenv "LD_LIBRARY_PATH" (string-append (getcwd) "/lib"))
> - #t))))))
> + (substitute-keyword-arguments (package-arguments qtsvg)
> + ((#:phases phases)
> + `(modify-phases ,phases
> + ;; Tests fail due to missing plugin.
> + ;; Set https://lists.gnu.org/archive/html/guix-devel/2017-09/msg00019.html
> + ;; LD_LIBRARY PATH trick doesn't work anymore, so just disable
> + (delete 'check)))))
So the test fails because libQt5WaylandClient.so is missing? Perhaps it
was moved elsewhere? Try building with --keep-failed and inspect the
build directory, hopefully it's enough to adjust LD_LIBRARY_PATH with
the new library location.
Also, if you must disable tests, use '#:tests? #f' instead of deleting
the check phase.
> @@ -1099,7 +1086,8 @@ popular web engines, Qt WebKit 2 and Qt WebEngine.")))
> `(("mesa" ,mesa)
> ("qtbase" ,qtbase)
> ("qtdeclarative" ,qtdeclarative)
> - ("qtwebsockets" ,qtwebsockets)))
> + ("qtwebsockets" ,qtwebsockets)
> + ("zlib" ,zlib)))
Add to commit message ^
> @@ -1515,6 +1503,10 @@ implementation of OAuth and OAuth2 authenticathon methods for Qt.")))
> (substitute* "tests/auto/qml/qml.pro"
> (("integration") "# integration")
> (("usertypes") "# usertypes"))
> + ;; disable failing tests
> + (substitute* "tests/auto/auto.pro"
> + (("integration_multiprocess proxy_multiprocess integration_external restart")
> + "integration_multiprocess"))
Indentation is off here. It would be good to comment on why they are
failing. Perhaps just some /bin/sh invokation need patching?
Again, thank you very much for this. You mentioned some KDE packages
failed with this new Qt, could you try updating them too? It should be
a lot easier thanks to the KDE updater: try e.g. './pre-inst-env guix
refresh -t kde -u'. :-)
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]
next prev parent reply other threads:[~2020-04-23 22:24 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-04-23 11:05 [bug#40791] Update Qt Tom via Guix-patches via
2020-04-23 18:51 ` [bug#40791] rebased patch Tom via Guix-patches via
2020-04-23 22:23 ` Marius Bakke [this message]
2020-04-24 19:09 ` Tom via Guix-patches via
2020-04-24 20:42 ` [bug#40791] todays patch Tom via Guix-patches via
2020-05-02 14:23 ` Marius Bakke
2020-05-17 23:37 ` bug#40791: " Marius Bakke
2020-04-24 22:31 ` [bug#40791] Append: KDE upgrade Tom via Guix-patches via
2020-05-02 14:28 ` Marius Bakke
2020-05-02 14:29 ` Marius Bakke
2020-05-02 20:02 ` Tom Zander via Guix-patches via
2020-05-17 23:26 ` Marius Bakke
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87sggtg7th.fsf@devup.no \
--to=mbakke@fastmail.com \
--cc=40791@debbugs.gnu.org \
--cc=tomz@freedommail.ch \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).