From a11ba9ffa8140a9c55c950a6947bc472b489a10a Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Wed, 3 Aug 2022 14:01:21 +0100 Subject: gentoo auto-resync : 03:08:2022 - 14:01:21 --- dev-qt/qtwebengine/Manifest | 3 + .../files/qtwebengine-6.3.1-widevine.patch | 18 ++ dev-qt/qtwebengine/qtwebengine-6.3.1.ebuild | 246 +++++++++++++++++++++ 3 files changed, 267 insertions(+) create mode 100644 dev-qt/qtwebengine/files/qtwebengine-6.3.1-widevine.patch create mode 100644 dev-qt/qtwebengine/qtwebengine-6.3.1.ebuild (limited to 'dev-qt/qtwebengine') diff --git a/dev-qt/qtwebengine/Manifest b/dev-qt/qtwebengine/Manifest index b7a299cd1890..dc3b83f9823c 100644 --- a/dev-qt/qtwebengine/Manifest +++ b/dev-qt/qtwebengine/Manifest @@ -9,9 +9,12 @@ 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.3.1-widevine.patch 707 BLAKE2B eb7b465e6db8d42225c604abfbf3d5a4ada4791b9e7a8627059ec692f4236e8086b8de319c325e5fd1e39cd0ed78ec492751196413a06b5d7d13c5d093ea024b SHA512 2a067c4418fc3e678251a64eea8a0ba7b96485effe07970bd1a049736c20532437a1a53aee43e330863bafe61e8da88808d5030dc1664ceb35e33c6b4bbdc29a 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.1.tar.xz 398269544 BLAKE2B 3b56a87fd93de0da9ccbfdeda0c5a3e07892dcb1c8dce848cc21c73cb45e7c94746bad299feaa68910ba036abf0c1c16fa423307fdc08c8af4e5e920e2e8a329 SHA512 e00601a7ec6400551f7707d15cf326340ae8d6a5bb8cda55df4619148414f4b3ca3daabfd7263dd5a2ff2ca8ba64f9e91c9db3f1a50bea4903148c57b6dc81dd EBUILD qtwebengine-5.15.5_p20220618.ebuild 9282 BLAKE2B c8a2e6bb82be40f6f7d3fd18c1f6af7c3df433af0d027f0c88623686eabb889ed9ed6199679263a435bffb7890724638099aba97852afa51f69464ae0bb67b56 SHA512 2cd95bd77b1237c5f55e7f734245ef477af132fd69113e7de951db7f8e73b026dace177123c7abf778b83e49e0d11321bbec168e463ea4e8c78b3e13f85021f6 +EBUILD qtwebengine-6.3.1.ebuild 7435 BLAKE2B 05cf03ec10fd467b4c188bc015f65ab1ecca94a01a58e93706f9cf1a1da3df273bcb35da7574f2cba8c955aee7fb03b9e86e5c81121868d5ad1d809d0d01ac48 SHA512 cadfc426300f13cb560d5f1a1ecd5c7ceeacd8679182239816a9e5b1f9dd2afe81cd87f0585d4a3b98f28ca2803dbe1283411534795080ab5954963f4e75f44e MISC metadata.xml 1258 BLAKE2B 450cb9e683a52475729881c910e7b0b79587d3d672d4eb90613b91194ec19ab7c0fb86bf4ff4bf631686ed3cad49859eed07405b1f7d6129f40b5f4edba68e43 SHA512 971dbe74479e6bf3ed3cda00724bb4a60d6382c4020ee6ce3a730646a69af0a66785fb135706a2a0cc00ff3190674e724aa3def03f43c8e9ed5e5d317ae271f0 diff --git a/dev-qt/qtwebengine/files/qtwebengine-6.3.1-widevine.patch b/dev-qt/qtwebengine/files/qtwebengine-6.3.1-widevine.patch new file mode 100644 index 000000000000..74da3f35f793 --- /dev/null +++ b/dev-qt/qtwebengine/files/qtwebengine-6.3.1-widevine.patch @@ -0,0 +1,18 @@ +Backport from 6.3.2 +https://bugreports.qt.io/browse/QTBUG-104238 +https://github.com/qutebrowser/qutebrowser/issues/7231 +--- a/src/core/content_client_qt.cpp ++++ b/src/core/content_client_qt.cpp +@@ -54,4 +54,5 @@ + #include "media/base/media_switches.h" + #include "media/base/video_codecs.h" ++#include "media/cdm/supported_audio_codecs.h" + #include "media/media_buildflags.h" + #include "ui/base/layout.h" +@@ -276,4 +277,6 @@ + #endif // BUILDFLAG(USE_PROPRIETARY_CODECS) + ++ capability->audio_codecs = media::GetCdmSupportedAudioCodecs(); ++ + // Add the supported encryption schemes as if they came from the + // component manifest. This list must match the CDM that is being diff --git a/dev-qt/qtwebengine/qtwebengine-6.3.1.ebuild b/dev-qt/qtwebengine/qtwebengine-6.3.1.ebuild new file mode 100644 index 000000000000..468f7bbc29d7 --- /dev/null +++ b/dev-qt/qtwebengine/qtwebengine-6.3.1.ebuild @@ -0,0 +1,246 @@ +# 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="94.0.4606.126" +CHROMIUM_PATCHES_VER="101.0.4951.64" + +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/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}"/${P}-widevine.patch +) + +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 +} -- cgit v1.2.3