summaryrefslogtreecommitdiff
path: root/dev-qt/qtwebengine
diff options
context:
space:
mode:
Diffstat (limited to 'dev-qt/qtwebengine')
-rw-r--r--dev-qt/qtwebengine/Manifest3
-rw-r--r--dev-qt/qtwebengine/files/qtwebengine-6.4.0-no-websocket-intercept.patch38
-rw-r--r--dev-qt/qtwebengine/qtwebengine-6.4.0.ebuild245
3 files changed, 286 insertions, 0 deletions
diff --git a/dev-qt/qtwebengine/Manifest b/dev-qt/qtwebengine/Manifest
index 924ea3b9188e..2d54362b6d8e 100644
--- a/dev-qt/qtwebengine/Manifest
+++ b/dev-qt/qtwebengine/Manifest
@@ -9,11 +9,14 @@ AUX qtwebengine-5.15.3_p20220406-ffmpeg5.patch 8393 BLAKE2B 07dee5bd305699378353
AUX qtwebengine-5.15.3_p20220406-gcc12-includes.patch 1139 BLAKE2B ba451fcef0dd235f6044622913197581fe2d2f3de8b6342fd9dc0f6706c28a16d8d6b6ad5429f6f2ea3a211a3cd01b730a1b36fd1f34e61b4391d19e0db1ae91 SHA512 7104313aec55fc8eede53cc966833f8e2632d175e4206dd90da2fa42807795152a01010e2cce7bacd57f30cd3fdbbfef32624d5763210d08362beda77a5724cd
AUX qtwebengine-5.15.3_p20220505-extra-gn.patch 458 BLAKE2B 0595f06d31fd83a04cc0ef9fb7567374c28c4d09c8774e6584d288aa18c2386efe699bd1d155fdee96f5960d3575baff6a6aa7a694d0c953401f80add9daf6c3 SHA512 81498f04c1ad4d73e888bba31fb1129e24990bcddb1d68111b004bba2e4fdab91698b3fe1d01bd94a0bf904e52f614cddc4ba6f70ffaf6a1d45e37a53e583629
AUX qtwebengine-5.15.5_p20220618-fixup-CVE-2022-0796.patch 2259 BLAKE2B 77426028cd350e3e70739cf5e5827b9a6302d2fada806ba46c5bdf9394b47d47aa2f52d8f1f38e53662bdfc3eb1e6c1616e77fbefb3e9b3c685d9271597b4153 SHA512 be2e52eba0168cfedad5e72a0f766fa2e0ef9beab9c28e44d2478fc0c4187cf669d03141b04c4a37ec5cfdd1d3987ce43e1cee61a59ae18fa2101a2a2eaf8d90
+AUX qtwebengine-6.4.0-no-websocket-intercept.patch 1582 BLAKE2B ca612dfe68ea051bec1a0af75806326a152fde8ece5449ceefd706eaa83911396ad4d2fc7633d53d6b54b17501a25a59928a34c82fdd88c6de4a3c7d110b1ec5 SHA512 bfaaa8f294a21390b45eafb5fabd933021208056d032169c6388a5d9f96991971c01adbb61d9293afd830114f671440f645ce2d53fe9596f390bce806cadc003
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_p20220406-patchset.tar.xz 35480 BLAKE2B ce6aeebbb3255196611130d04ee7a3907ba45d6d2a283f2433e2176cf67e473e74137b180de0a9998762cc54439bb06825815e81e9f95f9413ce2956ac9308b7 SHA512 47e29a1429dce2db324929af91c8ef8421c75ae48f5a491db71b434f8017a5b1e7475e9938989e331e8e012220852848565242e09747892e1a8a8d3ab7386840
DIST qtwebengine-5.15.5_p20220618.tar.xz 320131236 BLAKE2B 842322c94737cdf647277ccf226c0d015ac0b362af54c4298cbad6b4494aa4ef0e73830577fb391be31c91b4331b85f407ec58641897a7cc7237e7623043577d SHA512 b1bab7aa5edc7f7b9d4f8338a05dbbd55ae6e0312e1a7e6061895bd7a98c67780127c20db1dbbc81664bf483a5b8f7ed887cedd1baaa1a0259e28fd4b13d6944
DIST qtwebengine-everywhere-src-6.3.2.tar.xz 398294888 BLAKE2B 7fb59e9c0a09e4ffc2c59398e9249cb91c864168b81befa9ea7e2044ed328bc010f0e6d03ecfc74e006044b56c826b35dba05375aba6fee29e5d5aa08b33fa4c SHA512 deff0a7ad71c4c81b3f5cfff77919d9971eec0ba3713a94a28d902404189b4f92b237a89cc6ef3dec2ea7a766f8a7241638a1310e4ac68fe46ecdc61f69a958a
+DIST qtwebengine-everywhere-src-6.4.0.tar.xz 440346968 BLAKE2B ffe9ad9f71034d14f016a71bf3e6034853d5c2b17a3ab3e8aefc1c3a79896363eb2ce41446f16e126ec313608619900ee7ac41750978c28f135df5bbc2e0be5c SHA512 a024781c675c60ca746abb6cd977872b51e3f4a7ff9f934450b82e9b19883c68c0c6c630c28997624f0caceed3c43e8b0658419ecb18cf08fa9081275bedd2a7
EBUILD qtwebengine-5.15.5_p20220618.ebuild 9360 BLAKE2B 17d4db05563b15b74601f217247654304bf9833ef9487d614d4e73af4c63e9b2e97df0802551b50fa35f8929e2d8edd75abaf6831b001f13c71dcaa676c43d6f SHA512 d60048e0fb05316a272aaa1db671639b833239ab5de6346ffa19685d8013115b48e02b57565361f706b5ade51b8c896484404e741c6348c3712fead5808e7149
EBUILD qtwebengine-6.3.2.ebuild 7387 BLAKE2B 558bb2a0fdeca7dddfaef5507084eecc3ffb7abe26651d34fc7d21d17a1c4718ac77f1e877524a255a507709938fb275b1d1db2fcd69d8b5fe93f67241f347ec SHA512 89ddfa651a616fa175f2cbcfac51fe5e146d86b8a6f7fd4bebcb2351c624f628eb453192217babc69a8f8d32b204d062cf760902ceb0c8cdac10f4afb5189d1a
+EBUILD qtwebengine-6.4.0.ebuild 7497 BLAKE2B c0d10eaf3623173ffd44dc8c4b9d87b207e5085cc45e0c3d6068fd306eefa739d635b1ab406d625c87efc7be6c020941a693f45e719e5a871e4b99083ad08102 SHA512 e05d72be1d82b232e5dd98f8dd35cfa6e662c5b63103a1db6112788e440e577a0dc625007ad983f403e2001b2cf7ebaa5423fde09d3f085562159f9e768470a3
MISC metadata.xml 1258 BLAKE2B 450cb9e683a52475729881c910e7b0b79587d3d672d4eb90613b91194ec19ab7c0fb86bf4ff4bf631686ed3cad49859eed07405b1f7d6129f40b5f4edba68e43 SHA512 971dbe74479e6bf3ed3cda00724bb4a60d6382c4020ee6ce3a730646a69af0a66785fb135706a2a0cc00ff3190674e724aa3def03f43c8e9ed5e5d317ae271f0
diff --git a/dev-qt/qtwebengine/files/qtwebengine-6.4.0-no-websocket-intercept.patch b/dev-qt/qtwebengine/files/qtwebengine-6.4.0-no-websocket-intercept.patch
new file mode 100644
index 000000000000..941c39c0a5a9
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-6.4.0-no-websocket-intercept.patch
@@ -0,0 +1,38 @@
+Qt Bug: https://bugreports.qt.io/browse/QTBUG-107144
+Gerrit: https://codereview.qt-project.org/c/qt/qtwebengine/+/436316
+Patch: https://codereview.qt-project.org/gitweb?p=qt%2Fqtwebengine.git;a=commit;h=81bf140583f7b7bf13cc8dd522e1ca2aba873fc4
+
+From 81bf140583f7b7bf13cc8dd522e1ca2aba873fc4 Mon Sep 17 00:00:00 2001
+From: Martin Negyokru <negyokru@inf.u-szeged.hu>
+Date: Mon, 3 Oct 2022 12:20:00 +0200
+Subject: [PATCH] Do not intercept websocket connection when there is no
+ associated frame
+
+This fix is based on chrome's implementation.
+
+Fixes: QTBUG-107144
+Change-Id: If042e4156b8a4bdb27a210c4db94e3a6198aed7d
+Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
+(cherry picked from commit 64b7da9dab82713fdcb2e03d8a2715421eae5685)
+Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
+---
+ src/core/content_browser_client_qt.cpp | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/src/core/content_browser_client_qt.cpp b/src/core/content_browser_client_qt.cpp
+index 020ae916af..99a3aa3f4f 100644
+--- a/src/core/content_browser_client_qt.cpp
++++ b/src/core/content_browser_client_qt.cpp
+@@ -1237,8 +1237,7 @@ ContentBrowserClientQt::WillCreateURLLoaderRequestInterceptors(content::Navigati
+
+ bool ContentBrowserClientQt::WillInterceptWebSocket(content::RenderFrameHost *frame)
+ {
+- Q_UNUSED(frame);
+- return true; // It is probably not worth it to only intercept when interceptors are installed
++ return frame != nullptr;
+ }
+
+ QWebEngineUrlRequestInterceptor *getProfileInterceptorFromFrame(content::RenderFrameHost *frame)
+--
+2.16.3
+
diff --git a/dev-qt/qtwebengine/qtwebengine-6.4.0.ebuild b/dev-qt/qtwebengine/qtwebengine-6.4.0.ebuild
new file mode 100644
index 000000000000..6b9a8677483e
--- /dev/null
+++ b/dev-qt/qtwebengine/qtwebengine-6.4.0.ebuild
@@ -0,0 +1,245 @@
+# Copyright 2021-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9,10} )
+PYTHON_REQ_USE="xml(+)"
+CHROMIUM_VER="102.0.5005.177"
+CHROMIUM_PATCHES_VER="104.0.5112.102"
+
+inherit check-reqs estack flag-o-matic multiprocessing python-any-r1 qt6-build
+
+DESCRIPTION="Library for rendering dynamic web content in Qt6 C++ and QML applications"
+
+if [[ ${QT6_BUILD_TYPE} == release ]]; then
+ KEYWORDS="~amd64"
+fi
+
+IUSE="
+ alsa bindist designer geolocation +jumbo-build kerberos pulseaudio screencast
+ +system-ffmpeg +system-icu widgets
+"
+REQUIRED_USE="designer? ( widgets )"
+
+BDEPEND="
+ $(python_gen_any_dep 'dev-python/html5lib[${PYTHON_USEDEP}]')
+ dev-util/gperf
+ dev-util/ninja
+ dev-util/re2c
+ net-libs/nodejs[ssl]
+ sys-devel/bison
+ sys-devel/flex
+"
+RDEPEND="
+ app-arch/snappy:=
+ dev-libs/glib:2
+ dev-libs/nspr
+ dev-libs/nss
+ dev-libs/expat
+ dev-libs/libevent:=
+ dev-libs/libxml2[icu]
+ dev-libs/libxslt
+ dev-libs/re2:=
+ =dev-qt/qtdeclarative-${PV}*
+ =dev-qt/qtwebchannel-${PV}*
+ media-libs/fontconfig
+ media-libs/freetype
+ media-libs/harfbuzz:=
+ media-libs/lcms:2
+ media-libs/libjpeg-turbo:=
+ media-libs/libpng:=
+ >=media-libs/libvpx-1.5:=[svc(+)]
+ media-libs/libwebp:=
+ media-libs/opus
+ sys-apps/dbus
+ sys-apps/pciutils
+ sys-libs/zlib[minizip]
+ virtual/libudev
+ x11-libs/libdrm
+ x11-libs/libX11
+ x11-libs/libXcomposite
+ x11-libs/libXcursor
+ x11-libs/libxcb:=
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXi
+ x11-libs/libxkbcommon
+ x11-libs/libxkbfile
+ x11-libs/libXrandr
+ x11-libs/libXrender
+ x11-libs/libXScrnSaver
+ x11-libs/libxshmfence:=
+ x11-libs/libXtst
+ alsa? ( media-libs/alsa-lib )
+ geolocation? ( =dev-qt/qtpositioning-${PV}* )
+ kerberos? ( virtual/krb5 )
+ pulseaudio? ( media-libs/libpulse:= )
+ screencast? ( media-video/pipewire:= )
+ system-ffmpeg? ( media-video/ffmpeg:= )
+ system-icu? ( >=dev-libs/icu-69.1:= )
+ widgets? (
+ =dev-qt/qtbase-${PV}*[widgets]
+ )
+"
+DEPEND="${RDEPEND}
+ media-libs/libglvnd
+"
+
+PATCHES=( "${FILESDIR}/${PN}-6.4.0-no-websocket-intercept.patch" ) # QTBUG-107144
+
+python_check_deps() {
+ python_has_version "dev-python/html5lib[${PYTHON_USEDEP}]"
+}
+
+qtwebengine_check-reqs() {
+ # bug #307861
+ eshopts_push -s extglob
+ if is-flagq '-g?(gdb)?([1-9])'; then
+ ewarn "You have enabled debug info (probably have -g or -ggdb in your CFLAGS/CXXFLAGS)."
+ ewarn "You may experience really long compilation times and/or increased memory usage."
+ ewarn "If compilation fails, please try removing -g/-ggdb before reporting a bug."
+ fi
+ eshopts_pop
+
+ [[ ${MERGE_TYPE} == binary ]] && return
+
+ # (check-reqs added for bug #570534)
+ #
+ # 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=20
+
+ # And call it ~1.5GB for Clang.
+ if tc-is-clang ; then
+ multiplier=15
+ fi
+
+ local CHECKREQS_DISK_BUILD="7G"
+ local CHECKREQS_DISK_USR="150M"
+ if ! has "distcc" ${FEATURES} ; then
+ # bug #830661
+ # Not super realistic to come up with good estimates for distcc right now
+ local CHECKREQS_MEMORY=$(($(makeopts_jobs)*multiplier/10))G
+ fi
+
+ check-reqs_${EBUILD_PHASE_FUNC}
+}
+
+pkg_pretend() {
+ qtwebengine_check-reqs
+}
+
+pkg_setup() {
+ qtwebengine_check-reqs
+ python-any-r1_pkg_setup
+}
+
+pkg_preinst() {
+ elog "This version of Qt WebEngine is based on Chromium version ${CHROMIUM_VER}, with"
+ elog "additional security fixes up to ${CHROMIUM_PATCHES_VER}. 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"
+ elog "user agent version (and/or other checks). Google is already known to do so."
+ elog
+ elog "tldr: Your web browsing experience will be compromised."
+}
+
+src_unpack() {
+ # bug 307861
+ eshopts_push -s extglob
+ if is-flagq '-g?(gdb)?([1-9])'; then
+ ewarn
+ ewarn "You have enabled debug info (probably have -g or -ggdb in your CFLAGS/CXXFLAGS)."
+ ewarn "You may experience really long compilation times and/or increased memory usage."
+ ewarn "If compilation fails, please try removing -g/-ggdb before reporting a bug."
+ ewarn
+ fi
+ eshopts_pop
+
+ case ${QT6_BUILD_TYPE} in
+ live) git-r3_src_unpack ;&
+ release) default ;;
+ esac
+}
+
+src_prepare() {
+ # bug 620444 - ensure local headers are used
+ find . -type f -name "*.pr[fio]" -exec \
+ sed -i -e 's|INCLUDEPATH += |&$${QTWEBENGINE_ROOT}_build/include $${QTWEBENGINE_ROOT}/include |' {} + || die
+
+ if use system-icu; then
+ # Sanity check to ensure that bundled copy of ICU is not used.
+ # Whole src/3rdparty/chromium/third_party/icu directory cannot be deleted because
+ # src/3rdparty/chromium/third_party/icu/BUILD.gn is used by build system.
+ # If usage of headers of bundled copy of ICU occurs, then lists of shim headers in
+ # shim_headers("icui18n_shim") and shim_headers("icuuc_shim") in
+ # src/3rdparty/chromium/third_party/icu/BUILD.gn should be updated.
+ local file
+ while read file; do
+ echo "#error This file should not be used!" > "${file}" || die
+ done < <(find src/3rdparty/chromium/third_party/icu -type f "(" -name "*.c" -o -name "*.cpp" -o -name "*.h" ")" 2>/dev/null)
+ fi
+
+ qt6-build_src_prepare
+}
+
+src_configure() {
+ export NINJA_PATH="${BROOT}"/usr/bin/ninja
+ export NINJAFLAGS="${NINJAFLAGS:--j$(makeopts_jobs) -l$(makeopts_loadavg "${MAKEOPTS}" 0) -v}"
+
+ local mycmakeargs=(
+ #-DQT_FEATURE_accessibility=off
+ #-DQT_FEATURE_force_asserts=off
+ #-DQT_FEATURE_opengl=off
+ #-DQT_FEATURE_printer=off
+ -DQT_FEATURE_qtpdf_build=off
+ -DQT_FEATURE_qtpdf_quick_build=off
+ -DQT_FEATURE_qtpdf_widgets_build=off
+ -DQT_FEATURE_qtwebengine_build=on
+ -DQT_FEATURE_qtwebengine_quick_build=on
+ -DQT_FEATURE_qtwebengine_widgets_build=on
+ #-DQT_FEATURE_ssl=off
+ #-DQT_FEATURE_static=off
+ #-DQT_FEATURE_system_zlib=off
+ #-DQT_FEATURE_system_png=off
+ #-DQT_FEATURE_system_jpeg=off
+ #-DQT_FEATURE_system_freetype=off
+ #-DQT_FEATURE_system_harfbuzz=off
+ #-DQT_FEATURE_use_gold_linker=off
+ #-DQT_FEATURE_use_lld_linker=off
+ -DQT_FEATURE_webengine_embedded_build=off
+ -DQT_FEATURE_webengine_extensions=on
+ #-DQT_FEATURE_webengine_full_debug_info=$(usex debug)
+ -DQT_FEATURE_webengine_geolocation=$(usex geolocation on off)
+ -DQT_FEATURE_webengine_jumbo_build=$(usex jumbo-build)
+ #-DQT_FEATURE_webengine_jumbo_file_merge_limit
+ -DQT_FEATURE_webengine_kerberos=$(usex kerberos on off)
+ -DQT_FEATURE_webengine_native_spellchecker=off
+ -DQT_FEATURE_webengine_ozone_x11=on
+ -DQT_FEATURE_webengine_pepper_plugins=on
+ -DQT_FEATURE_webengine_proprietary_codecs=$(usex bindist off on)
+ -DQT_FEATURE_webengine_printing_and_pdf=on
+ -DQT_FEATURE_webengine_sanitizer=on
+ -DQT_FEATURE_webengine_spellchecker=on
+ -DQT_FEATURE_webengine_system_opus=on
+ -DQT_FEATURE_webengine_system_libwebp=on
+ -DQT_FEATURE_webengine_system_alsa=$(usex alsa on off)
+ -DQT_FEATURE_webengine_system_ffmpeg=$(usex system-ffmpeg)
+ -DQT_FEATURE_webengine_system_icu=$(usex system-icu)
+ -DQT_FEATURE_webengine_system_libevent=on
+ -DQT_FEATURE_webengine_system_libpci=on
+ -DQT_FEATURE_webengine_system_libpng=on
+ -DQT_FEATURE_webengine_system_pulseaudio=$(usex pulseaudio on off)
+ -DQT_FEATURE_webengine_system_zlib=on
+ -DQT_FEATURE_webengine_webchannel=on
+ -DQT_FEATURE_webengine_webrtc=on
+ -DQT_FEATURE_webengine_webrtc_pipewire=$(usex screencast on off)
+ #-DQT_FEATURE_xcb=off
+ )
+
+ qt6-build_src_configure
+}