public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
To: git-commits@fedoraproject.org
Subject: [rpms/qt5-qtwebengine] rawhide: Fix building with ICU 78
Date: Mon, 08 Jun 2026 16:42:11 GMT [thread overview]
Message-ID: <178093693129.1.8537808973707960688.rpms-qt5-qtwebengine-9c723f8d93e8@fedoraproject.org> (raw)
A new commit has been pushed.
Repo : rpms/qt5-qtwebengine
Branch : rawhide
Commit : 9c723f8d93e80627d8d5f7fc57b0a17d8d001ac3
Author : František Zatloukal <fzatlouk@redhat.com>
Date : 2026-06-08T18:38:35+02:00
Stats : +83/-0 in 2 file(s)
URL : https://src.fedoraproject.org/rpms/qt5-qtwebengine/c/9c723f8d93e80627d8d5f7fc57b0a17d8d001ac3?branch=rawhide
Log:
Fix building with ICU 78
---
diff --git a/qt5-qtwebengine.spec b/qt5-qtwebengine.spec
index 951c407..2a18cf7 100644
--- a/qt5-qtwebengine.spec
+++ b/qt5-qtwebengine.spec
@@ -109,6 +109,10 @@ Patch73: python3.12-six.patch
# https://gitlab.archlinux.org/archlinux/packaging/packages/qt5-webengine/-/blob/97c4d298f/qt5-webengine-icu-75.patch
Patch80: qtwebengine-icu75.patch
+# Fix building with ICU 78
+# https://aur.archlinux.org/cgit/aur.git/tree/0006-qt5-webengine-icu-78@chromium.patch?h=qt5-webengine
+Patch81: qtwebengine-icu75.patch
+
# riscv64 support patches taken from Opensuse:
# https://build.opensuse.org/package/show/openSUSE:Factory:RISCV/libqt5-qtwebengine?rev=110
Patch100: riscv-v8.patch
diff --git a/qtwebengine-icu78.patch b/qtwebengine-icu78.patch
new file mode 100644
index 0000000..c765380
--- /dev/null
+++ b/qtwebengine-icu78.patch
@@ -0,0 +1,79 @@
+https://unicode-org.github.io/icu-docs/apidoc/dev/icu4c/uchar_8h_source.html
+https://github.com/unicode-org/icu/blame/main/icu4c/source/common/unicode/uchar.h
+/usr/include/unicode/uchar.h
+
+ICU78 adds LineBreak U_LB_UNAMBIGUOUS_HYPHEN = 48,/*[HH]*/.
+U_LB_COUNT goes from 48 to 49.
+
+kBreakAllLineBreakClassTable is expected to be square with
+the same number of bits across as the lines down for every
+U_LB_COUNT LineBreak. This table should have U_LB_COUNT=49
+bit columns and 49 rows with a bunch of 1 bits sprinkled
+all over and should expand each time a new LineBreak is
+added. Rather than fiddling with the BA_LB_COUNT math or
+keep extending the table with zeros across and down as they
+did here:
+
+https://src.opensuse.org/nodejs/nodejs-electron/src/commit/ee8e43b84d0e17b17d817943357e74dee3e5474ae7e6eaff93c60926bfc3780a/text_break_iterator-icu74-breakAllLineBreakClassTable-should-be-consistent.patch
+
+we just hard set the table to 40 lines to support 0XX-39RI.
+ShouldBreakAfterBreakAll for LineBreak >= 40EB always
+return 0/false which is what the recent table patches were
+doing anyways. Look at the columns RI to VI and lines
+[RI]-[VI]. It's all zeros so everyone gave up extending
+this table with cleverly placed 1's years ago and just came
+up with Whatever Works (TM) patches. LineBreak support >=
+39RI running with 0 may be less than optimal. Here's
+another patch.
+
+https://bugs.gentoo.org/917635
+
+The original table code and patches since are all garbage
+anyways. Noone seems to understand what this table does. I
+don't either but I do know its limits and proper shape and
+that it's not required to have lines and columns added for
+each new LineBreak unless you want perfect support for new
+LineBreak.
+
+The NodeJS patch adds a 6th array column which won't
+compile on earlier ICU versions where U_LB_COUNT is small.
+
+static const unsigned char kBreakAllLineBreakClassTable[][BA_LB_COUNT / 8 + 1] = {
+
+This line is written wrong. It creates an extra byte
+column when BA_LB_COUNT is divisible by 8. Our example of
+40 LineBreak can be stored in 40/8=5 column bytes yet this
+sets the column count to 40/8+1=6. This would be correct
+though with the size of this code I don't see a problem
+allocating 40 extra bytes.
+
+static const unsigned char kBreakAllLineBreakClassTable[][(BA_LB_COUNT-1) / 8 + 1] = {
+
+severach@aur
+https://aur.archlinux.org/packages/qt5-webengine
+
+$ notepadqq
+Cannot mix incompatible Qt library (5.15.17) with this library (5.15.18)
+
+If you have trouble with an application not working, look
+through this list for packages with old versions.
+
+pacman -Qs qt5-
+
+local/qt5-base 5.15.18+kde+r109-2 (qt5)
+* A cross-platform application and UI framework
+local/qt5-webchannel 5.15.17+kde+r3-1 (qt5)
+* Provides access to QObject or QML objects from HTML clients for seamless integration of Qt applications with HTML/JavaScript clients
+
+diff -pNaru3 a/chromium/third_party/blink/renderer/platform/text/text_break_iterator.cc b/chromium/third_party/blink/renderer/platform/text/text_break_iterator.cc
+--- a/chromium/third_party/blink/renderer/platform/text/text_break_iterator.cc 2025-11-11 01:42:16.454081862 -0500
++++ b/chromium/third_party/blink/renderer/platform/text/text_break_iterator.cc 2025-11-11 01:49:41.838185933 -0500
+@@ -163,7 +163,7 @@ static const unsigned char kAsciiLineBre
+ // clang-format on
+
+ #if U_ICU_VERSION_MAJOR_NUM >= 74
+-#define BA_LB_COUNT (U_LB_COUNT - 8)
++#define BA_LB_COUNT (40) /* (U_LB_COUNT - 8) */
+ #elif U_ICU_VERSION_MAJOR_NUM >= 58
+ #define BA_LB_COUNT (U_LB_COUNT - 3)
+ #else
\ No newline at end of file
reply other threads:[~2026-06-08 16:42 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=178093693129.1.8537808973707960688.rpms-qt5-qtwebengine-9c723f8d93e8@fedoraproject.org \
--to=git-commits@fedoraproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox