From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0.migadu.com ([2001:41d0:303:e16b::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms8.migadu.com with LMTPS id ONUgHeRq8GV1ZAEAqHPOHw:P1 (envelope-from ) for ; Tue, 12 Mar 2024 15:47:00 +0100 Received: from aspmx1.migadu.com ([2001:41d0:303:e16b::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0.migadu.com with LMTPS id ONUgHeRq8GV1ZAEAqHPOHw (envelope-from ) for ; Tue, 12 Mar 2024 15:47:00 +0100 X-Envelope-To: larch@yhetil.org Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=gmail.com header.s=20230601 header.b=GSzmcMAj; spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org"; dmarc=fail reason="SPF not aligned (relaxed)" header.from=gmail.com (policy=none) ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1710254813; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding:resent-cc: resent-from:resent-sender:resent-message-id:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=XilVwfooaeJ8Dyul9PJEzOMYbaNYwQw4/V70wlYZL3A=; b=oGmktAMbgMVfcCS2yY6knk/jennA0Zt/x/K22P6TWHiAcA5QEmRO7qpgxcZ6vO9bRJHNoP 7cXBcIyZeORcRjXF2bP0VUeRqX5sDDw6NOoMQZLMWFsE5MkVOyFxHPyulHX6mOjiC19bcA RZjzdB7auYgxznYyQJEbExu5nCVCs85qfh0y2EzDRn5VY22YgpkCNsJaPeES9Pu1TB0XSw eSbNSnsZu24UbxBm46ijklVAOZg5w7WiiKyDeiTVWvURjge6OLmxhIEui+TAKhZOs9bMY5 7+vFNId+iVwPmBG84YCLdmVHC6LWK22fieR3tC+HTrKbEfyuHJOrRQZcLOJ5Ag== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=gmail.com header.s=20230601 header.b=GSzmcMAj; spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org"; dmarc=fail reason="SPF not aligned (relaxed)" header.from=gmail.com (policy=none) ARC-Seal: i=1; s=key1; d=yhetil.org; t=1710254813; a=rsa-sha256; cv=none; b=TrJZdQf85Tyt9eLleunqJ943lpML4rRLUaIsFNyRRKSX5IZJDbNVeSQ6cDRsLyJVD+aNlZ c2HE3gxLfD18pFFK/5pqNNqIbxaMHti/RjIlEf2vuKDnydt6RVNWwQynEZX2almzv5H0hV hNs9x12IK8LWy9VavDf7WCnnDXKlO4FthSsLEGYXC34yWN2dXIDKNPp6VoVlzhz5yv0iEG RDpZqlUIoBg5WFAc3fAgQSLGexBvDhS+OfGU1e5pEmQmZ02GfoP0mdsq0oxY3IhS8Z8t37 2BJLMnplOX5OqwwCPYogjX1+UrpvRAvu3wCaymyrC2swwz6e7ITcBxMS5uIooA== Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 6EB9338E20 for ; Tue, 12 Mar 2024 15:46:52 +0100 (CET) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rk3Os-0007jL-Ac; Tue, 12 Mar 2024 10:46:42 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rk3Od-0007Xs-MD for guix-patches@gnu.org; Tue, 12 Mar 2024 10:46:36 -0400 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1rk3Od-0000rn-Do for guix-patches@gnu.org; Tue, 12 Mar 2024 10:46:27 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1rk3PB-0002im-Sf for guix-patches@gnu.org; Tue, 12 Mar 2024 10:47:01 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#69628] [PATCH v3] gnu: qt: Update to 6.6.2. Resent-From: Maxim Cournoyer Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 12 Mar 2024 14:47:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 69628 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Zheng Junjie Cc: Sharlatan Hellseher , Adam Faiz , 69628@debbugs.gnu.org, Liliana Marie Prikler , =?UTF-8?Q?=E5=AE=8B=E6=96=87=E6=AD=A6?= , Andreas Enge , Eric Bavier Received: via spool by 69628-submit@debbugs.gnu.org id=B69628.171025481010431 (code B ref 69628); Tue, 12 Mar 2024 14:47:01 +0000 Received: (at 69628) by debbugs.gnu.org; 12 Mar 2024 14:46:50 +0000 Received: from localhost ([127.0.0.1]:43361 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rk3Ox-0002i8-OR for submit@debbugs.gnu.org; Tue, 12 Mar 2024 10:46:50 -0400 Received: from mail-qt1-f170.google.com ([209.85.160.170]:54393) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rk3Os-0002hh-7n for 69628@debbugs.gnu.org; Tue, 12 Mar 2024 10:46:46 -0400 Received: by mail-qt1-f170.google.com with SMTP id d75a77b69052e-42eb3decd37so26336771cf.0 for <69628@debbugs.gnu.org>; Tue, 12 Mar 2024 07:46:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1710254702; x=1710859502; darn=debbugs.gnu.org; h=content-transfer-encoding:mime-version:user-agent:message-id:date :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=XilVwfooaeJ8Dyul9PJEzOMYbaNYwQw4/V70wlYZL3A=; b=GSzmcMAj2ueO9RR7v5AiZzDUlJxsOjC0mKTTLhlHOayinv+iaSjwtK7GeHrwaGkXta 6RfgtMOS5jEjDglHbSsY94ycjDZfrHM49nxTUc68PKc6ld5AMkTyyOj6wMb+y2ztK81v CG/0fg9Z2DVUd23prVyO9x0xhYGEl4dJMIpBL22Tvag3miNDx0EOphyFzckjBrDevyAJ j2UOAm/kL2F5dfGf5/hg5fh3hlEj/fWqiJ4XosD+qsV86N1PMVcBBMvfCer0VqdtWn5d I7fmagf/PMah9J2aMbwUuZdqrrqkqfHRoaapoRPLiWSBanXmNltDfdZSX7WKcr75yBzZ BYRA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1710254702; x=1710859502; h=content-transfer-encoding:mime-version:user-agent:message-id:date :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=XilVwfooaeJ8Dyul9PJEzOMYbaNYwQw4/V70wlYZL3A=; b=Pg2rYz63cmUIuMdnhq4dOQ1KDAE6EFkUZP2T0PsDdTV3U5+PirFW42mbj/yvfcDTEp ZOirdARPs7h7ThipGISwQuiwngWyRObqgPgNPN4Iqfr7yprb5rAczj23YF9ixofHmzHr dtHjZZe6fsyPG9SmfjF3C1xbrcD8PzqIHCNkD9Z3iK4scHW1sjqqAbffgqrP3QeEeF3r G8brN9zSZOT2E97cqJO+/jiK5+9sN5Usgi2HuIATYq444tAI4R3YyBScj5DTwEk2avhY UR1XAIk/EuH/2sJ6MgXwPPBChI82qL0gl4VeYN1eRT93swOngs8BKfwsMGrVIgRU3/wx CyaA== X-Gm-Message-State: AOJu0YxN4qOHcJUePmdtEwR0mqwIshkC9AXZaSKMP3f2/5x5H7peDNNY 8mojiMWw+AHi1EpvUlapHFUcA234E2938yLqMsSifH+bCOprE/ty X-Google-Smtp-Source: AGHT+IGFSI4HiAnTWA9BOvogTgcWHteioPkRzY/mBWCzwzmqBe/wPttSOF/6MyGUPROqpPXIjezMhA== X-Received: by 2002:ac8:5dc7:0:b0:42f:ff7:9fcc with SMTP id e7-20020ac85dc7000000b0042f0ff79fccmr12827391qtx.43.1710254701279; Tue, 12 Mar 2024 07:45:01 -0700 (PDT) Received: from hurd (dsl-153-147.b2b2c.ca. [66.158.153.147]) by smtp.gmail.com with ESMTPSA id fu25-20020a05622a5d9900b0042f353a1fa8sm3762713qtb.18.2024.03.12.07.44.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 12 Mar 2024 07:45:00 -0700 (PDT) From: Maxim Cournoyer In-Reply-To: (Zheng Junjie's message of "Mon, 11 Mar 2024 18:52:30 +0800") References: Date: Tue, 12 Mar 2024 10:44:53 -0400 Message-ID: <87sf0vbjbu.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain Content-Transfer-Encoding: 8bit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+larch=yhetil.org@gnu.org Sender: guix-patches-bounces+larch=yhetil.org@gnu.org X-Migadu-Flow: FLOW_IN X-Migadu-Country: US X-Migadu-Spam-Score: 5.21 X-Spam-Score: 5.21 X-Migadu-Queue-Id: 6EB9338E20 X-Migadu-Scanner: mx13.migadu.com X-TUID: XBq8PnKGbH5D Hi Zheng, Thanks for this effort! One nitpick, which you can perhaps overlook for this time, to spare the effort of splitting everything, is that it's more customary to have one commit per package update. It's also the result you'll get if you use the following commands to do the update of Qt 6: --8<---------------cut here---------------start------------->8--- ./pre-inst-env guix refresh -u -m etc/teams/qt/qt-manifest.scm ./etc/committer.scm --8<---------------cut here---------------end--------------->8--- Zheng Junjie writes: > * gnu/packages/qt.scm (qtbase, qtsvg, qtshadertools, qtnetworkauth, > qtimageformats, qtlanguageserver, qtpositioning, qtdeclarative, qttools, > qt5compat, qtlottie, qtwebsockets, qttranslations, qtwebchannel, qtwayland, > qtremoteobjects, qtmultimedia, qtspeech, qtsensors, qtwebengine): > Update to 6.6.2. nitpick: GNU ChangeLog (info '(standards) Style of Change Logs) says: Break long lists of function names by closing continued lines with `)', rather than `,', and opening the continuation with `(' as in this example: * keyboard.c (menu_bar_items, tool_bar_items) (Fexecute_extended_command): Deal with 'keymap' property. > (qt-creator): Update to 12.0.2. This could be definitely be in a separate commit. > (qtbase)[source]: unbundle pcre2, md4c, remove qtbase-use-TZDIR.patch. Add > qtbase-find-tools-in-PATH.patch, > qtbase-pass-to-qmlimportscanner-the-QML2_IMPORT_PATH.patch, > qtbase-qmake-fix-includedir-in-generated-pkg-config.patch, > qtbase-check-in-the-QML-folder-of-this-library-does-.patch. > (qtbase)[arguments]<#:phase>: adjust 'patch-more-paths phase, skip tst_selftests test. nitpick: #:phaseS (plural); Adjust (capitalized). > (qtbase)[inputs]: add libb2. > (qttools)[inputs]: add zstd:lib. > (qtwayland)[arguments]<#:phases>: Adjust set-test-environment phase. > (qtmultimedia)[arguments]<#:phases>: adjust 'disable-integration-tests phase. Please punctuate change logs (e.g.: "Add lib2." instead of "add libb2.") > (qtwebengine)[source]: Adjust snippet. > [arguments]<#:configure-flags>: Adjust it. > <#:phases>: Add delete-installed-tests phase. > > * gnu/packages/patches/qtbase-use-TZDIR.patch: remove this. > * gnu/packages/patches/qtbase-find-tools-in-PATH.patch: New file > * gnu/packages/patches/qtbase-pass-to-qmlimportscanner-the-QML2_IMPORT_PATH.patch: New file > * gnu/packages/patches/qtbase-qmake-fix-includedir-in-generated-pkg-config.patch: New file > * gnu/packages/patches/qtbase-check-in-the-QML-folder-of-this-library-does-.patch: New file > * gnu/packages/patches/qtdeclarative-disable-qmlcache.patch: adjust it. Another nitpick (sorry, apparently I'm a nitpicky reviewer :-)). These patches file names are a bit on the long side. It's OK to capture just the essentials, like 'qtbase-qmlimportscanner-fix.patch. There used to be a hard limit of patch file names length; I think 'guix lint' checks them now. Also, 'qtbase-check-in-the-QML-folder-of-this-library-does-.patch' is a long but non-descriptive file name (it appears truncated). > * gnu/local.mk(dist_patch_DATA): remove qtbase-use-TZDIR.patch. > Regist qtbase-find-tools-in-PATH.patch, RegistER > qtbase-pass-to-qmlimportscanner-the-QML2_IMPORT_PATH.patch, > qtbase-qmake-fix-includedir-in-generated-pkg-config.patch, > qtbase-check-in-the-QML-folder-of-this-library-does-.patch. > > gnu: Add qtspeech-5. > * gnu/packages/qt.scm(qtspeech-5): New Variable. > (python-pyside-2): > * gnu/packages/games.scm (chessx): > * gnu/packages/kde-frameworks.scm(ktextwidgets): > * gnu/packages/kde-pim.scm(kdepim-runtime,kpimtextedit): > * gnu/packages/kde-utils.scm(kmouth): > * gnu/packages/kde.scm(okular): > * gnu/packages/radio.scm(sdrangel)xb The above should go to its own commit. There should be a space between the file name and the opening parens. There does not need to be trailing colon (:) when there's no message. > Adjust inputs. > > gnu: Add qtsensors-5. > * gnu/packages/qt.scm(qtspeech-5): New Variable. > (python-pyqt,python-pyside-2): > * gnu/packages/education.scm(gcompris-qt): > * gnu/packages/kde-plasma.scm(kscreen): > * gnu/packages/geo.scm(openorienteering-mapper): > Adjust inputs. Same comment as above, and this change should go to its own commit as well. > Change-Id: Ibb30850de615c85dca2cc4d6fd55b18a228e0fc9 > --- > gnu/local.mk | 5 +- > gnu/packages/education.scm | 2 +- > gnu/packages/games.scm | 2 +- > gnu/packages/geo.scm | 2 +- > gnu/packages/kde-frameworks.scm | 2 +- > gnu/packages/kde-pim.scm | 4 +- > gnu/packages/kde-plasma.scm | 2 +- > gnu/packages/kde-utils.scm | 2 +- > gnu/packages/kde.scm | 2 +- > ...the-QML-folder-of-this-library-does-.patch | 35 +++ > .../patches/qtbase-find-tools-in-PATH.patch | 45 ++++ > ...mlimportscanner-the-QML2_IMPORT_PATH.patch | 30 +++ > ...x-includedir-in-generated-pkg-config.patch | 26 +++ > gnu/packages/patches/qtbase-use-TZDIR.patch | 141 ------------ > .../qtdeclarative-disable-qmlcache.patch | 27 ++- > gnu/packages/qt.scm | 210 ++++++++++++------ > gnu/packages/radio.scm | 2 +- > 17 files changed, 317 insertions(+), 222 deletions(-) > create mode 100644 gnu/packages/patches/qtbase-check-in-the-QML-folder-of-this-library-does-.patch > create mode 100644 gnu/packages/patches/qtbase-find-tools-in-PATH.patch > create mode 100644 gnu/packages/patches/qtbase-pass-to-qmlimportscanner-the-QML2_IMPORT_PATH.patch > create mode 100644 gnu/packages/patches/qtbase-qmake-fix-includedir-in-generated-pkg-config.patch > delete mode 100644 gnu/packages/patches/qtbase-use-TZDIR.patch > > diff --git a/gnu/local.mk b/gnu/local.mk > index 1aa413ebbe..3741cb9cd5 100644 > --- a/gnu/local.mk > +++ b/gnu/local.mk > @@ -1951,10 +1951,13 @@ dist_patch_DATA = \ > %D%/packages/patches/qemu-fix-agent-paths.patch \ > %D%/packages/patches/qrcodegen-cpp-make-install.patch \ > %D%/packages/patches/qtbase-absolute-runpath.patch \ > + %D%/packages/patches/qtbase-find-tools-in-PATH.patch \ > + %D%/packages/patches/qtbase-pass-to-qmlimportscanner-the-QML2_IMPORT_PATH.patch \ > + %D%/packages/patches/qtbase-qmake-fix-includedir-in-generated-pkg-config.patch \ > + %D%/packages/patches/qtbase-check-in-the-QML-folder-of-this-library-does-.patch \ > %D%/packages/patches/qtbase-moc-ignore-gcc-macro.patch \ > %D%/packages/patches/qtbase-qmake-use-libname.patch \ > %D%/packages/patches/qtbase-5-use-TZDIR.patch \ > - %D%/packages/patches/qtbase-use-TZDIR.patch \ > %D%/packages/patches/qtscript-disable-tests.patch \ > %D%/packages/patches/quagga-reproducible-build.patch \ > %D%/packages/patches/quickswitch-fix-dmenu-check.patch \ > diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm > index 698f15678b..50d4b332ee 100644 > --- a/gnu/packages/education.scm > +++ b/gnu/packages/education.scm > @@ -192,7 +192,7 @@ (define-public gcompris-qt > qtgraphicaleffects > qtmultimedia-5 > qtquickcontrols2-5 > - qtsensors > + qtsensors-5 > qtsvg-5)) > (home-page "https://gcompris.net/index-en.html") > (synopsis "Educational games for small children") > diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm > index 9ff08e5e74..fdc2d53a77 100644 > --- a/gnu/packages/games.scm > +++ b/gnu/packages/games.scm > @@ -10475,7 +10475,7 @@ (define-public chessx > (native-inputs > (list qttools-5)) > (inputs > - (list qtbase-5 qtmultimedia-5 qtspeech qtsvg-5 zlib)) > + (list qtbase-5 qtmultimedia-5 qtspeech-5 qtsvg-5 zlib)) > (arguments > `(#:tests? #f > #:phases > diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm > index 687effcace..63e66afdb8 100644 > --- a/gnu/packages/geo.scm > +++ b/gnu/packages/geo.scm > @@ -2575,7 +2575,7 @@ (define-public openorienteering-mapper > qtbase-5 > qtimageformats-5 > qtlocation > - qtsensors > + qtsensors-5 > zlib)) > (native-inputs > (list doxygen > diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm > index 64e41b510d..227f9a28b1 100644 > --- a/gnu/packages/kde-frameworks.scm > +++ b/gnu/packages/kde-frameworks.scm > @@ -3249,7 +3249,7 @@ (define-public ktextwidgets > kwidgetsaddons > kwindowsystem > qtbase-5 > - qtspeech)) > + qtspeech-5)) > (home-page "https://community.kde.org/Frameworks") > (synopsis "Text editing widgets") > (description "KTextWidgets provides widgets for displaying and editing text. > diff --git a/gnu/packages/kde-pim.scm b/gnu/packages/kde-pim.scm > index e95eac4e2f..9a1c0b8d8e 100644 > --- a/gnu/packages/kde-pim.scm > +++ b/gnu/packages/kde-pim.scm > @@ -848,7 +848,7 @@ (define-public kdepim-runtime > qtdeclarative-5 > qtkeychain > qtnetworkauth-5 > - qtspeech > + qtspeech-5 > qtwebchannel-5 > qtwebengine-5 > qtxmlpatterns)) > @@ -1993,7 +1993,7 @@ (define-public kpimtextedit > kwidgetsaddons > kxmlgui > qtbase-5 > - qtspeech > + qtspeech-5 > sonnet)) > (arguments > `(#:tests? #f)) ;; TODO - test suite hangs > diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm > index cf45fa59f7..1d41d35a56 100644 > --- a/gnu/packages/kde-plasma.scm > +++ b/gnu/packages/kde-plasma.scm > @@ -793,7 +793,7 @@ (define-public kscreen > libkscreen > libxi > plasma-wayland-protocols > - qtsensors > + qtsensors-5 > qtbase-5 > qtx11extras > xcb-util)) > diff --git a/gnu/packages/kde-utils.scm b/gnu/packages/kde-utils.scm > index 4e665da599..6c6a669597 100644 > --- a/gnu/packages/kde-utils.scm > +++ b/gnu/packages/kde-utils.scm > @@ -874,7 +874,7 @@ (define-public kmouth > kxmlgui > breeze-icons ;; default icon set > qtbase-5 > - qtspeech)) > + qtspeech-5)) > (home-page "https://apps.kde.org/kmouth/") > (synopsis "Type-and-say frontend for speech synthesizers") > (description "KMouth is a program which enables persons that cannot speak > diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm > index 8e8bb32fda..385bb42926 100644 > --- a/gnu/packages/kde.scm > +++ b/gnu/packages/kde.scm > @@ -1557,7 +1557,7 @@ (define-public okular > kio > kparts > kpty > - qtspeech > + qtspeech-5 > kwallet > kwindowsystem > libkexiv2 > diff --git a/gnu/packages/patches/qtbase-check-in-the-QML-folder-of-this-library-does-.patch b/gnu/packages/patches/qtbase-check-in-the-QML-folder-of-this-library-does-.patch > new file mode 100644 > index 0000000000..ed749cb238 > --- /dev/null > +++ b/gnu/packages/patches/qtbase-check-in-the-QML-folder-of-this-library-does-.patch > @@ -0,0 +1,35 @@ > +From c00e310092d9aeb48adf21dd22f1ee4dbdbf5ebb Mon Sep 17 00:00:00 2001 > +From: Nick Cao > +Date: Tue, 10 Oct 2023 10:17:00 -0400 > +Subject: [PATCH 10/11] qtbase: check in the QML folder of this library does > + actually exist > + > +In a modularized installation, this folder will be the location where > +`qtbase` itself is installed, but `qtbase` does not have any QML > +code, and `qmlimportscanner` will complain that it does not exist. This looks like a useful patch, but where does it originate from? Has it already been committed to Qt, but not yet released? Was is taken from Nix? Something else? A link to where it was retrieved would help. > + src/tools/macdeployqt/shared/shared.cpp | 7 +++++-- > + 1 file changed, 5 insertions(+), 2 deletions(-) > + > +diff --git a/src/tools/macdeployqt/shared/shared.cpp b/src/tools/macdeployqt/shared/shared.cpp > +index 320095a972d..87ba0d4e24b 100644 > +--- a/src/tools/macdeployqt/shared/shared.cpp > ++++ b/src/tools/macdeployqt/shared/shared.cpp > +@@ -1297,9 +1297,12 @@ bool deployQmlImports(const QString &appBundlePath, DeploymentInfo deploymentInf > + } > + for (const QString &importPath : qmlImportPaths) > + argumentList << "-importPath" << importPath; > ++ > + QString qmlImportsPath = QLibraryInfo::path(QLibraryInfo::QmlImportsPath); > +- argumentList.append( "-importPath"); > +- argumentList.append(qmlImportsPath); > ++ if (QFile::exists(qmlImportsPath)) { > ++ argumentList.append( "-importPath"); > ++ argumentList.append(qmlImportsPath); > ++ } > + > + // In a modularized installation of qt as we have in Nix, instead, we will > + // read the paths from the environment, as they are spread in multiple This patches a file under the source tree 'macdeployqt'. Does Guix benefit from that? We don't support Mac, so it seems it shouldn't be useful to carry it. > diff --git a/gnu/packages/patches/qtbase-find-tools-in-PATH.patch b/gnu/packages/patches/qtbase-find-tools-in-PATH.patch > new file mode 100644 > index 0000000000..1d60684e07 > --- /dev/null > +++ b/gnu/packages/patches/qtbase-find-tools-in-PATH.patch > @@ -0,0 +1,45 @@ > +From a8b9fae710a2bd5e743f5e16364eaa8c38dbd784 Mon Sep 17 00:00:00 2001 > +From: rewine > +Date: Wed, 29 Mar 2023 11:51:33 +0800 > +Subject: [PATCH 06/11] qtbase-find-tools-in-PATH > + > +1. find qt's tools in `QTTOOLSPATH` env > + qt assumes that all components use the same install prefix > + we can't get the real prefix for qttools when build qtbase > + we will add /libexec to `QTTOOLSPATH` in qtToolsHook > + find_path will also search in 'PATH' by default > + see `CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH` > + > +2. disable tool_dependencies_enabled > + We can guarantee the build order of qt components in nixpkgs > + tools in qttools always build before qtdoc > + qdoc_bin is not a build target now, since we find it in `QTTOOLSPATH` > +--- > + cmake/QtDocsHelpers.cmake | 11 ++++++++--- > + 1 file changed, 8 insertions(+), 3 deletions(-) > + > +diff --git a/cmake/QtDocsHelpers.cmake b/cmake/QtDocsHelpers.cmake > +index 48ed5a324bf..91d8d41fb1f 100644 > +--- a/cmake/QtDocsHelpers.cmake > ++++ b/cmake/QtDocsHelpers.cmake > +@@ -47,9 +47,14 @@ function(qt_internal_add_docs) > + set(doc_tools_libexec "${QT_BUILD_INTERNALS_RELOCATABLE_INSTALL_PREFIX}/${INSTALL_LIBEXECDIR}") > + endif() > + > +- set(qdoc_bin "${doc_tools_bin}/qdoc${CMAKE_EXECUTABLE_SUFFIX}") > +- set(qtattributionsscanner_bin "${doc_tools_libexec}/qtattributionsscanner${CMAKE_EXECUTABLE_SUFFIX}") > +- set(qhelpgenerator_bin "${doc_tools_libexec}/qhelpgenerator${CMAKE_EXECUTABLE_SUFFIX}") > ++ set(tool_dependencies_enabled FALSE) > ++ > ++ find_path(qdoc_path name qdoc PATHS ENV QTTOOLSPATH) > ++ find_path(qtattributionsscanner_path name qtattributionsscanner PATHS ENV QTTOOLSPATH) > ++ find_path(qhelpgenerator_path name qhelpgenerator PATHS ENV QTTOOLSPATH) > ++ set(qdoc_bin "${qdoc_path}/qdoc${CMAKE_EXECUTABLE_SUFFIX}") > ++ set(qtattributionsscanner_bin "${qtattributionsscanner_path}/qtattributionsscanner${CMAKE_EXECUTABLE_SUFFIX}") > ++ set(qhelpgenerator_bin "${qhelpgenerator_path}/qhelpgenerator${CMAKE_EXECUTABLE_SUFFIX}") > + > + get_target_property(target_type ${target} TYPE) > + if (NOT target_type STREQUAL "INTERFACE_LIBRARY") > +-- > +2.42.0 > + > diff --git a/gnu/packages/patches/qtbase-pass-to-qmlimportscanner-the-QML2_IMPORT_PATH.patch b/gnu/packages/patches/qtbase-pass-to-qmlimportscanner-the-QML2_IMPORT_PATH.patch > new file mode 100644 > index 0000000000..7bf2193bc2 > --- /dev/null > +++ b/gnu/packages/patches/qtbase-pass-to-qmlimportscanner-the-QML2_IMPORT_PATH.patch > @@ -0,0 +1,30 @@ > +From d7a9a3b0ecdbb1b5829f25954d763d767f1c8794 Mon Sep 17 00:00:00 2001 > +From: Nick Cao > +Date: Tue, 10 Oct 2023 10:12:56 -0400 > +Subject: [PATCH 07/11] qtbase: pass to qmlimportscanner the QML2_IMPORT_PATH > + > +--- > + src/tools/macdeployqt/shared/shared.cpp | 7 +++++++ > + 1 file changed, 7 insertions(+) > + > +diff --git a/src/tools/macdeployqt/shared/shared.cpp b/src/tools/macdeployqt/shared/shared.cpp > +index 2ae4f998944..ba10ae02bcd 100644 > +--- a/src/tools/macdeployqt/shared/shared.cpp > ++++ b/src/tools/macdeployqt/shared/shared.cpp That's also probably useless for Guix (macdeployqt), unless 'mac' here has nothing to do with the fruit company computer. Did it fix an actual problem for you? [...] > diff --git a/gnu/packages/patches/qtbase-qmake-fix-includedir-in-generated-pkg-config.patch b/gnu/packages/patches/qtbase-qmake-fix-includedir-in-generated-pkg-config.patch > new file mode 100644 > index 0000000000..53f226254a > --- /dev/null > +++ b/gnu/packages/patches/qtbase-qmake-fix-includedir-in-generated-pkg-config.patch > @@ -0,0 +1,26 @@ > +From 6088085d3074316dd74639fc6c1233e5862aff11 Mon Sep 17 00:00:00 2001 > +From: Nick Cao > +Date: Fri, 14 Apr 2023 09:34:46 +0800 > +Subject: [PATCH 03/11] qtbase: qmake: fix includedir in generated pkg-config > + > +--- > + qmake/generators/makefile.cpp | 3 +-- > + 1 file changed, 1 insertion(+), 2 deletions(-) > + > +diff --git a/qmake/generators/makefile.cpp b/qmake/generators/makefile.cpp > +index 11d2f0ff7df..c78ed0d3485 100644 > +--- a/qmake/generators/makefile.cpp > ++++ b/qmake/generators/makefile.cpp > +@@ -3412,8 +3412,7 @@ MakefileGenerator::writePkgConfigFile() > + << varGlue("QMAKE_PKGCONFIG_CFLAGS", "", " ", " ") > + // << varGlue("DEFINES","-D"," -D"," ") > + ; > +- if (!project->values("QMAKE_DEFAULT_INCDIRS").contains(includeDir)) > +- t << "-I${includedir}"; > ++ t << "-I${includedir}"; > + if (target_mode == TARG_MAC_MODE && project->isActiveConfig("lib_bundle") > + && libDir != QLatin1String("/Library/Frameworks")) { > + t << " -F${libdir}"; [...] > diff --git a/gnu/packages/patches/qtdeclarative-disable-qmlcache.patch b/gnu/packages/patches/qtdeclarative-disable-qmlcache.patch > index 5f06ec53b4..df76fab910 100644 > --- a/gnu/packages/patches/qtdeclarative-disable-qmlcache.patch > +++ b/gnu/packages/patches/qtdeclarative-disable-qmlcache.patch > @@ -1,16 +1,31 @@ > Retrieved from > https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/development/libraries/qt-6/patches/qtdeclarative-default-disable-qmlcache.patch > > +From 2d561e0a80f2d123a7348187975ee845f9dcd9e0 Mon Sep 17 00:00:00 2001 > +From: Nick Cao > +Date: Tue, 10 Oct 2023 11:12:27 -0400 > +Subject: [PATCH] qtdeclarative: disable qml disk cache > + > +--- > + src/qml/jsruntime/qv4engine.cpp | 6 +----- > + 1 file changed, 1 insertion(+), 5 deletions(-) > + > diff --git a/src/qml/jsruntime/qv4engine.cpp b/src/qml/jsruntime/qv4engine.cpp > -index 852cde9e..165f1b57 100644 > +index d1b4c4fff6..50f8a07420 100644 > --- a/src/qml/jsruntime/qv4engine.cpp > +++ b/src/qml/jsruntime/qv4engine.cpp > -@@ -2093,7 +2093,7 @@ void ExecutionEngine::registerModule(const QString &_name, const QJSValue &modul > - > - bool ExecutionEngine::diskCacheEnabled() const > +@@ -2232,11 +2232,7 @@ ExecutionEngine::DiskCacheOptions ExecutionEngine::diskCacheOptions() const > { > -- return (!disableDiskCache() && !debugger()) || forceDiskCache(); > > -+ return forceDiskCache(); > + if (forceDiskCache()) > + return DiskCache::Enabled; > +- if (disableDiskCache() || debugger()) > +- return DiskCache::Disabled; > +- static const DiskCacheOptions options = qmlGetConfigOption< > +- DiskCacheOptions, transFormDiskCache>("QML_DISK_CACHE"); > +- return options; > ++ return DiskCache::Disabled; > } > > void ExecutionEngine::callInContext(QV4::Function *function, QObject *self, > +-- > +2.42.0 > > diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm > index 9df49d7fb3..9e6131f585 100644 > --- a/gnu/packages/qt.scm > +++ b/gnu/packages/qt.scm > @@ -28,7 +28,7 @@ > ;;; Copyright © 2022 Petr Hodina > ;;; Copyright © 2022 Yash Tiwari > ;;; Copyright © 2023 Sharlatan Hellseher > -;;; Copyright © 2022 Zheng Junjie <873216071@qq.com> > +;;; Copyright © 2022, 2024 Zheng Junjie <873216071@qq.com> > ;;; Copyright © 2023 Herman Rimm > ;;; > ;;; This file is part of GNU Guix. > @@ -67,6 +67,7 @@ (define-module (gnu packages qt) > #:use-module (gnu packages bash) > #:use-module (gnu packages base) > #:use-module (gnu packages bison) > + #:use-module (gnu packages crypto) > #:use-module (gnu packages check) > #:use-module (gnu packages cmake) > #:use-module (gnu packages compression) > @@ -654,27 +655,28 @@ (define-public qtbase > (package > (inherit qtbase-5) > (name "qtbase") > - (version "6.5.2") > + (version "6.6.2") > (source (origin > (inherit (package-source qtbase-5)) > (uri (qt-url name version)) > (sha256 > (base32 > - "0s8jwzdcv97dfy8n3jjm8zzvllv380l73mwdva7rs2nqnhlwgd1x")) > + "0yv78bwqzy975854h53rbiilsms62f3v02i3jqz7v8ajk1ml56xq")) > (modules '((guix build utils))) > (snippet > ;; corelib uses bundled harfbuzz, md4, md5, sha3 > '(with-directory-excursion "src/3rdparty" > (for-each delete-file-recursively > - ;; The bundled pcre2 copy is kept, as its headers > - ;; are required by some internal bootstrap target > - ;; used for the tools. > (list "double-conversion" "freetype" "harfbuzz-ng" > - "libpng" "libjpeg" "sqlite" "xcb" "zlib")))) > - (patches (search-patches "qtbase-use-TZDIR.patch" > - "qtbase-moc-ignore-gcc-macro.patch" > + "pcre2" "md4c" "libpng" "libjpeg" > + "sqlite" "xcb" "zlib")))) > + (patches (search-patches "qtbase-moc-ignore-gcc-macro.patch" > "qtbase-absolute-runpath.patch" > - "qtbase-qmake-use-libname.patch")))) > + "qtbase-qmake-use-libname.patch" > + "qtbase-find-tools-in-PATH.patch" > + "qtbase-pass-to-qmlimportscanner-the-QML2_IMPORT_PATH.patch" > + "qtbase-qmake-fix-includedir-in-generated-pkg-config.patch" > + "qtbase-check-in-the-QML-folder-of-this-library-does-.patch")))) To stick to the 80 chars limit, the '(origin ...' could be broken on its own line below '(source ...', same for '(patches (search-patches ...' > (build-system cmake-build-system) > (arguments > (substitute-keyword-arguments (package-arguments qtbase-5) > @@ -749,7 +751,8 @@ (define-public qtbase > (("\"xdg-open\"") > (format #f "~s" (search-input-file inputs "bin/xdg-open")))) > (substitute* '("mkspecs/features/qt_functions.prf" > - "qmake/library/qmakebuiltins.cpp") > + "qmake/library/qmakebuiltins.cpp" > + "tests/auto/tools/qt_cmake_create/tst_qt_cmake_create.cpp") > (("/bin/sh") > (search-input-file inputs "bin/bash"))) The patching of the tests/... file should be in a different substitute* call which substitutes it to (which "bash"); this is because when cross compiling, native-inputs are not merged into inputs and thus bash wouldn't be found. > (substitute* "src/corelib/CMakeLists.txt" > @@ -814,6 +817,16 @@ (define-public qtbase > (string-join > (append > (list This would read better if you provided context, like so: "The 'tst_selftests' fails with the following error: " > + ;; with expansion: > + ;; false > + ;; with messages: > + ;; test := "keyboard" > + ;; arguments := QList("-o", "-,tap") > + ;; Detected locale "C" with character encoding "ANSI_X3.4-1968", which is not UTF-8. > + ;; Qt depends on a UTF-8 locale, but has failed to switch to one. > + ;; If this causes problems, reconfigure your locale. See the locale(1) manual > + ;; for more information. > + "tst_selftests" This issue was reported here: , and it seems to have to do with the environment lacking UTF-8 locale data in its environment. I suspect this may not happen anymore on core-updates, where a C.UTF-8 locale is always made available by glibc, but in the meantime, have you checked if adding the 'glibc-utf8-locales' package to its native-inputs helped? > ;; The 'tst_moc' test fails with "'fi.exists()' returned FALSE". > "tst_moc" > > @@ -984,6 +997,7 @@ (define-public qtbase > bash-minimal > coreutils-minimal > md4c > + libb2 > libice > libsm > libxcb > @@ -1074,13 +1088,13 @@ (define-public qt3d-5 > (define-public qt5compat > (package > (name "qt5compat") > - (version "6.5.2") > + (version "6.6.2") > (source (origin > (method url-fetch) > (uri (qt-url name version)) > (sha256 > (base32 > - "1i4izabbmf1dayzlj1miz7hsm4cy0qb7i72pwyl2fp05w8pf9axr")))) > + "0rqr34lqf4mjdgjj09wzlvkxfknz8arjl9p30xpqbr2qfsmhhyz0")))) > (build-system cmake-build-system) > (arguments > (list > @@ -1172,13 +1186,13 @@ (define-public qtsvg-5 > (define-public qtsvg > (package > (name "qtsvg") > - (version "6.5.2") > + (version "6.6.2") > (source (origin > (method url-fetch) > (uri (qt-url name version)) > (sha256 > (base32 > - "18v337lfk8krg0hff5jx6fi7gn6x3djn03x3psrhlbmgjc8crd28")))) > + "10c1dmbv5d39n1q4m67gf2h4n6wfkzrlyk8plnxbyhhvxxcis8ss")))) > (build-system cmake-build-system) > (arguments > (list > @@ -1231,14 +1245,14 @@ (define-public qtimageformats-5 > (define-public qtimageformats > (package > (name "qtimageformats") > - (version "6.5.2") > + (version "6.6.2") > (source (origin > (inherit (package-source qtimageformats-5)) > (method url-fetch) > (uri (qt-url name version)) > (sha256 > (base32 > - "0hv7mkn72126rkhy5gmjmbvzy7v17mkk3q2pkmzy99f64j4w1q5a")))) > + "1cvwm0hnspglydms6qhcp5g0ayz5pamigl52kz8km66l6s8lqn3i")))) > (build-system cmake-build-system) > (arguments > (list > @@ -1406,14 +1420,14 @@ (define-public qtdeclarative-5 > (define-public qtdeclarative > (package > (name "qtdeclarative") > - (version "6.5.2") > + (version "6.6.2") > ;; TODO: Package 'masm' and unbundle from sources. > (source (origin > (method url-fetch) > (uri (qt-url name version)) > (sha256 > (base32 > - "06c7xfqn2a5s2m8j1bcvx3pyjqg1rgqkjvp49737gb4z9vjiz8gk")) > + "0k6qndjvkkx3g8lr7f64xx86b3cwxzkgpl6fr6cp73s6qjkyk763")) > (patches (search-patches "qtdeclarative-disable-qmlcache.patch")))) > (outputs '("out" "debug")) > (build-system cmake-build-system) > @@ -1483,6 +1497,8 @@ (define-public qtdeclarative > "(" > (string-join > (list > + ;; FIXME > + "tst_qquickiconimage" > ;; This test is marked as flaky upstream (see: > ;; https://bugreports.qt.io/browse/QTBUG-101488). > "tst_qquickfiledialogimpl" > @@ -1599,13 +1615,13 @@ (define-public qtwebsockets-5 > (define-public qtwebsockets > (package > (name "qtwebsockets") > - (version "6.5.2") > + (version "6.6.2") > (source (origin > (method url-fetch) > (uri (qt-url name version)) > (sha256 > (base32 > - "0xjwifxj2ssshys6f6kjr6ri2vq1wfshxky6mcscjm7vvyqdfjr0")))) > + "1y9q8jmspxbfxf07jdcg4n8zwmchccyzp0z68fxr0hnvr2dymrn0")))) > (build-system cmake-build-system) > (arguments > (list > @@ -1636,6 +1652,25 @@ (define-public qtwebsockets > (license (package-license qtbase)))) > > (define-public qtsensors > + (package > + (inherit qtsvg) > + (name "qtsensors") > + (version "6.6.2") > + (source (origin > + (method url-fetch) > + (uri (qt-url name version)) > + (sha256 > + (base32 > + "0a3w50bfnmxndyxnn9lsy1wxffhm2am0yjxqx3vx0gfjwv79yvsa")))) > + (native-inputs > + (list qtdeclarative)) > + (inputs (list qtbase)) > + (synopsis "Qt Sensors module") > + (description "The Qt Sensors API provides access to sensor hardware via QML > +and C++ interfaces. The Qt Sensors API also provides a motion gesture > +recognition API for devices."))) > + > +(define-public qtsensors-5 > (package > (inherit qtsvg-5) > (name "qtsensors") > @@ -1715,7 +1750,7 @@ (define-public qtmultimedia-5 > (define-public qtshadertools > (package > (name "qtshadertools") > - (version "6.5.2") > + (version "6.6.2") > (source (origin > (method url-fetch) > (uri (qt-url name version)) > @@ -1723,7 +1758,7 @@ (define-public qtshadertools > ;; sources. > (sha256 > (base32 > - "0g8aziqhds2fkx11y4p2akmyn2p1qqf2fjxv72f9pibnhpdv0gya")))) > + "0bxrczs9nw6az2p4n8x0f660vsmxxynx4iqgj75l4zsfzzbym2v2")))) > (build-system cmake-build-system) > (arguments > (list > @@ -1744,13 +1779,13 @@ (define-public qtshadertools > (define-public qtmultimedia > (package > (name "qtmultimedia") > - (version "6.5.2") > + (version "6.6.2") > (source (origin > (method url-fetch) > (uri (qt-url name version)) > (sha256 > (base32 > - "0xc9k4mlncscxqbp8q46yjd89k4jb8j0ggbi5ad874lycym013wl")) > + "1v0430jnv97ws6cizn9mi8zr9hcg7rixd0jg7smhdq8apacjb572")) > (modules '((guix build utils))) > (snippet > '(begin > @@ -1775,7 +1810,10 @@ (define-public qtmultimedia > ;; session bus, which requires an X11 server, and then is still > ;; unhappy). > (substitute* "tests/auto/CMakeLists.txt" > - (("add_subdirectory\\(integration)") "")))) > + (("add_subdirectory\\(integration)") "")) > + ;; fail on offscreen rendering For long-term maintenance, I like to mention the name of the failing test in the message, as when more such tests are skipped later, it becomes unclear. E.g.: 'The "qvideoframecolormanagement" tests fail with an 'offscreen rendering' error. > + (substitute* "tests/auto/unit/multimedia/CMakeLists.txt" > + (("add_subdirectory\\(qvideoframecolormanagement\\)") "")))) > (add-before 'check 'prepare-for-tests > (lambda _ > (setenv "QT_QPA_PLATFORM" "offscreen"))) > @@ -1865,13 +1903,13 @@ (define-public qtwayland-5 > (define-public qtwayland > (package > (name "qtwayland") > - (version "6.5.2") > + (version "6.6.2") > (source > (origin > (method url-fetch) > (uri (qt-url name version)) > (sha256 > - (base32 "16iwar19sgjvxgmbr6hmd3hsxp6ahdjwl1lra2wapl3zzf3bw81h")))) > + (base32 "0y6x84ckcc53ddclnrlzs08b1kvw6saw9nim0hz4wc5fyz7dbkcv")))) > (build-system cmake-build-system) > (arguments > (list #:configure-flags #~(list "-DQT_BUILD_TESTS=ON") > @@ -1888,6 +1926,7 @@ (define-public qtwayland > (("QTRY_COMPARE\\(bufferSpy\\.size\\(\\), 1\\);") "")))) > (add-before 'check 'set-test-environment > (lambda _ > + (setenv "XDG_RUNTIME_DIR" (getcwd)) > ;; Do not fail just because /etc/machine-id is missing. > (setenv "DBUS_FATAL_WARNINGS" "0") > ;; Make Qt render "offscreen", required for tests. > @@ -1996,13 +2035,13 @@ (define-public qtwebchannel-5 > (define-public qtwebchannel > (package > (name "qtwebchannel") > - (version "6.5.2") > + (version "6.6.2") > (source (origin > (method url-fetch) > (uri (qt-url name version)) > (sha256 > (base32 > - "0qwfnwva7v5f2g5is17yy66mnmc9c1yf9aagaw5qanskdvxdk261")))) > + "1incvisc3j758b4k82vnwci8j1bba8zf6xgmgcrsm553k4wpsz1x")))) > (build-system cmake-build-system) > (arguments > (list > @@ -2080,13 +2119,13 @@ (define-public qtwebview > (define-public qtlanguageserver > (package > (name "qtlanguageserver") > - (version "6.5.2") > + (version "6.6.2") > (source (origin > (method url-fetch) > (uri (qt-url name version)) > (sha256 > (base32 > - "196iicwpqca2ydpca41qs6aqxxq8ycknw6lm2v00h1w3m86frdbk")))) > + "1bgazi44mwac20biybhp21icgwa8k7jd295j8jsfgzxbw12lq7y3")))) > (build-system cmake-build-system) > (arguments > (list #:phases #~(modify-phases %standard-phases > @@ -2129,13 +2168,13 @@ (define-public qtlocation > (define-public qtlottie > (package > (name "qtlottie") > - (version "6.5.2") > + (version "6.6.2") > (source (origin > (method url-fetch) > (uri (qt-url name version)) > (sha256 > (base32 > - "16z8fhaa40ig0cggb689zf8j3cid6fk6pmh91b8342ymy1fdqfh0")))) > + "1hqhp55jfasavk7p8xb0srbc6lnk70w2q0x4iwn28z5s5kd1cvi7")))) > (build-system cmake-build-system) > (arguments > (list > @@ -2193,13 +2232,13 @@ (define-public qttools-5 > (define-public qttools > (package > (name "qttools") > - (version "6.5.2") > + (version "6.6.2") > (source (origin > (method url-fetch) > (uri (qt-url name version)) > (sha256 > (base32 > - "0ha3v488vnm4pgdpyjgf859sak0z2fwmbgcyivcd93qxflign7sm")))) > + "0ij7djy06xi4v5v29fh31gqq5rnc12vviv3qg3vqf4hiaagrxm76")))) > (build-system cmake-build-system) > (arguments > (list > @@ -2220,7 +2259,7 @@ (define-public qttools > (native-inputs (list perl qtdeclarative vulkan-headers)) > ;; Use clang-15, which is built using as a single shared library, which is > ;; what the build system of qttools expects. > - (inputs (list clang-15 libxkbcommon mesa qtbase)) > + (inputs (list clang-15 libxkbcommon mesa qtbase `(,zstd "lib"))) > (home-page (package-home-page qtbase)) > (synopsis "Qt Tools and Designer modules") > (description "The Qt Tools module provides a set of applications to browse > @@ -2233,13 +2272,13 @@ (define-public qttools > (define-public qttranslations > (package > (name "qttranslations") > - (version "6.5.2") > + (version "6.6.2") > (source (origin > (method url-fetch) > (uri (qt-url name version)) > (sha256 > (base32 > - "1sxy2ljn5ajvn4yjb8fx86l56viyvqh5r9hf5x67azkmgrilaz1k")))) > + "0xqcad8aa9lp6wzh1rs46id6r60zdw82qj3bq9k2b89sxy8c0fna")))) > (build-system cmake-build-system) > (arguments (list #:tests? #f)) > (native-inputs (list qtbase qttools)) > @@ -2391,13 +2430,13 @@ (define-public qtscxml > (define-public qtpositioning > (package > (name "qtpositioning") > - (version "6.5.2") > + (version "6.6.2") > (source (origin > (method url-fetch) > (uri (qt-url name version)) > (sha256 > (base32 > - "1yhlfs8izc054qv1krf5qv6zzjlvmz013h74fwamn74dfh1kyjbh")))) > + "1qn31vps9dj4g8m7d195qlsyj3p4dfqqszdc6yqq097dq5y5d9sd")))) > (build-system cmake-build-system) > (arguments > (list > @@ -2504,13 +2543,13 @@ (define-public qtnetworkauth-5 > (define-public qtnetworkauth > (package > (name "qtnetworkauth") > - (version "6.5.2") > + (version "6.6.2") > (source (origin > (method url-fetch) > (uri (qt-url name version)) > (sha256 > (base32 > - "0g18kh3zhcfi9ni8cqbbjdc1l6jf99ijv5shcl42jk6219b4pk2f")))) > + "1lijsdwbj8gscfllmp358n5ysa8pvhx2msh7gpxvb4x81daxbg9j")))) > (build-system cmake-build-system) > (arguments (list #:configure-flags #~(list "-DQT_BUILD_TESTS=ON"))) > (native-inputs (list perl)) > @@ -2524,13 +2563,13 @@ (define-public qtnetworkauth > (define-public qtremoteobjects > (package > (name "qtremoteobjects") > - (version "6.5.2") > + (version "6.6.2") > (source (origin > (method url-fetch) > (uri (qt-url name version)) > (sha256 > (base32 > - "0k29sk02n54vj1w6vh6xycsjpyfqlijc13fnxh1q7wpgg4gizx60")))) > + "0fbkjzykxpkz8myr6dy588gcmhyy3lar17v78zfam8kyxq7s5qxa")))) > (build-system cmake-build-system) > (arguments > (list > @@ -2558,7 +2597,7 @@ (define-public qtremoteobjects > (home-page (package-home-page qtbase)) > (license (package-license qtbase)))) The above LGTM. > -(define-public qtspeech > +(define-public qtspeech-5 > (package > (inherit qtsvg-5) > (name "qtspeech") > @@ -2583,6 +2622,38 @@ (define-public qtspeech > In such a scenario, the messaging application can read out the incoming > message."))) > > +(define-public qtspeech > + (package > + (inherit qtspeech-5) > + (name "qtspeech") > + (version "6.6.2") > + (source (origin > + (method url-fetch) > + (uri (qt-url name version)) > + (sha256 > + (base32 > + "1qvf3p2p1pc5fw40d8zq0iawaaqkc0dp5yx85b1dnw1j809bn8y0")))) > + (build-system qt-build-system) > + (arguments > + (list #:phases > + #~(modify-phases %standard-phases > + (delete 'check) ;move after the install phase > + (add-after 'install 'check > + (assoc-ref %standard-phases 'check)) > + (add-before 'check 'prepare-for-tests > + (lambda* (#:key outputs #:allow-other-keys) > + (setenv "QML2_IMPORT_PATH" > + (string-append (assoc-ref outputs "out") > + "/lib/qt6/qml:" > + (getenv "QML2_IMPORT_PATH"))))) > + (add-after 'install 'delete-installed-tests > + (lambda _ > + (delete-file-recursively > + (string-append #$output "/tests"))))))) > + (native-inputs '()) > + (propagated-inputs (list qtmultimedia)) > + (inputs (list qtbase qtdeclarative)))) This Qt 6 package inherits from its Qt 5 variant. I think it should be the other way around, so that when the time comes, Qt 5 packages can be simply removed without further complications. > (define-public qtvirtualkeyboard-5 > (package > (inherit qtsvg-5) > @@ -3042,14 +3113,14 @@ (define-public qtwebengine-5 > (define-public qtwebengine > (package > (name "qtwebengine") > - (version "6.5.3") > + (version "6.6.2") > (source > (origin > (method url-fetch) > (uri (qt-url name version)) > (sha256 > (base32 > - "1ra5hyyg4vymp8pgzv08smjc3fl1axdavnkpj1i5zxym1ndww513")) > + "15h3hniszfkxv2vnn3fnbgbar8wb41ypgn4b4iz4iy6csar8f7fn")) > (modules '((ice-9 ftw) > (ice-9 match) > (srfi srfi-1) > @@ -3081,12 +3152,11 @@ (define-public qtwebengine > "net/third_party/uri_template" > "third_party/abseil-cpp" > "third_party/angle" > - "third_party/angle/src/common/third_party/base" > - "third_party/angle/src/common/third_party/smhasher" > "third_party/angle/src/common/third_party/xxhash" > "third_party/angle/src/third_party/libXNVCtrl" ;Expat > - "third_party/angle/src/third_party/trace_event" > "third_party/angle/src/third_party/volk" > + "third_party/angle/src/third_party/systeminfo" > + "third_party/angle/src/third_party/ceval" > "third_party/axe-core" > "third_party/blink" > "third_party/boringssl" > @@ -3118,8 +3188,6 @@ (define-public qtwebengine > "third_party/dawn/third_party/khronos" > "third_party/devtools-frontend" > "third_party/devtools-frontend/src/front_end/third_party/i18n" > - "third_party/devtools-frontend/src/front_end/third_party/acorn" > - "third_party/devtools-frontend/src/front_end/third_party/acorn-loose" > "third_party/devtools-frontend/src/front_end/third_party/\ > additional_readme_paths.json" > "third_party/devtools-frontend/src/front_end/third_party/axe-core" > @@ -3130,11 +3198,17 @@ (define-public qtwebengine > "third_party/devtools-frontend/src/front_end/third_party/i18n" > "third_party/devtools-frontend/src/front_end/third_party/intl-messageformat" > "third_party/devtools-frontend/src/front_end/third_party/lighthouse" > - "third_party/devtools-frontend/src/front_end/third_party/lit-html" > + "third_party/devtools-frontend/src/front_end/third_party/lit" > + "third_party/devtools-frontend/src/front_end/third_party/acorn" > "third_party/devtools-frontend/src/front_end/third_party/marked" > "third_party/devtools-frontend/src/front_end/third_party/puppeteer" > + "third_party/devtools-frontend/src/front_end/third_party/\ > +puppeteer/package/lib/esm/third_party/mitt" > + "third_party/devtools-frontend/src/front_end/third_party/vscode.web-custom-data" This line is too long; it can be broken with a backslash escape in the middle of the string. > + "third_party/devtools-frontend/src/third_party/pyjson5" > "third_party/devtools-frontend/src/front_end/third_party/wasmparser" > "third_party/devtools-frontend/src/third_party/typescript" > + "third_party/devtools-frontend/src/third_party/i18n" > "third_party/distributed_point_functions" > "third_party/dom_distiller_js" > "third_party/emoji-segmenter" > @@ -3177,7 +3251,6 @@ (define-public qtwebengine > "third_party/libgav1" > "third_party/libjingle_xmpp" > "third_party/libjpeg_turbo" > - "third_party/libjxl" > "third_party/libpng" ;TODO: make pdfium use system version > "third_party/libsecret" ;LGPL2.1+ > "third_party/libsrtp" > @@ -3196,6 +3269,7 @@ (define-public qtwebengine > "third_party/lss" > "third_party/mako" > "third_party/markupsafe" > + "third_party/material_color_utilities" ;ASL2.0 > "third_party/mesa_headers" > "third_party/metrics_proto" > "third_party/minigbm" ;BSD-3 > @@ -3215,6 +3289,7 @@ (define-public qtwebengine > "third_party/opus/src/include/opus_multistream.h" > "third_party/opus/src/include/opus_types.h" > "third_party/ots" > + "third_party/flac" > "third_party/pdfium" > "third_party/pdfium/third_party/agg23" > "third_party/pdfium/third_party/base" > @@ -3222,7 +3297,6 @@ (define-public qtwebengine > "third_party/pdfium/third_party/freetype" > "third_party/pdfium/third_party/lcms" > "third_party/pdfium/third_party/libopenjpeg" > - "third_party/pdfium/third_party/libpng16" > "third_party/pdfium/third_party/libtiff" > "third_party/pdfium/third_party/skia_shared" > "third_party/pdfium/third_party/freetype/include/pstables.h" ;FreeType > @@ -3292,6 +3366,7 @@ (define-public qtwebengine > "v8/src/third_party/utf8-decoder" > "v8/src/third_party/valgrind" > "v8/third_party/inspector_protocol" > + "v8/third_party/glibc/src/sysdeps/ieee754/dbl-64" > "v8/third_party/v8/builtins"))) > > (with-directory-excursion "src/3rdparty" > @@ -3359,14 +3434,17 @@ (define-public qtwebengine > "-DQT_FEATURE_webengine_system_libjpeg=ON" > "-DQT_FEATURE_webengine_system_libpci=ON" > "-DQT_FEATURE_webengine_system_libpng=ON" > + "-DQT_FEATURE_webengine_system_libtiff=ON" > "-DQT_FEATURE_webengine_system_libwebp=ON" > "-DQT_FEATURE_webengine_system_libxml=ON" > - "-DQT_FEATURE_webengine_system_libxslt=ON" > "-DQT_FEATURE_webengine_system_minizip=ON" > "-DQT_FEATURE_webengine_system_opus=ON" > "-DQT_FEATURE_webengine_system_pulseaudio=ON" > "-DQT_FEATURE_webengine_system_re2=ON" > - "-DQT_FEATURE_webengine_system_zlib=ON") > + "-DQT_FEATURE_webengine_system_zlib=ON" > + "-DQT_FEATURE_webengine_system_glib=ON" > + "-DQT_FEATURE_webengine_system_libvpx=ON" > + "-DQT_FEATURE_webengine_system_snappy=ON") > #:phases > #~(modify-phases %standard-phases > (add-after 'unpack 'patch-paths > @@ -3416,7 +3494,11 @@ (define-public qtwebengine > '())))) > (replace 'install > (lambda _ > - (invoke "cmake" "--install" ".")))))) > + (invoke "cmake" "--install" "."))) > + (add-after 'install 'delete-installed-tests > + (lambda _ > + (delete-file-recursively > + (string-append #$output "/tests"))))))) > (native-inputs > (modify-inputs (package-native-inputs qtwebengine-5) > (delete "python2" "python2-six") > @@ -3684,7 +3766,7 @@ (define-public python-pyqt > ("qtdeclarative-5" ,qtdeclarative-5) > ("qtlocation" ,qtlocation) > ("qtmultimedia-5" ,qtmultimedia-5) > - ("qtsensors" ,qtsensors) > + ("qtsensors" ,qtsensors-5) > ("qtserialport" ,qtserialport) > ("qtsvg-5" ,qtsvg-5) > ("qttools-5" ,qttools-5) > @@ -4498,8 +4580,8 @@ (define-public python-pyside-2 > qtquickcontrols2-5 > qtscript > qtscxml > - qtsensors > - qtspeech > + qtsensors-5 > + qtspeech-5 > qtsvg-5 > qttools-5 > qtwebchannel-5 That LGTM. In a separate commit, we could modernize webengine to remove legacy input labels, unless they are used in the phases (and this can't be expressed in a new way such as via 'search-input-file'). > @@ -5086,7 +5168,7 @@ (define-public clazy > (define-public qt-creator > (package > (name "qt-creator") > - (version "12.0.1") > + (version "12.0.2") > (source (origin > (method url-fetch) > (uri (string-append > @@ -5109,7 +5191,7 @@ (define-public qt-creator > ((".*marketplace/marketplace.qbs.*") "")))) > (sha256 > (base32 > - "04h35za3gliai5djxwmzqrbih2g26lcv68pp4wvljkdwkcjsscvb")))) > + "1lgk547pvg31zzqra7gn9gsszm5wrwxiw06crbr5n2kqfavk9r22")))) > (build-system qt-build-system) > (arguments > (list Can be in its own commit as mentioned earlier. Thanks for this series! It seems well crafted. My earlier comments are mostly cosmetic/nitpicks; so hopefully it's not too much work to implement. The more annoying part may be to separate your commits a bit more. For this time around, I think it's OK to group the Qt 6 upgrades together, unless you want to try the automatic updates tooling I've hinted at the beginning and re-apply the additional changes on top, but I don't think it's worth it. Thank you! I'll be expecting a v4 :-) Maxim