Gentoo Archives: gentoo-commits

From: Yixun Lan <dlan@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/riscv:master commit in: dev-qt/qtwebengine/, dev-qt/qtwebengine/files/
Date: Thu, 18 Aug 2022 07:50:01
Message-Id: 1660808963.5669bb8614bcc28fe7567b5a60fb4b91f97296ee.dlan@gentoo
1 commit: 5669bb8614bcc28fe7567b5a60fb4b91f97296ee
2 Author: Han Gao <rabenda.cn <AT> gmail <DOT> com>
3 AuthorDate: Wed Aug 10 06:40:11 2022 +0000
4 Commit: Yixun Lan <dlan <AT> gentoo <DOT> org>
5 CommitDate: Thu Aug 18 07:49:23 2022 +0000
6 URL: https://gitweb.gentoo.org/proj/riscv.git/commit/?id=5669bb86
7
8 dev-qt/qtwebengine: sync maintree
9
10 Signed-off-by: Han Gao <rabenda.cn <AT> gmail.com>
11 Signed-off-by: Yixun Lan <dlan <AT> gentoo.org>
12
13 dev-qt/qtwebengine/Manifest | 3 +-
14 .../files/qtwebengine-5.15.2-extra_gn.patch | 12 ------
15 ...webengine-5.15.3_p20220406-gcc12-includes.patch | 32 +++++++++++++++
16 .../qtwebengine-5.15.3_p20220505-extra-gn.patch | 10 +++++
17 ...gine-5.15.5_p20220618-fixup-CVE-2022-0796.patch | 48 ++++++++++++++++++++++
18 ....ebuild => qtwebengine-5.15.5_p20220618.ebuild} | 22 ++++++----
19 6 files changed, 104 insertions(+), 23 deletions(-)
20
21 diff --git a/dev-qt/qtwebengine/Manifest b/dev-qt/qtwebengine/Manifest
22 index ca85627..282326e 100644
23 --- a/dev-qt/qtwebengine/Manifest
24 +++ b/dev-qt/qtwebengine/Manifest
25 @@ -1,5 +1,4 @@
26 DIST qtwebengine-5.15.2-r1-chromium87-ppc64le.tar.xz 28784 BLAKE2B aa101d14446f3282fda8932cc75a249d88b79319f0886d95777292776d94ac5f4fc114c3893b2801fbba6abb14f381172bb14b15b5ffef12413db3a16e4d1ca6 SHA512 3324e0076eb18e2ae2248428d2730cfb3413761514b2bb57e25b8db79248aaaa8098d9f7cebfa08f1a3b39b1d0a382aafed75c5ae8273918909335957921305e
27 DIST qtwebengine-5.15.2_p20211019-jumbo-build.patch.bz2 2930 BLAKE2B fca1d1406874d04eafb64bb4d8730512a6307ba44fb99d76f428ca1bd4a303758e0c3bd8f92a59f7bcf62e5b767c5a8ed239028bdb74ad7a8b62abf88d38c101 SHA512 61cbfbe4ff340b75ea8d356e031e932ac03fe65dd009999ff897ca4b0185d1d989490daf75ffeaaabb3e92c870c11c7ff8ad2cd6372f5363b3d774b8ecca6d89
28 -DIST qtwebengine-5.15.3-riscv-0.tar.xz 189688 BLAKE2B 987b09aa79d1bb425e23a9d4573d46dc1f470b7abf169a446317b68b42a131fa9fb3f1839d0589858a91949759ec1909b0488deeb40863a362fd28307c7b5bb0 SHA512 1e6aaa13118eaba839e82482f30ba14843bcd67bc4c42a38bf09e1f89bb53175dedcf74ddbd68ea9821dc36645f23de3e63211de2a82962ae6ada49f520bc4f6
29 DIST qtwebengine-5.15.3_p20220406-patchset.tar.xz 35480 BLAKE2B ce6aeebbb3255196611130d04ee7a3907ba45d6d2a283f2433e2176cf67e473e74137b180de0a9998762cc54439bb06825815e81e9f95f9413ce2956ac9308b7 SHA512 47e29a1429dce2db324929af91c8ef8421c75ae48f5a491db71b434f8017a5b1e7475e9938989e331e8e012220852848565242e09747892e1a8a8d3ab7386840
30 -DIST qtwebengine-5.15.3_p20220406.tar.xz 318979648 BLAKE2B 3aba9293c52f96379cfe37c418c7a29a28e2fc0a8526d35452bef28c03b101054131d0daf75f07f058f80fbd42678b6bd24733573318169908f1d5e18d147db8 SHA512 80bf51b547cc8e15473652327a0cb753211911e8c98b1cb8b2cd696af923e79eccdc74aa4b68b6184c74ceb3a9bd708c7313f48eab4381ebeaac8192daa163b6
31 +DIST qtwebengine-5.15.5_p20220618.tar.xz 320131236 BLAKE2B 842322c94737cdf647277ccf226c0d015ac0b362af54c4298cbad6b4494aa4ef0e73830577fb391be31c91b4331b85f407ec58641897a7cc7237e7623043577d SHA512 b1bab7aa5edc7f7b9d4f8338a05dbbd55ae6e0312e1a7e6061895bd7a98c67780127c20db1dbbc81664bf483a5b8f7ed887cedd1baaa1a0259e28fd4b13d6944
32
33 diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.15.2-extra_gn.patch b/dev-qt/qtwebengine/files/qtwebengine-5.15.2-extra_gn.patch
34 deleted file mode 100644
35 index 0488122..0000000
36 --- a/dev-qt/qtwebengine/files/qtwebengine-5.15.2-extra_gn.patch
37 +++ /dev/null
38 @@ -1,12 +0,0 @@
39 -diff --git a/src/core/gn_run.pro b/src/core/gn_run.pro
40 -index 3d6fda80e..3d0bc86fe 100644
41 ---- a/src/core/gn_run.pro
42 -+++ b/src/core/gn_run.pro
43 -@@ -38,5 +38,6 @@ build_pass|!debug_and_release {
44 - }
45 -
46 -+ gn_args += $$(EXTRA_GN)
47 - gn_args = $$system_quote($$gn_args)
48 - gn_src_root = $$system_quote($$system_path($$QTWEBENGINE_ROOT/$$getChromiumSrcDir()))
49 - gn_build_root = $$system_quote($$system_path($$OUT_PWD/$$getConfigDir()))
50 - gn_python = "--script-executable=$$pythonPathForSystem()"
51
52 diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.15.3_p20220406-gcc12-includes.patch b/dev-qt/qtwebengine/files/qtwebengine-5.15.3_p20220406-gcc12-includes.patch
53 new file mode 100644
54 index 0000000..cd47656
55 --- /dev/null
56 +++ b/dev-qt/qtwebengine/files/qtwebengine-5.15.3_p20220406-gcc12-includes.patch
57 @@ -0,0 +1,32 @@
58 +https://build.opensuse.org/package/view_file/KDE:Qt:5.15/libqt5-qtwebengine/0001-skia-Some-includes-to-fix-build-with-GCC-12.patch?expand=1
59 +https://bugs.gentoo.org/840326
60 +
61 +From 68799a1e0815b20ca59ce354a55280399257a201 Mon Sep 17 00:00:00 2001
62 +From: Fabian Vogt <fvogt@××××.de>
63 +Date: Fri, 25 Mar 2022 15:29:28 +0100
64 +Subject: [PATCH] skia: Some includes to fix build with GCC 12
65 +
66 +Those includes got introduced upstream for other reasons and fixed building
67 +with GCC 12 as a side effect.
68 +--- a/src/3rdparty/chromium/third_party/skia/include/core/SkColor.h
69 ++++ b/src/3rdparty/chromium/third_party/skia/include/core/SkColor.h
70 +@@ -12,6 +12,8 @@
71 + #include "include/core/SkScalar.h"
72 + #include "include/core/SkTypes.h"
73 +
74 ++#include <array>
75 ++
76 + /** \file SkColor.h
77 +
78 + Types, consts, functions, and macros for colors.
79 +--- a/src/3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp
80 ++++ b/src/3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp
81 +@@ -8,6 +8,8 @@
82 +
83 + #include "include/utils/SkParse.h"
84 +
85 ++#include <algorithm> // std::lower_bound
86 ++
87 + static constexpr const char* gColorNames[] = {
88 + "aliceblue",
89 + "antiquewhite",
90
91 diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.15.3_p20220505-extra-gn.patch b/dev-qt/qtwebengine/files/qtwebengine-5.15.3_p20220505-extra-gn.patch
92 new file mode 100644
93 index 0000000..a319f52
94 --- /dev/null
95 +++ b/dev-qt/qtwebengine/files/qtwebengine-5.15.3_p20220505-extra-gn.patch
96 @@ -0,0 +1,10 @@
97 +--- a/src/core/gn_run.pro
98 ++++ b/src/core/gn_run.pro
99 +@@ -64,6 +64,7 @@
100 + }
101 + } else {
102 + gn_args+= "qtwebengine_target=\"$$system_path($$OUT_PWD/$$getConfigDir()):QtWebEngineCore\""
103 ++ gn_args += $$(EXTRA_GN)
104 + gn_args = $$system_quote($$gn_args)
105 + gn_build_root = $$system_quote($$system_path($$OUT_PWD/$$getConfigDir()))
106 + gn_run = $$gn_binary gen $$gn_build_root $$gn_python --args=$$gn_args --root=$$gn_src_root
107
108 diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.15.5_p20220618-fixup-CVE-2022-0796.patch b/dev-qt/qtwebengine/files/qtwebengine-5.15.5_p20220618-fixup-CVE-2022-0796.patch
109 new file mode 100644
110 index 0000000..c38bf1b
111 --- /dev/null
112 +++ b/dev-qt/qtwebengine/files/qtwebengine-5.15.5_p20220618-fixup-CVE-2022-0796.patch
113 @@ -0,0 +1,48 @@
114 +From 7e11d69b957595a172a3eb60db17141daed29d63 Mon Sep 17 00:00:00 2001
115 +From: =?UTF-8?q?Michael=20Br=C3=BCning?= <michael.bruning@××.io>
116 +Date: Mon, 20 Jun 2022 17:19:58 +0200
117 +Subject: Fixup: CVE-2022-0796: Use after free in Media
118 +
119 +Commit ecc2bb74f1f accidentally introduced a build break due to an
120 +apparent typo.
121 +
122 +This fixes it.
123 +
124 +Change-Id: I746c6f10ecd2b212b847a291677e24e527d6b922
125 +Reviewed-by: Michal Klocek <michal.klocek@××.io>
126 +---
127 + chromium/content/renderer/media/batching_media_log.h | 12 ++++++------
128 + 1 file changed, 6 insertions(+), 6 deletions(-)
129 +
130 +diff --git a/src/3rdparty/chromium/content/renderer/media/batching_media_log.h b/src/3rdparty/chromium/content/renderer/media/batching_media_log.h
131 +index b68535aea42..a28d426878f 100644
132 +--- a/src/3rdparty/chromium/content/renderer/media/batching_media_log.h
133 ++++ b/src/3rdparty/chromium/content/renderer/media/batching_media_log.h
134 +@@ -72,18 +72,18 @@ class CONTENT_EXPORT BatchingMediaLog : public media::MediaLog {
135 + // guarantees provided by MediaLog, since SendQueuedMediaEvents must also
136 + // be synchronized with respect to AddEvent.
137 + mutable base::Lock lock_;
138 +- const base::TickClock* tick_clock_ GUARDED_BY(LOCK);
139 +- base::TimeTicks last_ipc_send_time_ GUARDED_BY(LOCK);
140 +- std::vector<media::MediaLogRecord> queued_media_events_ GUARDED_BY(LOCK);
141 ++ const base::TickClock* tick_clock_ GUARDED_BY(lock_);
142 ++ base::TimeTicks last_ipc_send_time_ GUARDED_BY(lock_);
143 ++ std::vector<media::MediaLogRecord> queued_media_events_ GUARDED_BY(lock_);
144 +
145 + // impl for sending queued events.
146 +- std::vector<std::unique_ptr<EventHandler>> event_handlers_ GUARDED_BY(LOCK);
147 ++ std::vector<std::unique_ptr<EventHandler>> event_handlers_ GUARDED_BY(lock_);
148 +
149 + // For enforcing max 1 pending send.
150 +- bool ipc_send_pending_ GUARDED_BY(LOCK);
151 ++ bool ipc_send_pending_ GUARDED_BY(lock_);
152 +
153 + // Limits the number of events we send over IPC to one.
154 +- std::unique_ptr<media::MediaLogRecord> last_duration_changed_event_ GUARDED_BY(LOCK);
155 ++ std::unique_ptr<media::MediaLogRecord> last_duration_changed_event_ GUARDED_BY(lock_);
156 +
157 + // Holds the earliest MEDIA_ERROR_LOG_ENTRY event added to this log. This is
158 + // most likely to contain the most specific information available describing
159 +--
160 +cgit v1.2.1
161 +
162
163 diff --git a/dev-qt/qtwebengine/qtwebengine-5.15.3_p20220406.ebuild b/dev-qt/qtwebengine/qtwebengine-5.15.5_p20220618.ebuild
164 similarity index 92%
165 rename from dev-qt/qtwebengine/qtwebengine-5.15.3_p20220406.ebuild
166 rename to dev-qt/qtwebengine/qtwebengine-5.15.5_p20220618.ebuild
167 index 802ae75..b1d2486 100644
168 --- a/dev-qt/qtwebengine/qtwebengine-5.15.3_p20220406.ebuild
169 +++ b/dev-qt/qtwebengine/qtwebengine-5.15.5_p20220618.ebuild
170 @@ -11,7 +11,7 @@ DESCRIPTION="Library for rendering dynamic web content in Qt5 C++ and QML applic
171 HOMEPAGE="https://www.qt.io/"
172
173 if [[ ${QT5_BUILD_TYPE} == release ]]; then
174 - KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
175 + KEYWORDS="amd64 ~arm arm64 ~ppc64 x86"
176 if [[ ${PV} == ${QT5_PV}_p* ]]; then
177 SRC_URI="https://dev.gentoo.org/~asturm/distfiles/${P}.tar.xz"
178 S="${WORKDIR}/${P}"
179 @@ -29,7 +29,6 @@ fi
180 # ppc64 patchset based on https://github.com/chromium-ppc64le releases
181 SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-5.15.2_p20211019-jumbo-build.patch.bz2
182 https://dev.gentoo.org/~asturm/distfiles/${PN}-5.15.3_p20220406-patchset.tar.xz
183 - riscv? ( https://dev.gentoo.org/~dlan/distfiles/${CATEGORY}/${PN}/${PN}-5.15.3-riscv-0.tar.xz )
184 ppc64? ( https://dev.gentoo.org/~gyakovlev/distfiles/${PN}-5.15.2-r1-chromium87-ppc64le.tar.xz )"
185
186 IUSE="alsa bindist designer geolocation +jumbo-build kerberos pulseaudio screencast +system-ffmpeg +system-icu widgets"
187 @@ -105,15 +104,15 @@ BDEPEND="${PYTHON_DEPS}
188
189 PATCHES=(
190 "${FILESDIR}/${PN}-5.15.2-disable-fatal-warnings.patch" # downstream, bug 695446
191 - "${FILESDIR}/${PN}-5.15.2-extra_gn.patch" # downstream, bug 774186
192 + "${FILESDIR}/${PN}-5.15.3_p20220505-extra-gn.patch" # downstream, bug 774186
193 "${FILESDIR}/${PN}-5.15.2_p20210224-chromium-87-v8-icu68.patch" # downstream, bug 757606
194 "${FILESDIR}/${PN}-5.15.2_p20210224-disable-git.patch" # downstream snapshot fix
195 "${FILESDIR}/${PN}-5.15.2_p20211015-pdfium-system-lcms2.patch" # by Debian, QTBUG-61746
196 "${FILESDIR}/${PN}-5.15.3_p20220329-clang14.patch" # by FreeBSD, bug 836604
197 + "${FILESDIR}/${PN}-5.15.3_p20220406-gcc12-includes.patch" # by openSUSE, bug 840326
198 "${WORKDIR}/${PN}-5.15.2_p20211019-jumbo-build.patch" # bug 813957
199 "${WORKDIR}/${PN}-5.15.3_p20220406-patchset" # bug 698988 (py2--), pipewire-3
200 - "${WORKDIR}/${PN}-5.15.3-riscv-general.patch"
201 - "${WORKDIR}/${PN}-5.15.3-riscv-v8.patch"
202 + "${FILESDIR}/${P}-fixup-CVE-2022-0796.patch" # bug 853097
203 )
204
205 qtwebengine_check-reqs() {
206 @@ -133,7 +132,7 @@ qtwebengine_check-reqs() {
207 # Estimate the amount of RAM required
208 # Multiplier is *10 because Bash doesn't do floating point maths.
209 # Let's crudely assume ~2GB per compiler job for GCC.
210 - local multiplier=8
211 + local multiplier=20
212
213 # And call it ~1.5GB for Clang.
214 if tc-is-clang ; then
215 @@ -229,6 +228,11 @@ src_prepare() {
216 mkdir -vp source/config/linux/ppc64 || die
217 mkdir -p source/libvpx/test || die
218 touch source/libvpx/test/test.mk || die
219 + # clang-format is used to re-format sources
220 + # but we'd rather make it a no-op than introduce a clang dependency
221 + # https://bugs.gentoo.org/849458
222 + clang-format() { : ; }
223 + export -f clang-format || die
224 ./generate_gni.sh || die
225 popd >/dev/null || die
226 fi
227 @@ -236,7 +240,7 @@ src_prepare() {
228
229 src_configure() {
230 export NINJA_PATH=/usr/bin/ninja
231 - export NINJAFLAGS="${NINJAFLAGS:--j$(makeopts_jobs) -l$(makeopts_loadavg "${MAKEOPTS}" 0) -v}"
232 + export NINJAFLAGS="${NINJAFLAGS:--j$(makeopts_jobs "${MAKEOPTS}" 999) -l$(makeopts_loadavg "${MAKEOPTS}" 0) -v}"
233
234 local myqmakeargs=(
235 --
236 @@ -266,8 +270,8 @@ src_install() {
237 }
238
239 pkg_preinst() {
240 - elog "This version of Qt WebEngine is based on Chromium version 87.0.4280, with"
241 - elog "additional security fixes from newer versions. Extensive as it is, the"
242 + elog "This version of Qt WebEngine is based on Chromium version 87.0.4280.144,"
243 + elog "with additional security fixes from newer versions. Extensive as it is, the"
244 elog "list of backports is impossible to evaluate, but always bound to be behind"
245 elog "Chromium's release schedule."
246 elog "In addition, various online services may deny service based on an outdated"