From 7138219e3c9446bf981ff17f5609f42130bec414 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 24 Sep 2022 17:32:06 +0100 Subject: gentoo auto-resync : 24:09:2022 - 17:32:06 --- dev-qt/qtwebengine/Manifest | 6 +- .../files/qtwebengine-6.3.1-favicon.patch | 28 --- .../files/qtwebengine-6.3.1-widevine.patch | 18 -- dev-qt/qtwebengine/qtwebengine-6.3.1.ebuild | 247 --------------------- dev-qt/qtwebengine/qtwebengine-6.3.2.ebuild | 242 ++++++++++++++++++++ 5 files changed, 244 insertions(+), 297 deletions(-) delete mode 100644 dev-qt/qtwebengine/files/qtwebengine-6.3.1-favicon.patch delete mode 100644 dev-qt/qtwebengine/files/qtwebengine-6.3.1-widevine.patch delete mode 100644 dev-qt/qtwebengine/qtwebengine-6.3.1.ebuild create mode 100644 dev-qt/qtwebengine/qtwebengine-6.3.2.ebuild (limited to 'dev-qt/qtwebengine') diff --git a/dev-qt/qtwebengine/Manifest b/dev-qt/qtwebengine/Manifest index a9739f3bfc56..3edf0f37d33b 100644 --- a/dev-qt/qtwebengine/Manifest +++ b/dev-qt/qtwebengine/Manifest @@ -9,13 +9,11 @@ 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-favicon.patch 1026 BLAKE2B e0308e244036295e6e9905d383fe751731e4bdf6a349e29320e931d7eec5305e8aee056255bc9869908c56af236078f2af5b0b196eaa282f552239a34b352d9a SHA512 7dba02a0f6de49b9cc98098f0b89f2ff6e93be4dc779663153c4a2d2f9bc1556c5c00ffc4d4ab63754163cfcb24065d07ef7961c2112cdb5dca4d4a3fe672a18 -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 +DIST qtwebengine-everywhere-src-6.3.2.tar.xz 398294888 BLAKE2B 7fb59e9c0a09e4ffc2c59398e9249cb91c864168b81befa9ea7e2044ed328bc010f0e6d03ecfc74e006044b56c826b35dba05375aba6fee29e5d5aa08b33fa4c SHA512 deff0a7ad71c4c81b3f5cfff77919d9971eec0ba3713a94a28d902404189b4f92b237a89cc6ef3dec2ea7a766f8a7241638a1310e4ac68fe46ecdc61f69a958a EBUILD qtwebengine-5.15.5_p20220618.ebuild 9282 BLAKE2B c8a2e6bb82be40f6f7d3fd18c1f6af7c3df433af0d027f0c88623686eabb889ed9ed6199679263a435bffb7890724638099aba97852afa51f69464ae0bb67b56 SHA512 2cd95bd77b1237c5f55e7f734245ef477af132fd69113e7de951db7f8e73b026dace177123c7abf778b83e49e0d11321bbec168e463ea4e8c78b3e13f85021f6 -EBUILD qtwebengine-6.3.1.ebuild 7469 BLAKE2B 690a9828f1b6a375d00985f22694266150496074553fdd7ce36634cc9103d80d7362022dc6f8ca3266bb4d92828b252d1080f7f6f675158b424162645c4d0b0a SHA512 47279c6f39adf7508ba92029631555fd2ae66fb13a07176cc2cc182f19693a91f458208ae8ff08b446e8bacc07b4c4109a06eec0c18259fecca49453fdd388a4 +EBUILD qtwebengine-6.3.2.ebuild 7387 BLAKE2B 558bb2a0fdeca7dddfaef5507084eecc3ffb7abe26651d34fc7d21d17a1c4718ac77f1e877524a255a507709938fb275b1d1db2fcd69d8b5fe93f67241f347ec SHA512 89ddfa651a616fa175f2cbcfac51fe5e146d86b8a6f7fd4bebcb2351c624f628eb453192217babc69a8f8d32b204d062cf760902ceb0c8cdac10f4afb5189d1a MISC metadata.xml 1258 BLAKE2B 450cb9e683a52475729881c910e7b0b79587d3d672d4eb90613b91194ec19ab7c0fb86bf4ff4bf631686ed3cad49859eed07405b1f7d6129f40b5f4edba68e43 SHA512 971dbe74479e6bf3ed3cda00724bb4a60d6382c4020ee6ce3a730646a69af0a66785fb135706a2a0cc00ff3190674e724aa3def03f43c8e9ed5e5d317ae271f0 diff --git a/dev-qt/qtwebengine/files/qtwebengine-6.3.1-favicon.patch b/dev-qt/qtwebengine/files/qtwebengine-6.3.1-favicon.patch deleted file mode 100644 index 8c9544b16935..000000000000 --- a/dev-qt/qtwebengine/files/qtwebengine-6.3.1-favicon.patch +++ /dev/null @@ -1,28 +0,0 @@ -Backport dev branch fix for favicons sometime not showing in -some consumers like qutebrowser. Not currently included in -upcoming 6.3.2 so may be needed beyond 6.3.1. - -https://bugreports.qt.io/browse/QTBUG-103735 -https://github.com/qt/qtwebengine/commit/c5de1b2123 ---- a/src/core/favicon_driver_qt.cpp -+++ b/src/core/favicon_driver_qt.cpp -@@ -300,15 +300,15 @@ void FaviconDriverQt::DidStartNavigation(content::NavigationHandle *navigation_h - return; - - m_faviconUrls.reset(); -- m_completedHandlersCount = 0; -- m_latestFavicon = FaviconStatusQt(); - - if (!navigation_handle->IsSameDocument()) { -+ m_completedHandlersCount = 0; -+ m_latestFavicon = FaviconStatusQt(); - m_documentOnLoadCompleted = false; - m_manifestUrl = GURL(); -- } - -- m_viewClient->iconChanged(QUrl()); -+ m_viewClient->iconChanged(QUrl()); -+ } - - content::ReloadType reload_type = navigation_handle->GetReloadType(); - if (reload_type == content::ReloadType::NONE || IsOffTheRecord()) diff --git a/dev-qt/qtwebengine/files/qtwebengine-6.3.1-widevine.patch b/dev-qt/qtwebengine/files/qtwebengine-6.3.1-widevine.patch deleted file mode 100644 index 74da3f35f793..000000000000 --- a/dev-qt/qtwebengine/files/qtwebengine-6.3.1-widevine.patch +++ /dev/null @@ -1,18 +0,0 @@ -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 deleted file mode 100644 index 91f14a1f75cf..000000000000 --- a/dev-qt/qtwebengine/qtwebengine-6.3.1.ebuild +++ /dev/null @@ -1,247 +0,0 @@ -# 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 - "${FILESDIR}"/${P}-favicon.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 -} diff --git a/dev-qt/qtwebengine/qtwebengine-6.3.2.ebuild b/dev-qt/qtwebengine/qtwebengine-6.3.2.ebuild new file mode 100644 index 000000000000..2ce46d9ae13e --- /dev/null +++ b/dev-qt/qtwebengine/qtwebengine-6.3.2.ebuild @@ -0,0 +1,242 @@ +# 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="104.0.5112.81" + +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 +" + +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