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" |