From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:470:142:3::10]:38516) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jRkGM-0005xp-3s for guix-patches@gnu.org; Thu, 23 Apr 2020 18:24:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.90_1) (envelope-from ) id 1jRkGK-0007HG-EV for guix-patches@gnu.org; Thu, 23 Apr 2020 18:24:05 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:44450) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jRkGI-0007FT-0r for guix-patches@gnu.org; Thu, 23 Apr 2020 18:24:03 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1jRkGH-0002TZ-Sq for guix-patches@gnu.org; Thu, 23 Apr 2020 18:24:01 -0400 Subject: [bug#40791] rebased patch Resent-Message-ID: From: Marius Bakke In-Reply-To: <12618542.O9o76ZdvQC@peach> References: <2419210.ElGaqSPkdT@peach> <12618542.O9o76ZdvQC@peach> Date: Fri, 24 Apr 2020 00:23:38 +0200 Message-ID: <87sggtg7th.fsf@devup.no> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: Tom , 40791@debbugs.gnu.org --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hello Tom! Thanks a lot for this work. Tom via Guix-patches via 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/qtw= ebengine-everywhere-src-5.14.2/src/core' > ninja -k1 -j12 -C /tmp/guix-build-qtwebengine-5.14.2.drv-0/qtwebengine-e= verywhere-src-5.14.2/src/core/release QtWebEngineCore > ninja: Entering directory `/tmp/guix-build-qtwebengine-5.14.2.drv-0/qtweb= engine-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 > 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/p= atches/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. >=20=20 > Based on a patch fron NixOS. > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > ---- 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_releas= es/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/gen= erator/qtablegenerator.cpp" > - ;; Don't search in /usr/=E2=80=A6/X11/locale, =E2=80=A6 > - (("^\\s*m_possibleLocations.append\\(QStringLiteral\\(\"/= usr/.*/X11/locale\"\\)\\);" line) > - (string-append "// " line)) > - ;; =E2=80=A6 but use libx11's path > - (("^\\s*(m_possibleLocations.append\\(QStringLiteral\\()X= 11_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 > - ;; > - ;; > - ;; 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 disa= ble > + (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 integrat= ion_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'. :-) --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQEzBAEBCgAdFiEEu7At3yzq9qgNHeZDoqBt8qM6VPoFAl6iFWoACgkQoqBt8qM6 VPpjXQf/YOAhdZzftrvalGoTos+BrhClMBo5oiY6o9rP4ldTi3q1lvvMl+7tELHl vH81I8dMJv9dNHbQvizoiUb3jLpUL0cu7lXaySRKJrOMKzsrby9FV1A6jXwHGjZq WzA7fc6U/g9qOKgjJoKCKXYnNUWglQf8rEjp0+9ro6GV8M8ogfZLihoMIzs1BjLW e9DdlDuVnXeN0+10ZrovjBl8SmVoPhiIsg79KoLKG1Xafjfa8IfPit33yfQ4Oj2E Cjzb5fmNaFuu+MxwEKnjrCDZfL8byTKtF/yeBQYrU4hMzp0ukY4pIJ+6QD0KyJ5F PlYnUtuT/wnT119CoSSFXpa0kk10Yw== =8vVL -----END PGP SIGNATURE----- --=-=-=--