From patchwork Mon Mar 11 10:52:30 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Zheng Junjie X-Patchwork-Id: 61622 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id A590327BBEA; Mon, 11 Mar 2024 10:54:14 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,MAILING_LIST_MULTI, SPF_HELO_PASS,URIBL_BLOCKED,URIBL_SBL_A autolearn=ham autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id D456A27BBE2 for ; Mon, 11 Mar 2024 10:54:08 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rjdHv-0000Q2-A4; Mon, 11 Mar 2024 06:53:47 -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 1rjdHh-0000K7-In for guix-patches@gnu.org; Mon, 11 Mar 2024 06:53:34 -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 1rjdHh-0006Xy-AO for guix-patches@gnu.org; Mon, 11 Mar 2024 06:53:33 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1rjdIA-0002AI-C5; Mon, 11 Mar 2024 06:54:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#69628] [PATCH v3] gnu: qt: Update to 6.6.2. References: In-Reply-To: Resent-From: Zheng Junjie Original-Sender: "Debbugs-submit" Resent-CC: adam.faiz@disroot.org, andreas@enge.fr, bavier@posteo.net, liliana.prikler@gmail.com, maxim.cournoyer@gmail.com, sharlatanus@gmail.com, iyzsong@envs.net, guix-patches@gnu.org Resent-Date: Mon, 11 Mar 2024 10:54:02 +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: 69628@debbugs.gnu.org Cc: Adam Faiz , Andreas Enge , Eric Bavier , Liliana Marie Prikler , Maxim Cournoyer , Sharlatan Hellseher , =?utf-8?b?5a6L5paH5q2m?= X-Debbugs-Original-Xcc: Adam Faiz , Andreas Enge , Eric Bavier , Liliana Marie Prikler , Maxim Cournoyer , Sharlatan Hellseher , =?utf-8?b?5a6L5paH5q2m?= Received: via spool by 69628-submit@debbugs.gnu.org id=B69628.17101544158283 (code B ref 69628); Mon, 11 Mar 2024 10:54:02 +0000 Received: (at 69628) by debbugs.gnu.org; 11 Mar 2024 10:53:35 +0000 Received: from localhost ([127.0.0.1]:38948 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rjdHg-00029V-Hc for submit@debbugs.gnu.org; Mon, 11 Mar 2024 06:53:34 -0400 Received: from smtp84.cstnet.cn ([159.226.251.84]:48138 helo=cstnet.cn) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rjdHa-00029A-0Z for 69628@debbugs.gnu.org; Mon, 11 Mar 2024 06:53:31 -0400 Received: from m.taildaf0f.ts.net (unknown [183.247.5.134]) by APP-05 (Coremail) with SMTP id zQCowAAHKKly4u5lwoh6BQ--.23278S2; Mon, 11 Mar 2024 18:52:35 +0800 (CST) From: Zheng Junjie Date: Mon, 11 Mar 2024 18:52:30 +0800 Message-ID: X-Mailer: git-send-email 2.41.0 MIME-Version: 1.0 X-CM-TRANSID: zQCowAAHKKly4u5lwoh6BQ--.23278S2 X-Coremail-Antispam: 1UD129KBjDUn29KB7ZKAUJUUUUU529EdanIXcx71UUUUU7v73 VFW2AGmfu7bjvjm3AaLaJ3UjIYCTnIWjp_UUUYT7k0a2IF6F4UM7kC6x804xWl14x267AK xVWUJVW8JwAFc2x0x2IEx4CE42xK8VAvwI8IcIk0rVWrJVCq3wAFIxvE14AKwVWUJVWUGw A2ocxC64kIII0Yj41l84x0c7CEw4AK67xGY2AK021l84ACjcxK6xIIjxv20xvE14v26r1I 6r4UM28EF7xvwVC0I7IYx2IY6xkF7I0E14v26r4j6F4UM28EF7xvwVC2z280aVAFwI0_Cr 1j6rxdM28EF7xvwVC2z280aVCY1x0267AKxVW0oVCq3wAS0I0E0xvYzxvE52x082IY62kv 0487M2AExVAIFx02aVAFz4v204v7Mc02F40EFcxC0VAKzVAqx4xG6I80ewAv7VC0I7IYx2 IY67AKxVWUJVWUGwAv7VC2z280aVAFwI0_Jr0_Gr1lOx8S6xCaFVCjc4AY6r1j6r4UM4x0 Y48IcxkI7VAKI48JM4kE6I8I3I0E14AKx2xKxVC2ax8xMxAIw28IcxkI7VAKI48JMxC20s 026xCaFVCjc4AY6r1j6r4UMI8I3I0E5I8CrVAFwI0_Jr0_Jr4lx2IqxVCjr7xvwVAFwI0_ Jr0_Jr4lx4CE17CEb7AF67AKxVWUJVWUXwCIc40Y0x0EwIxGrwCI42IY6xIIjxv20xvE14 v26r1j6r1xMIIF0xvE2Ix0cI8IcVCY1x0267AKxVWUJVW8JwCI42IY6xAIw20EY4v20xva j40_Jr0_JF4lIxAIcVC2z280aVAFwI0_Jr0_Gr1lIxAIcVC2z280aVCY1x0267AKxVWUJV W8JbIYCTnIWIevJa73UjIFyTuYvjxU2_HUDUUUU X-Originating-IP: [183.247.5.134] X-CM-SenderInfo: x2kh0wxmxqyx3h6l2u1dvotugofq/ 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+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches * 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. (qt-creator): Update to 12.0.2. (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. (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. (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. * gnu/local.mk(dist_patch_DATA): remove qtbase-use-TZDIR.patch. Regist 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. 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): 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. 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 base-commit: b0b988c41c9e0e591274495a1b2d6f27fcdae15a 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. +--- + 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 +-- +2.42.0 + 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 +@@ -1297,6 +1297,13 @@ bool deployQmlImports(const QString &appBundlePath, DeploymentInfo deploymentInf + 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 ++ // locations and normally set in the environment like this ++ auto envQmlImportPaths = ::qgetenv("QML2_IMPORT_PATH").split(':'); ++ for (const QString &importPath : envQmlImportPaths) ++ argumentList << "-importPath" << importPath; ++ + // run qmlimportscanner + QProcess qmlImportScanner; + qmlImportScanner.start(qmlImportScannerPath, argumentList); +-- +2.42.0 + 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}"; +-- +2.42.0 + diff --git a/gnu/packages/patches/qtbase-use-TZDIR.patch b/gnu/packages/patches/qtbase-use-TZDIR.patch deleted file mode 100644 index 98bf7493e9..0000000000 --- a/gnu/packages/patches/qtbase-use-TZDIR.patch +++ /dev/null @@ -1,141 +0,0 @@ -From 1075606f8b2f9e153c82f8e50cbd69cea9c72e87 Mon Sep 17 00:00:00 2001 -From: Edward Welbourne -Date: Mon, 11 Sep 2023 11:41:39 +0200 -Subject: [PATCH] Support the TZDIR environment variable - -On Linux / glibc, this overrides the default system location for the -zone info. So check for files there first. Break out a function to -manage the trying of (now three) zoneinfo directories when opening a -file by name relative to there. - -Pick-to: 6.6 6.5 -Task-number: QTBUG-116017 -Change-Id: I1f97107aabd9015c0a5543639870f1d70654ca67 ---- -* Rebased on top of v6.5.2. - - src/corelib/time/qtimezoneprivate_tz.cpp | 73 ++++++++++++++++-------- - 1 file changed, 49 insertions(+), 24 deletions(-) - -diff --git a/src/corelib/time/qtimezoneprivate_tz.cpp b/src/corelib/time/qtimezoneprivate_tz.cpp -index 067191d816..a8b2fc894e 100644 ---- a/src/corelib/time/qtimezoneprivate_tz.cpp -+++ b/src/corelib/time/qtimezoneprivate_tz.cpp -@@ -51,17 +51,41 @@ typedef QHash QTzTimeZoneHash; - - static bool isTzFile(const QString &name); - -+// Open a named file under the zone info directory: -+static bool openZoneInfo(QString name, QFile *file) -+{ -+ // At least on Linux / glibc (see man 3 tzset), $TZDIR overrides the system -+ // default location for zone info: -+ const QString tzdir = qEnvironmentVariable("TZDIR"); -+ if (!tzdir.isEmpty()) { -+ file->setFileName(QDir(tzdir).filePath(name)); -+ if (file->open(QIODevice::ReadOnly)) -+ return true; -+ } -+ // Try modern system path first: -+ constexpr auto zoneShare = "/usr/share/zoneinfo/"_L1; -+ if (tzdir != zoneShare && tzdir != zoneShare.chopped(1)) { -+ file->setFileName(zoneShare + name); -+ if (file->open(QIODevice::ReadOnly)) -+ return true; -+ } -+ // Fall back to legacy system path: -+ constexpr auto zoneLib = "/usr/lib/zoneinfo/"_L1; -+ if (tzdir != zoneLib && tzdir != zoneLib.chopped(1)) { -+ file->setFileName(zoneShare + name); -+ if (file->open(QIODevice::ReadOnly)) -+ return true; -+ } -+ return false; -+} -+ - // Parse zone.tab table for territory information, read directories to ensure we - // find all installed zones (many are omitted from zone.tab; even more from - // zone1970.tab). - static QTzTimeZoneHash loadTzTimeZones() - { -- QString path = QStringLiteral("/usr/share/zoneinfo/zone.tab"); -- if (!QFile::exists(path)) -- path = QStringLiteral("/usr/lib/zoneinfo/zone.tab"); -- -- QFile tzif(path); -- if (!tzif.open(QIODevice::ReadOnly)) -+ QFile tzif; -+ if (!openZoneInfo("zone.tab"_L1, &tzif)) - return QTzTimeZoneHash(); - - QTzTimeZoneHash zonesHash; -@@ -91,6 +115,7 @@ static QTzTimeZoneHash loadTzTimeZones() - } - } - -+ const QString path = tzif.fileName(); - const qsizetype cut = path.lastIndexOf(u'/'); - Q_ASSERT(cut > 0); - const QDir zoneDir = QDir(path.first(cut)); -@@ -761,20 +786,13 @@ QTzTimeZoneCacheEntry QTzTimeZoneCache::findEntry(const QByteArray &ianaId) - tzif.setFileName(QStringLiteral("/etc/localtime")); - if (!tzif.open(QIODevice::ReadOnly)) - return ret; -- } else { -- // Open named tz, try modern path first, if fails try legacy path -- tzif.setFileName("/usr/share/zoneinfo/"_L1 + QString::fromLocal8Bit(ianaId)); -- if (!tzif.open(QIODevice::ReadOnly)) { -- tzif.setFileName("/usr/lib/zoneinfo/"_L1 + QString::fromLocal8Bit(ianaId)); -- if (!tzif.open(QIODevice::ReadOnly)) { -- // ianaId may be a POSIX rule, taken from $TZ or /etc/TZ -- auto check = validatePosixRule(ianaId); -- if (check.isValid) { -- ret.m_hasDst = check.hasDst; -- ret.m_posixRule = ianaId; -- } -- return ret; -- } -+ } else if (!openZoneInfo(QString::fromLocal8Bit(ianaId), &tzif)) { -+ // ianaId may be a POSIX rule, taken from $TZ or /etc/TZ -+ auto check = validatePosixRule(ianaId); -+ if (check.isValid) { -+ ret.m_hasDst = check.hasDst; -+ ret.m_posixRule = ianaId; -+ return ret; - } - } - -@@ -1317,7 +1335,8 @@ private: - { - // On most distros /etc/localtime is a symlink to a real file so extract - // name from the path -- const auto zoneinfo = "/zoneinfo/"_L1; -+ const QString tzdir = qEnvironmentVariable("TZDIR"); -+ constexpr auto zoneinfo = "/zoneinfo/"_L1; - QString path = QStringLiteral("/etc/localtime"); - long iteration = getSymloopMax(); - // Symlink may point to another symlink etc. before being under zoneinfo/ -@@ -1325,9 +1344,15 @@ private: - // symlink, like America/Montreal pointing to America/Toronto - do { - path = QFile::symLinkTarget(path); -- int index = path.indexOf(zoneinfo); -- if (index >= 0) // Found zoneinfo file; extract zone name from path: -- return QStringView{ path }.mid(index + zoneinfo.size()).toUtf8(); -+ // If it's a zoneinfo file, extract the zone name from its path: -+ int index = tzdir.isEmpty() ? -1 : path.indexOf(tzdir); -+ if (index >= 0) { -+ const auto tail = QStringView{ path }.sliced(index + tzdir.size()).toUtf8(); -+ return tail.startsWith(u'/') ? tail.sliced(1) : tail; -+ } -+ index = path.indexOf(zoneinfo); -+ if (index >= 0) -+ return QStringView{ path }.sliced(index + zoneinfo.size()).toUtf8(); - } while (!path.isEmpty() && --iteration > 0); - - return QByteArray(); - -base-commit: af457a9f0f7eb1a2a7d11f495da508faab91a442 --- -2.41.0 - 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")))) (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"))) (substitute* "src/corelib/CMakeLists.txt" @@ -814,6 +817,16 @@ (define-public qtbase (string-join (append (list + ;; 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" ;; 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 + (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)))) -(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)))) + (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" + "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 @@ -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 diff --git a/gnu/packages/radio.scm b/gnu/packages/radio.scm index 9c8225d22b..938b786ae2 100644 --- a/gnu/packages/radio.scm +++ b/gnu/packages/radio.scm @@ -2671,7 +2671,7 @@ (define-public sdrangel qtmultimedia-5 qtquickcontrols2-5 qtserialport - qtspeech + qtspeech-5 qtwebchannel-5 qtwebengine-5 qtwebsockets-5