From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2.migadu.com ([2001:41d0:403:4876::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms8.migadu.com with LMTPS id oFfQBSxy8WVRxAAAe85BDQ:P1 (envelope-from ) for ; Wed, 13 Mar 2024 10:30:20 +0100 Received: from aspmx1.migadu.com ([2001:41d0:403:4876::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2.migadu.com with LMTPS id oFfQBSxy8WVRxAAAe85BDQ (envelope-from ) for ; Wed, 13 Mar 2024 10:30:20 +0100 X-Envelope-To: larch@yhetil.org Authentication-Results: aspmx1.migadu.com; dkim=none; dmarc=none; spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org" ARC-Seal: i=1; s=key1; d=yhetil.org; t=1710322219; a=rsa-sha256; cv=none; b=OmswGOA7h1qC2DQW+DprrYcjuubAHj0XBi0Ta8grNMyfmcVLaQr/0RxpjbQbW148Txx3Ry Axou4avjbXQLQ3N51cn9JHw+2iJdqIAkeD4cOehogHIAAdfyUuO2+MJwAwk51woNmMrKge MsgCV4ZRD+bDGkRp4dzbaeuLryET3WmEJl/QO2ws3ReaRzvDlGWOgHjLDlQ7rMUo9jMMV6 EiozfDgSPySj75t9EWh05USwzr/mOUtoinpi40ikZgufDgNV7pl5VaClWnlAuAl3E2hFPu BoQd2uVic5NdrXanHBz112EBi1ejTGumSucNMDv1FAGCzHy4H2pthNKj7TZKtw== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=none; dmarc=none; spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org" ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1710322219; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding:resent-cc: resent-from:resent-sender:resent-message-id:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post; bh=HNVPzyrN7t9CIwEIdUXdD4lnv6Iy+Z8XDmu26U7PSqA=; b=CrMXXz45dPPl3cwtb0JBiGms+N51NjsYTqZgml6q7zLTFpmVK0JTkQ9dHhk0Er1WjbzB30 u7TyM5BYgvVV0xpqSV3l7S0hWNSq9JqlPmHGVrEvxRC9B4VD2SBoFnmYyarZ2cnzXjaVAg SQxiYMkWvET7XfomzQHKyLtkRyN2467LzhHZ4eoN+XM9oR+nsrejB/iUxGEBuK3g99nE4b 5QbrI4X5V2uznuUTstxFgpXbT0ihie1zLRWUHOodcbhD/XKKRvx7X8IYrWGitSRJl/lqnt y7sa2Lno3VcQG4bTpFMTevFPh0Y8TaXM9IibCQdaNSSLYh+0yTVP/b2yKWu+Ow== Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 855F769034 for ; Wed, 13 Mar 2024 10:30:19 +0100 (CET) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rkKSX-0000tq-Ub; Wed, 13 Mar 2024 04:59:37 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rkKSV-0000nv-8o for guix-patches@gnu.org; Wed, 13 Mar 2024 04:59:35 -0400 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1rkKSU-0002OV-Ri for guix-patches@gnu.org; Wed, 13 Mar 2024 04:59:34 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1rkKT3-0001LT-PQ; Wed, 13 Mar 2024 05:00:09 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#69628] [PATCH qt-team v4 01/24] gnu: qtbase: Update to 6.6.2. Resent-From: Zheng Junjie Original-Sender: "Debbugs-submit" Resent-CC: maxim.cournoyer@gmail.com, iyzsong@envs.net, guix-patches@gnu.org Resent-Date: Wed, 13 Mar 2024 09:00:09 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 69628 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 69628@debbugs.gnu.org Cc: Maxim Cournoyer , =?UTF-8?Q?=E5=AE=8B=E6=96=87=E6=AD=A6?= X-Debbugs-Original-Xcc: Maxim Cournoyer , =?UTF-8?Q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Received: via spool by 69628-submit@debbugs.gnu.org id=B69628.17103203884973 (code B ref 69628); Wed, 13 Mar 2024 09:00:09 +0000 Received: (at 69628) by debbugs.gnu.org; 13 Mar 2024 08:59:48 +0000 Received: from localhost ([127.0.0.1]:44557 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rkKSh-0001I2-3h for submit@debbugs.gnu.org; Wed, 13 Mar 2024 04:59:48 -0400 Received: from smtp84.cstnet.cn ([159.226.251.84]:34916 helo=cstnet.cn) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rkKSU-0001Ej-NR for 69628@debbugs.gnu.org; Wed, 13 Mar 2024 04:59:41 -0400 Received: from m.taildaf0f.ts.net (unknown [183.247.5.134]) by APP-05 (Coremail) with SMTP id zQCowABnbqLEavFlQy_gBQ--.17593S3; Wed, 13 Mar 2024 16:58:45 +0800 (CST) From: Zheng Junjie Date: Wed, 13 Mar 2024 16:57:55 +0800 Message-ID: <8990862367504be8cc269996477d95e44713a0e8.1710320156.git.zhengjunjie@iscas.ac.cn> X-Mailer: git-send-email 2.41.0 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-CM-TRANSID: zQCowABnbqLEavFlQy_gBQ--.17593S3 X-Coremail-Antispam: 1UD129KBjvAXoW3Kw1fXF4rGw4UtFW8JF1xGrg_yoW8Xw1Uuo WxZa1rXaykGw4rWr10krnxZwn8ZF4vkF4fJF4qkFWDWw1kJanrJa4fuwn5XFWUZr40gFZ5 ZrWxGwn5GFW3AF1fn29KB7ZKAUJUUUUU529EdanIXcx71UUUUU7v73VFW2AGmfu7bjvjm3 AaLaJ3UjIYCTnIWjp_UUUYq7k0a2IF6w4kM7kC6x804xWl14x267AKxVWUJVW8JwAFc2x0 x2IEx4CE42xK8VAvwI8IcIk0rVWrJVCq3wAFIxvE14AKwVWUJVWUGwA2048vs2IY020E87 I2jVAFwI0_Jr4l82xGYIkIc2x26xkF7I0E14v26r18M28lY4IEw2IIxxk0rwA2F7IY1VAK z4vEj48ve4kI8wA2z4x0Y4vE2Ix0cI8IcVAFwI0_Xr0_Ar1l84ACjcxK6xIIjxv20xvEc7 CjxVAFwI0_Cr0_Gr1UM28EF7xvwVC2z280aVAFwI0_Cr1j6rxdM28EF7xvwVC2z280aVCY 1x0267AKxVW0oVCq3wAS0I0E0xvYzxvE52x082IY62kv0487Mc02F40EFcxC0VAKzVAqx4 xG6I80ewAv7VC0I7IYx2IY67AKxVWUJVWUGwAv7VC2z280aVAFwI0_Jr0_Gr1lOx8S6xCa FVCjc4AY6r1j6r4UM4x0Y48IcxkI7VAKI48JMxAIw28IcxkI7VAKI48JMxC20s026xCaFV Cjc4AY6r1j6r4UMI8I3I0E5I8CrVAFwI0_Jr0_Jr4lx2IqxVCjr7xvwVAFwI0_JrI_JrWl x4CE17CEb7AF67AKxVWUJVWUXwCIc40Y0x0EwIxGrwCI42IY6xIIjxv20xvE14v26r1j6r 1xMIIF0xvE2Ix0cI8IcVCY1x0267AKxVWUJVW8JwCI42IY6xAIw20EY4v20xvaj40_Jr0_ JF4lIxAIcVC2z280aVAFwI0_Jr0_Gr1lIxAIcVC2z280aVCY1x0267AKxVWUJVW8JbIYCT nIWIevJa73UjIFyTuYvjxUgQeoUUUUU X-Originating-IP: [183.247.5.134] X-CM-SenderInfo: x2kh0wxmxqyx3h6l2u1dvotugofq/ X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+larch=yhetil.org@gnu.org Sender: guix-patches-bounces+larch=yhetil.org@gnu.org X-Migadu-Flow: FLOW_IN X-Migadu-Country: US X-Migadu-Scanner: mx10.migadu.com X-Migadu-Spam-Score: -4.79 X-Spam-Score: -4.79 X-Migadu-Queue-Id: 855F769034 X-TUID: 8txrmQBiNg3J * gnu/packages/qt.scm (qtbase): Update to 6.6.2. [source]: Unbundle pcre2, md4c. Remove qtbase-use-TZDIR.patch. Add qtbase-find-tools-in-PATH.patch, qtbase-qmake-fix-includedir.patch, [arguments]<#:phases>: Adjust 'patch-more-paths phase, skip tst_selftests test. [inputs]: Add libb2 * gnu/packages/patches/qtbase-use-TZDIR.patch: Remove this. * gnu/packages/patches/qtbase-find-tools-in-PATH.patch: New file. * gnu/packages/patches/qtbase-qmake-fix-includedir.patch: New file. * gnu/local.mk (dist_patch_DATA): Remove qtbase-use-TZDIR.patch. Register qtbase-find-tools-in-PATH.patch, qtbase-qmake-fix-includedir.patch. Change-Id: I72af9c8f2e930bcae18f36ceca18a0a53f5c3e15 --- gnu/local.mk | 3 +- .../patches/qtbase-find-tools-in-PATH.patch | 49 ++++++ .../patches/qtbase-qmake-fix-includedir.patch | 29 ++++ gnu/packages/patches/qtbase-use-TZDIR.patch | 141 ------------------ gnu/packages/qt.scm | 47 ++++-- 5 files changed, 117 insertions(+), 152 deletions(-) create mode 100644 gnu/packages/patches/qtbase-find-tools-in-PATH.patch create mode 100644 gnu/packages/patches/qtbase-qmake-fix-includedir.patch delete mode 100644 gnu/packages/patches/qtbase-use-TZDIR.patch diff --git a/gnu/local.mk b/gnu/local.mk index e8b0a0e7be..0d8f4d28fe 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1951,10 +1951,11 @@ 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-qmake-fix-includedir.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/patches/qtbase-find-tools-in-PATH.patch b/gnu/packages/patches/qtbase-find-tools-in-PATH.patch new file mode 100644 index 0000000000..d5e38b09be --- /dev/null +++ b/gnu/packages/patches/qtbase-find-tools-in-PATH.patch @@ -0,0 +1,49 @@ +Patch retrieved from NixOS + +https://github.com/NixOS/nixpkgs/blob/93ecdaa1f34354c9476062dc4fe323b442c087d5/pkgs/development/libraries/qt-6/patches/0006-qtbase-find-tools-in-PATH.patch + +From a8b9fae710a2bd5e743f5e16364eaa8c38dbd784 Mon Sep 17 00:00:00 2001 +From: rewine +Date: Wed, 29 Mar 2023 11:51:33 +0800 +Subject: [PATCH 06/11] qtbase-find-tools-in-PATH + +1. find qt's tools in `QTTOOLSPATH` env + qt assumes that all components use the same install prefix + we can't get the real prefix for qttools when build qtbase + we will add /libexec to `QTTOOLSPATH` in qtToolsHook + find_path will also search in 'PATH' by default + see `CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH` + +2. disable tool_dependencies_enabled + We can guarantee the build order of qt components in nixpkgs + tools in qttools always build before qtdoc + qdoc_bin is not a build target now, since we find it in `QTTOOLSPATH` +--- + cmake/QtDocsHelpers.cmake | 11 ++++++++--- + 1 file changed, 8 insertions(+), 3 deletions(-) + +diff --git a/cmake/QtDocsHelpers.cmake b/cmake/QtDocsHelpers.cmake +index 48ed5a324bf..91d8d41fb1f 100644 +--- a/cmake/QtDocsHelpers.cmake ++++ b/cmake/QtDocsHelpers.cmake +@@ -47,9 +47,14 @@ function(qt_internal_add_docs) + set(doc_tools_libexec "${QT_BUILD_INTERNALS_RELOCATABLE_INSTALL_PREFIX}/${INSTALL_LIBEXECDIR}") + endif() + +- set(qdoc_bin "${doc_tools_bin}/qdoc${CMAKE_EXECUTABLE_SUFFIX}") +- set(qtattributionsscanner_bin "${doc_tools_libexec}/qtattributionsscanner${CMAKE_EXECUTABLE_SUFFIX}") +- set(qhelpgenerator_bin "${doc_tools_libexec}/qhelpgenerator${CMAKE_EXECUTABLE_SUFFIX}") ++ set(tool_dependencies_enabled FALSE) ++ ++ find_path(qdoc_path name qdoc PATHS ENV QTTOOLSPATH) ++ find_path(qtattributionsscanner_path name qtattributionsscanner PATHS ENV QTTOOLSPATH) ++ find_path(qhelpgenerator_path name qhelpgenerator PATHS ENV QTTOOLSPATH) ++ set(qdoc_bin "${qdoc_path}/qdoc${CMAKE_EXECUTABLE_SUFFIX}") ++ set(qtattributionsscanner_bin "${qtattributionsscanner_path}/qtattributionsscanner${CMAKE_EXECUTABLE_SUFFIX}") ++ set(qhelpgenerator_bin "${qhelpgenerator_path}/qhelpgenerator${CMAKE_EXECUTABLE_SUFFIX}") + + get_target_property(target_type ${target} TYPE) + if (NOT target_type STREQUAL "INTERFACE_LIBRARY") +-- +2.42.0 + diff --git a/gnu/packages/patches/qtbase-qmake-fix-includedir.patch b/gnu/packages/patches/qtbase-qmake-fix-includedir.patch new file mode 100644 index 0000000000..766689c4fd --- /dev/null +++ b/gnu/packages/patches/qtbase-qmake-fix-includedir.patch @@ -0,0 +1,29 @@ +Patch retrieved from NixOS +https://github.com/NixOS/nixpkgs/blob/93ecdaa1f34354c9476062dc4fe323b442c087d5/pkgs/development/libraries/qt-6/patches/0003-qtbase-qmake-fix-includedir-in-generated-pkg-config.patch + +From 6088085d3074316dd74639fc6c1233e5862aff11 Mon Sep 17 00:00:00 2001 +From: Nick Cao +Date: Fri, 14 Apr 2023 09:34:46 +0800 +Subject: [PATCH 03/11] qtbase: qmake: fix includedir in generated pkg-config + +--- + qmake/generators/makefile.cpp | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/qmake/generators/makefile.cpp b/qmake/generators/makefile.cpp +index 11d2f0ff7df..c78ed0d3485 100644 +--- a/qmake/generators/makefile.cpp ++++ b/qmake/generators/makefile.cpp +@@ -3412,8 +3412,7 @@ MakefileGenerator::writePkgConfigFile() + << varGlue("QMAKE_PKGCONFIG_CFLAGS", "", " ", " ") + // << varGlue("DEFINES","-D"," -D"," ") + ; +- if (!project->values("QMAKE_DEFAULT_INCDIRS").contains(includeDir)) +- t << "-I${includedir}"; ++ t << "-I${includedir}"; + if (target_mode == TARG_MAC_MODE && project->isActiveConfig("lib_bundle") + && libDir != QLatin1String("/Library/Frameworks")) { + t << " -F${libdir}"; +-- +2.42.0 + diff --git a/gnu/packages/patches/qtbase-use-TZDIR.patch b/gnu/packages/patches/qtbase-use-TZDIR.patch deleted file mode 100644 index 98bf7493e9..0000000000 --- a/gnu/packages/patches/qtbase-use-TZDIR.patch +++ /dev/null @@ -1,141 +0,0 @@ -From 1075606f8b2f9e153c82f8e50cbd69cea9c72e87 Mon Sep 17 00:00:00 2001 -From: Edward Welbourne -Date: Mon, 11 Sep 2023 11:41:39 +0200 -Subject: [PATCH] Support the TZDIR environment variable - -On Linux / glibc, this overrides the default system location for the -zone info. So check for files there first. Break out a function to -manage the trying of (now three) zoneinfo directories when opening a -file by name relative to there. - -Pick-to: 6.6 6.5 -Task-number: QTBUG-116017 -Change-Id: I1f97107aabd9015c0a5543639870f1d70654ca67 ---- -* Rebased on top of v6.5.2. - - src/corelib/time/qtimezoneprivate_tz.cpp | 73 ++++++++++++++++-------- - 1 file changed, 49 insertions(+), 24 deletions(-) - -diff --git a/src/corelib/time/qtimezoneprivate_tz.cpp b/src/corelib/time/qtimezoneprivate_tz.cpp -index 067191d816..a8b2fc894e 100644 ---- a/src/corelib/time/qtimezoneprivate_tz.cpp -+++ b/src/corelib/time/qtimezoneprivate_tz.cpp -@@ -51,17 +51,41 @@ typedef QHash QTzTimeZoneHash; - - static bool isTzFile(const QString &name); - -+// Open a named file under the zone info directory: -+static bool openZoneInfo(QString name, QFile *file) -+{ -+ // At least on Linux / glibc (see man 3 tzset), $TZDIR overrides the system -+ // default location for zone info: -+ const QString tzdir = qEnvironmentVariable("TZDIR"); -+ if (!tzdir.isEmpty()) { -+ file->setFileName(QDir(tzdir).filePath(name)); -+ if (file->open(QIODevice::ReadOnly)) -+ return true; -+ } -+ // Try modern system path first: -+ constexpr auto zoneShare = "/usr/share/zoneinfo/"_L1; -+ if (tzdir != zoneShare && tzdir != zoneShare.chopped(1)) { -+ file->setFileName(zoneShare + name); -+ if (file->open(QIODevice::ReadOnly)) -+ return true; -+ } -+ // Fall back to legacy system path: -+ constexpr auto zoneLib = "/usr/lib/zoneinfo/"_L1; -+ if (tzdir != zoneLib && tzdir != zoneLib.chopped(1)) { -+ file->setFileName(zoneShare + name); -+ if (file->open(QIODevice::ReadOnly)) -+ return true; -+ } -+ return false; -+} -+ - // Parse zone.tab table for territory information, read directories to ensure we - // find all installed zones (many are omitted from zone.tab; even more from - // zone1970.tab). - static QTzTimeZoneHash loadTzTimeZones() - { -- QString path = QStringLiteral("/usr/share/zoneinfo/zone.tab"); -- if (!QFile::exists(path)) -- path = QStringLiteral("/usr/lib/zoneinfo/zone.tab"); -- -- QFile tzif(path); -- if (!tzif.open(QIODevice::ReadOnly)) -+ QFile tzif; -+ if (!openZoneInfo("zone.tab"_L1, &tzif)) - return QTzTimeZoneHash(); - - QTzTimeZoneHash zonesHash; -@@ -91,6 +115,7 @@ static QTzTimeZoneHash loadTzTimeZones() - } - } - -+ const QString path = tzif.fileName(); - const qsizetype cut = path.lastIndexOf(u'/'); - Q_ASSERT(cut > 0); - const QDir zoneDir = QDir(path.first(cut)); -@@ -761,20 +786,13 @@ QTzTimeZoneCacheEntry QTzTimeZoneCache::findEntry(const QByteArray &ianaId) - tzif.setFileName(QStringLiteral("/etc/localtime")); - if (!tzif.open(QIODevice::ReadOnly)) - return ret; -- } else { -- // Open named tz, try modern path first, if fails try legacy path -- tzif.setFileName("/usr/share/zoneinfo/"_L1 + QString::fromLocal8Bit(ianaId)); -- if (!tzif.open(QIODevice::ReadOnly)) { -- tzif.setFileName("/usr/lib/zoneinfo/"_L1 + QString::fromLocal8Bit(ianaId)); -- if (!tzif.open(QIODevice::ReadOnly)) { -- // ianaId may be a POSIX rule, taken from $TZ or /etc/TZ -- auto check = validatePosixRule(ianaId); -- if (check.isValid) { -- ret.m_hasDst = check.hasDst; -- ret.m_posixRule = ianaId; -- } -- return ret; -- } -+ } else if (!openZoneInfo(QString::fromLocal8Bit(ianaId), &tzif)) { -+ // ianaId may be a POSIX rule, taken from $TZ or /etc/TZ -+ auto check = validatePosixRule(ianaId); -+ if (check.isValid) { -+ ret.m_hasDst = check.hasDst; -+ ret.m_posixRule = ianaId; -+ return ret; - } - } - -@@ -1317,7 +1335,8 @@ private: - { - // On most distros /etc/localtime is a symlink to a real file so extract - // name from the path -- const auto zoneinfo = "/zoneinfo/"_L1; -+ const QString tzdir = qEnvironmentVariable("TZDIR"); -+ constexpr auto zoneinfo = "/zoneinfo/"_L1; - QString path = QStringLiteral("/etc/localtime"); - long iteration = getSymloopMax(); - // Symlink may point to another symlink etc. before being under zoneinfo/ -@@ -1325,9 +1344,15 @@ private: - // symlink, like America/Montreal pointing to America/Toronto - do { - path = QFile::symLinkTarget(path); -- int index = path.indexOf(zoneinfo); -- if (index >= 0) // Found zoneinfo file; extract zone name from path: -- return QStringView{ path }.mid(index + zoneinfo.size()).toUtf8(); -+ // If it's a zoneinfo file, extract the zone name from its path: -+ int index = tzdir.isEmpty() ? -1 : path.indexOf(tzdir); -+ if (index >= 0) { -+ const auto tail = QStringView{ path }.sliced(index + tzdir.size()).toUtf8(); -+ return tail.startsWith(u'/') ? tail.sliced(1) : tail; -+ } -+ index = path.indexOf(zoneinfo); -+ if (index >= 0) -+ return QStringView{ path }.sliced(index + zoneinfo.size()).toUtf8(); - } while (!path.isEmpty() && --iteration > 0); - - return QByteArray(); - -base-commit: af457a9f0f7eb1a2a7d11f495da508faab91a442 --- -2.41.0 - diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 9df49d7fb3..e195df670d 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -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" - "qtbase-absolute-runpath.patch" - "qtbase-qmake-use-libname.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-find-tools-in-PATH.patch" + "qtbase-qmake-fix-includedir.patch")))) (build-system cmake-build-system) (arguments (substitute-keyword-arguments (package-arguments qtbase-5) @@ -752,6 +754,12 @@ (define-public qtbase "qmake/library/qmakebuiltins.cpp") (("/bin/sh") (search-input-file inputs "bin/bash"))) + + (substitute* "tests/auto/tools/qt_cmake_create/\ +tst_qt_cmake_create.cpp" + (("/bin/sh") + (which "sh"))) + (substitute* "src/corelib/CMakeLists.txt" (("/bin/ls") (search-input-file inputs "bin/ls"))))) @@ -814,6 +822,24 @@ (define-public qtbase (string-join (append (list + ;; 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. + + ;; See https://bugreports.qt.io/browse/QTBUG-113371 + ;; Add glibc-utf8-locales to native-inpus is no help. + ;; TODO: when core-updates merge, check again. + "tst_selftests" + + ;; Sometimes it fails. + "tst_qsystemsemaphore" ;; The 'tst_moc' test fails with "'fi.exists()' returned FALSE". "tst_moc" @@ -984,6 +1010,7 @@ (define-public qtbase bash-minimal coreutils-minimal md4c + libb2 libice libsm libxcb -- 2.41.0