aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHan Gao <rabenda.cn@gmail.com>2022-08-10 14:40:11 +0800
committerYixun Lan <dlan@gentoo.org>2022-08-18 15:49:23 +0800
commit5669bb8614bcc28fe7567b5a60fb4b91f97296ee (patch)
tree1bd21976c7670d9bc702e4c47fda3c18385e0521
parentlicenses: add MulanPSL-2.0 (diff)
downloadriscv-5669bb86.tar.gz
riscv-5669bb86.tar.bz2
riscv-5669bb86.zip
dev-qt/qtwebengine: sync maintree
Signed-off-by: Han Gao <rabenda.cn@gmail.com> Signed-off-by: Yixun Lan <dlan@gentoo.org>
-rw-r--r--dev-qt/qtwebengine/Manifest3
-rw-r--r--dev-qt/qtwebengine/files/qtwebengine-5.15.2-extra_gn.patch12
-rw-r--r--dev-qt/qtwebengine/files/qtwebengine-5.15.3_p20220406-gcc12-includes.patch32
-rw-r--r--dev-qt/qtwebengine/files/qtwebengine-5.15.3_p20220505-extra-gn.patch10
-rw-r--r--dev-qt/qtwebengine/files/qtwebengine-5.15.5_p20220618-fixup-CVE-2022-0796.patch48
-rw-r--r--dev-qt/qtwebengine/qtwebengine-5.15.5_p20220618.ebuild (renamed from dev-qt/qtwebengine/qtwebengine-5.15.3_p20220406.ebuild)22
6 files changed, 104 insertions, 23 deletions
diff --git a/dev-qt/qtwebengine/Manifest b/dev-qt/qtwebengine/Manifest
index ca85627..282326e 100644
--- a/dev-qt/qtwebengine/Manifest
+++ b/dev-qt/qtwebengine/Manifest
@@ -1,5 +1,4 @@
DIST qtwebengine-5.15.2-r1-chromium87-ppc64le.tar.xz 28784 BLAKE2B aa101d14446f3282fda8932cc75a249d88b79319f0886d95777292776d94ac5f4fc114c3893b2801fbba6abb14f381172bb14b15b5ffef12413db3a16e4d1ca6 SHA512 3324e0076eb18e2ae2248428d2730cfb3413761514b2bb57e25b8db79248aaaa8098d9f7cebfa08f1a3b39b1d0a382aafed75c5ae8273918909335957921305e
DIST qtwebengine-5.15.2_p20211019-jumbo-build.patch.bz2 2930 BLAKE2B fca1d1406874d04eafb64bb4d8730512a6307ba44fb99d76f428ca1bd4a303758e0c3bd8f92a59f7bcf62e5b767c5a8ed239028bdb74ad7a8b62abf88d38c101 SHA512 61cbfbe4ff340b75ea8d356e031e932ac03fe65dd009999ff897ca4b0185d1d989490daf75ffeaaabb3e92c870c11c7ff8ad2cd6372f5363b3d774b8ecca6d89
-DIST qtwebengine-5.15.3-riscv-0.tar.xz 189688 BLAKE2B 987b09aa79d1bb425e23a9d4573d46dc1f470b7abf169a446317b68b42a131fa9fb3f1839d0589858a91949759ec1909b0488deeb40863a362fd28307c7b5bb0 SHA512 1e6aaa13118eaba839e82482f30ba14843bcd67bc4c42a38bf09e1f89bb53175dedcf74ddbd68ea9821dc36645f23de3e63211de2a82962ae6ada49f520bc4f6
DIST qtwebengine-5.15.3_p20220406-patchset.tar.xz 35480 BLAKE2B ce6aeebbb3255196611130d04ee7a3907ba45d6d2a283f2433e2176cf67e473e74137b180de0a9998762cc54439bb06825815e81e9f95f9413ce2956ac9308b7 SHA512 47e29a1429dce2db324929af91c8ef8421c75ae48f5a491db71b434f8017a5b1e7475e9938989e331e8e012220852848565242e09747892e1a8a8d3ab7386840
-DIST qtwebengine-5.15.3_p20220406.tar.xz 318979648 BLAKE2B 3aba9293c52f96379cfe37c418c7a29a28e2fc0a8526d35452bef28c03b101054131d0daf75f07f058f80fbd42678b6bd24733573318169908f1d5e18d147db8 SHA512 80bf51b547cc8e15473652327a0cb753211911e8c98b1cb8b2cd696af923e79eccdc74aa4b68b6184c74ceb3a9bd708c7313f48eab4381ebeaac8192daa163b6
+DIST qtwebengine-5.15.5_p20220618.tar.xz 320131236 BLAKE2B 842322c94737cdf647277ccf226c0d015ac0b362af54c4298cbad6b4494aa4ef0e73830577fb391be31c91b4331b85f407ec58641897a7cc7237e7623043577d SHA512 b1bab7aa5edc7f7b9d4f8338a05dbbd55ae6e0312e1a7e6061895bd7a98c67780127c20db1dbbc81664bf483a5b8f7ed887cedd1baaa1a0259e28fd4b13d6944
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
deleted file mode 100644
index 0488122..0000000
--- a/dev-qt/qtwebengine/files/qtwebengine-5.15.2-extra_gn.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/src/core/gn_run.pro b/src/core/gn_run.pro
-index 3d6fda80e..3d0bc86fe 100644
---- a/src/core/gn_run.pro
-+++ b/src/core/gn_run.pro
-@@ -38,5 +38,6 @@ build_pass|!debug_and_release {
- }
-
-+ gn_args += $$(EXTRA_GN)
- gn_args = $$system_quote($$gn_args)
- gn_src_root = $$system_quote($$system_path($$QTWEBENGINE_ROOT/$$getChromiumSrcDir()))
- gn_build_root = $$system_quote($$system_path($$OUT_PWD/$$getConfigDir()))
- gn_python = "--script-executable=$$pythonPathForSystem()"
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
new file mode 100644
index 0000000..cd47656
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.15.3_p20220406-gcc12-includes.patch
@@ -0,0 +1,32 @@
+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
+https://bugs.gentoo.org/840326
+
+From 68799a1e0815b20ca59ce354a55280399257a201 Mon Sep 17 00:00:00 2001
+From: Fabian Vogt <fvogt@suse.de>
+Date: Fri, 25 Mar 2022 15:29:28 +0100
+Subject: [PATCH] skia: Some includes to fix build with GCC 12
+
+Those includes got introduced upstream for other reasons and fixed building
+with GCC 12 as a side effect.
+--- a/src/3rdparty/chromium/third_party/skia/include/core/SkColor.h
++++ b/src/3rdparty/chromium/third_party/skia/include/core/SkColor.h
+@@ -12,6 +12,8 @@
+ #include "include/core/SkScalar.h"
+ #include "include/core/SkTypes.h"
+
++#include <array>
++
+ /** \file SkColor.h
+
+ Types, consts, functions, and macros for colors.
+--- a/src/3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp
++++ b/src/3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp
+@@ -8,6 +8,8 @@
+
+ #include "include/utils/SkParse.h"
+
++#include <algorithm> // std::lower_bound
++
+ static constexpr const char* gColorNames[] = {
+ "aliceblue",
+ "antiquewhite",
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
new file mode 100644
index 0000000..a319f52
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.15.3_p20220505-extra-gn.patch
@@ -0,0 +1,10 @@
+--- a/src/core/gn_run.pro
++++ b/src/core/gn_run.pro
+@@ -64,6 +64,7 @@
+ }
+ } else {
+ gn_args+= "qtwebengine_target=\"$$system_path($$OUT_PWD/$$getConfigDir()):QtWebEngineCore\""
++ gn_args += $$(EXTRA_GN)
+ gn_args = $$system_quote($$gn_args)
+ gn_build_root = $$system_quote($$system_path($$OUT_PWD/$$getConfigDir()))
+ gn_run = $$gn_binary gen $$gn_build_root $$gn_python --args=$$gn_args --root=$$gn_src_root
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
new file mode 100644
index 0000000..c38bf1b
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.15.5_p20220618-fixup-CVE-2022-0796.patch
@@ -0,0 +1,48 @@
+From 7e11d69b957595a172a3eb60db17141daed29d63 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Michael=20Br=C3=BCning?= <michael.bruning@qt.io>
+Date: Mon, 20 Jun 2022 17:19:58 +0200
+Subject: Fixup: CVE-2022-0796: Use after free in Media
+
+Commit ecc2bb74f1f accidentally introduced a build break due to an
+apparent typo.
+
+This fixes it.
+
+Change-Id: I746c6f10ecd2b212b847a291677e24e527d6b922
+Reviewed-by: Michal Klocek <michal.klocek@qt.io>
+---
+ chromium/content/renderer/media/batching_media_log.h | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/src/3rdparty/chromium/content/renderer/media/batching_media_log.h b/src/3rdparty/chromium/content/renderer/media/batching_media_log.h
+index b68535aea42..a28d426878f 100644
+--- a/src/3rdparty/chromium/content/renderer/media/batching_media_log.h
++++ b/src/3rdparty/chromium/content/renderer/media/batching_media_log.h
+@@ -72,18 +72,18 @@ class CONTENT_EXPORT BatchingMediaLog : public media::MediaLog {
+ // guarantees provided by MediaLog, since SendQueuedMediaEvents must also
+ // be synchronized with respect to AddEvent.
+ mutable base::Lock lock_;
+- const base::TickClock* tick_clock_ GUARDED_BY(LOCK);
+- base::TimeTicks last_ipc_send_time_ GUARDED_BY(LOCK);
+- std::vector<media::MediaLogRecord> queued_media_events_ GUARDED_BY(LOCK);
++ const base::TickClock* tick_clock_ GUARDED_BY(lock_);
++ base::TimeTicks last_ipc_send_time_ GUARDED_BY(lock_);
++ std::vector<media::MediaLogRecord> queued_media_events_ GUARDED_BY(lock_);
+
+ // impl for sending queued events.
+- std::vector<std::unique_ptr<EventHandler>> event_handlers_ GUARDED_BY(LOCK);
++ std::vector<std::unique_ptr<EventHandler>> event_handlers_ GUARDED_BY(lock_);
+
+ // For enforcing max 1 pending send.
+- bool ipc_send_pending_ GUARDED_BY(LOCK);
++ bool ipc_send_pending_ GUARDED_BY(lock_);
+
+ // Limits the number of events we send over IPC to one.
+- std::unique_ptr<media::MediaLogRecord> last_duration_changed_event_ GUARDED_BY(LOCK);
++ std::unique_ptr<media::MediaLogRecord> last_duration_changed_event_ GUARDED_BY(lock_);
+
+ // Holds the earliest MEDIA_ERROR_LOG_ENTRY event added to this log. This is
+ // most likely to contain the most specific information available describing
+--
+cgit v1.2.1
+
diff --git a/dev-qt/qtwebengine/qtwebengine-5.15.3_p20220406.ebuild b/dev-qt/qtwebengine/qtwebengine-5.15.5_p20220618.ebuild
index 802ae75..b1d2486 100644
--- a/dev-qt/qtwebengine/qtwebengine-5.15.3_p20220406.ebuild
+++ b/dev-qt/qtwebengine/qtwebengine-5.15.5_p20220618.ebuild
@@ -11,7 +11,7 @@ DESCRIPTION="Library for rendering dynamic web content in Qt5 C++ and QML applic
HOMEPAGE="https://www.qt.io/"
if [[ ${QT5_BUILD_TYPE} == release ]]; then
- KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+ KEYWORDS="amd64 ~arm arm64 ~ppc64 x86"
if [[ ${PV} == ${QT5_PV}_p* ]]; then
SRC_URI="https://dev.gentoo.org/~asturm/distfiles/${P}.tar.xz"
S="${WORKDIR}/${P}"
@@ -29,7 +29,6 @@ fi
# ppc64 patchset based on https://github.com/chromium-ppc64le releases
SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-5.15.2_p20211019-jumbo-build.patch.bz2
https://dev.gentoo.org/~asturm/distfiles/${PN}-5.15.3_p20220406-patchset.tar.xz
- riscv? ( https://dev.gentoo.org/~dlan/distfiles/${CATEGORY}/${PN}/${PN}-5.15.3-riscv-0.tar.xz )
ppc64? ( https://dev.gentoo.org/~gyakovlev/distfiles/${PN}-5.15.2-r1-chromium87-ppc64le.tar.xz )"
IUSE="alsa bindist designer geolocation +jumbo-build kerberos pulseaudio screencast +system-ffmpeg +system-icu widgets"
@@ -105,15 +104,15 @@ BDEPEND="${PYTHON_DEPS}
PATCHES=(
"${FILESDIR}/${PN}-5.15.2-disable-fatal-warnings.patch" # downstream, bug 695446
- "${FILESDIR}/${PN}-5.15.2-extra_gn.patch" # downstream, bug 774186
+ "${FILESDIR}/${PN}-5.15.3_p20220505-extra-gn.patch" # downstream, bug 774186
"${FILESDIR}/${PN}-5.15.2_p20210224-chromium-87-v8-icu68.patch" # downstream, bug 757606
"${FILESDIR}/${PN}-5.15.2_p20210224-disable-git.patch" # downstream snapshot fix
"${FILESDIR}/${PN}-5.15.2_p20211015-pdfium-system-lcms2.patch" # by Debian, QTBUG-61746
"${FILESDIR}/${PN}-5.15.3_p20220329-clang14.patch" # by FreeBSD, bug 836604
+ "${FILESDIR}/${PN}-5.15.3_p20220406-gcc12-includes.patch" # by openSUSE, bug 840326
"${WORKDIR}/${PN}-5.15.2_p20211019-jumbo-build.patch" # bug 813957
"${WORKDIR}/${PN}-5.15.3_p20220406-patchset" # bug 698988 (py2--), pipewire-3
- "${WORKDIR}/${PN}-5.15.3-riscv-general.patch"
- "${WORKDIR}/${PN}-5.15.3-riscv-v8.patch"
+ "${FILESDIR}/${P}-fixup-CVE-2022-0796.patch" # bug 853097
)
qtwebengine_check-reqs() {
@@ -133,7 +132,7 @@ qtwebengine_check-reqs() {
# Estimate the amount of RAM required
# Multiplier is *10 because Bash doesn't do floating point maths.
# Let's crudely assume ~2GB per compiler job for GCC.
- local multiplier=8
+ local multiplier=20
# And call it ~1.5GB for Clang.
if tc-is-clang ; then
@@ -229,6 +228,11 @@ src_prepare() {
mkdir -vp source/config/linux/ppc64 || die
mkdir -p source/libvpx/test || die
touch source/libvpx/test/test.mk || die
+ # clang-format is used to re-format sources
+ # but we'd rather make it a no-op than introduce a clang dependency
+ # https://bugs.gentoo.org/849458
+ clang-format() { : ; }
+ export -f clang-format || die
./generate_gni.sh || die
popd >/dev/null || die
fi
@@ -236,7 +240,7 @@ src_prepare() {
src_configure() {
export NINJA_PATH=/usr/bin/ninja
- export NINJAFLAGS="${NINJAFLAGS:--j$(makeopts_jobs) -l$(makeopts_loadavg "${MAKEOPTS}" 0) -v}"
+ export NINJAFLAGS="${NINJAFLAGS:--j$(makeopts_jobs "${MAKEOPTS}" 999) -l$(makeopts_loadavg "${MAKEOPTS}" 0) -v}"
local myqmakeargs=(
--
@@ -266,8 +270,8 @@ src_install() {
}
pkg_preinst() {
- elog "This version of Qt WebEngine is based on Chromium version 87.0.4280, with"
- elog "additional security fixes from newer versions. Extensive as it is, the"
+ elog "This version of Qt WebEngine is based on Chromium version 87.0.4280.144,"
+ elog "with additional security fixes from newer versions. Extensive as it is, the"
elog "list of backports is impossible to evaluate, but always bound to be behind"
elog "Chromium's release schedule."
elog "In addition, various online services may deny service based on an outdated"