@@ -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 \
@@ -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")
@@ -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
@@ -2575,7 +2575,7 @@ (define-public openorienteering-mapper
qtbase-5
qtimageformats-5
qtlocation
- qtsensors
+ qtsensors-5
zlib))
(native-inputs
(list doxygen
@@ -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.
@@ -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
@@ -793,7 +793,7 @@ (define-public kscreen
libkscreen
libxi
plasma-wayland-protocols
- qtsensors
+ qtsensors-5
qtbase-5
qtx11extras
xcb-util))
@@ -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
@@ -1557,7 +1557,7 @@ (define-public okular
kio
kparts
kpty
- qtspeech
+ qtspeech-5
kwallet
kwindowsystem
libkexiv2
new file mode 100644
@@ -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
+
new file mode 100644
@@ -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
+
new file mode 100644
@@ -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
+
new file mode 100644
@@ -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
+
deleted file mode 100644
@@ -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
-
@@ -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
@@ -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
@@ -2671,7 +2671,7 @@ (define-public sdrangel
qtmultimedia-5
qtquickcontrols2-5
qtserialport
- qtspeech
+ qtspeech-5
qtwebchannel-5
qtwebengine-5
qtwebsockets-5