commit:     1b46554a96860af16180c43d7cc6b8ec38d36917
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Fri Apr 18 10:52:30 2025 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Fri Apr 18 10:59:09 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1b46554a

dev-qt/qtwebengine: backport build fix for with gperf 3.2

Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 .../files/qtwebengine-6.8.3-gperf3.2.patch         | 26 ++++++++++++++++++++++
 dev-qt/qtwebengine/qtwebengine-6.8.3.ebuild        |  1 +
 dev-qt/qtwebengine/qtwebengine-6.9.0-r1.ebuild     |  1 +
 dev-qt/qtwebengine/qtwebengine-6.9.9999.ebuild     |  1 +
 4 files changed, 29 insertions(+)

diff --git a/dev-qt/qtwebengine/files/qtwebengine-6.8.3-gperf3.2.patch 
b/dev-qt/qtwebengine/files/qtwebengine-6.8.3-gperf3.2.patch
new file mode 100644
index 000000000000..b44934ab59d3
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-6.8.3-gperf3.2.patch
@@ -0,0 +1,26 @@
+Patch status: fixed in >=chromium-137.0.7126.0
+
+A old workaround for a gperf-3.1 issue[1] breaks building with the
+now fixed gperf-3.2, backport the conditional check[2] which should
+work with either.
+
+[1] https://savannah.gnu.org/bugs/index.php?53029
+[2] https://crrev.com/f8f21fb4aa01f75acbb12abf5ea8c263c6817141
+--- a/src/3rdparty/chromium/third_party/blink/renderer/build/scripts/gperf.py
++++ b/src/3rdparty/chromium/third_party/blink/renderer/build/scripts/gperf.py
+@@ -36,8 +36,11 @@
+         gperf_output = re.sub(r'\bregister ', '', gperf_output)
+         # -Wimplicit-fallthrough needs an explicit fallthrough statement,
+-        # so replace gperf's /*FALLTHROUGH*/ comment with the statement.
+-        # https://savannah.gnu.org/bugs/index.php?53029
+-        gperf_output = gperf_output.replace('/*FALLTHROUGH*/',
+-                                            '  [[fallthrough]];')
++        # so replace gperf 3.1's /*FALLTHROUGH*/ comment with the statement.
++        # https://savannah.gnu.org/bugs/index.php?53029 (fixed in 3.2)
++        if re.search(
++                r'/\* C\+\+ code produced by gperf version 3\.[01](\.\d+)? 
\*/',
++                gperf_output):
++            gperf_output = gperf_output.replace('/*FALLTHROUGH*/',
++                                                '  [[fallthrough]];')
+         # -Wpointer-to-int-cast warns about casting pointers to smaller ints
+         # Replace {(int)(long)&(foo), bar} with

diff --git a/dev-qt/qtwebengine/qtwebengine-6.8.3.ebuild 
b/dev-qt/qtwebengine/qtwebengine-6.8.3.ebuild
index a6966b336a51..26d726baf01b 100644
--- a/dev-qt/qtwebengine/qtwebengine-6.8.3.ebuild
+++ b/dev-qt/qtwebengine/qtwebengine-6.8.3.ebuild
@@ -114,6 +114,7 @@ PATCHES+=(
        "${FILESDIR}"/${PN}-6.8.2-glibc2.41.patch
        "${FILESDIR}"/${PN}-6.8.3-clang20.patch
        "${FILESDIR}"/${PN}-6.8.3-pipewire1.4.patch
+       "${FILESDIR}"/${PN}-6.8.3-gperf3.2.patch
 )
 
 python_check_deps() {

diff --git a/dev-qt/qtwebengine/qtwebengine-6.9.0-r1.ebuild 
b/dev-qt/qtwebengine/qtwebengine-6.9.0-r1.ebuild
index 81125ccc89f3..553345282707 100644
--- a/dev-qt/qtwebengine/qtwebengine-6.9.0-r1.ebuild
+++ b/dev-qt/qtwebengine/qtwebengine-6.9.0-r1.ebuild
@@ -108,6 +108,7 @@ PATCHES+=(
        # add extras as needed here, may merge in set if carries across versions
        "${FILESDIR}"/${PN}-6.8.2-glibc2.41.patch
        "${FILESDIR}"/${PN}-6.8.3-pipewire1.4.patch
+       "${FILESDIR}"/${PN}-6.8.3-gperf3.2.patch
        "${FILESDIR}"/${PN}-6.9.0-x11-pixmap-leak.patch
        "${FILESDIR}"/${PN}-6.9.0-QTBUG-133570.patch
 )

diff --git a/dev-qt/qtwebengine/qtwebengine-6.9.9999.ebuild 
b/dev-qt/qtwebengine/qtwebengine-6.9.9999.ebuild
index 05000f1cc1ad..3df3a6306817 100644
--- a/dev-qt/qtwebengine/qtwebengine-6.9.9999.ebuild
+++ b/dev-qt/qtwebengine/qtwebengine-6.9.9999.ebuild
@@ -108,6 +108,7 @@ PATCHES+=(
        # add extras as needed here, may merge in set if carries across versions
        "${FILESDIR}"/${PN}-6.8.2-glibc2.41.patch
        "${FILESDIR}"/${PN}-6.8.3-pipewire1.4.patch
+       "${FILESDIR}"/${PN}-6.8.3-gperf3.2.patch
 )
 
 python_check_deps() {

Reply via email to