Message ID | bc18872a7614d817539858083458054025f132a0.1710154350.git.zhengjunjie@iscas.ac.cn |
---|---|
State | New |
Headers | show |
Series | [bug#69628,v3] gnu: qt: Update to 6.6.2. | expand |
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 <zhengjunjie@iscas.ac.cn> 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 <nickcao@nichi.co> > +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 <luhongxu@deepin.org> > +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 <nickcao@nichi.co> > +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 <nickcao@nichi.co> > +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 <nickcao@nichi.co> > +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 <phodina@protonmail.com> > ;;; Copyright © 2022 Yash Tiwari <yasht@mailbox.org> > ;;; Copyright © 2023 Sharlatan Hellseher <sharlatanus@gmail.com> > -;;; Copyright © 2022 Zheng Junjie <873216071@qq.com> > +;;; Copyright © 2022, 2024 Zheng Junjie <873216071@qq.com> > ;;; Copyright © 2023 Herman Rimm <herman@rimm.ee> > ;;; > ;;; 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: <https://bugreports.qt.io/browse/QTBUG-113371>, 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
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 <nickcao@nichi.co> +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 <luhongxu@deepin.org> +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 <nickcao@nichi.co> +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 <nickcao@nichi.co> +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 <edward.welbourne@qt.io> -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<QByteArray, QTzTimeZone> 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 <nickcao@nichi.co> +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 <phodina@protonmail.com> ;;; Copyright © 2022 Yash Tiwari <yasht@mailbox.org> ;;; Copyright © 2023 Sharlatan Hellseher <sharlatanus@gmail.com> -;;; Copyright © 2022 Zheng Junjie <873216071@qq.com> +;;; Copyright © 2022, 2024 Zheng Junjie <873216071@qq.com> ;;; Copyright © 2023 Herman Rimm <herman@rimm.ee> ;;; ;;; 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