summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIonen Wolkens <ionen@gentoo.org>2024-04-19 03:25:46 -0400
committerIonen Wolkens <ionen@gentoo.org>2024-04-19 03:52:53 -0400
commit787bfd67fdfc588356dfc798ec3a093926455634 (patch)
tree7be1f0f30e2b0120f69ab95bb891ebdde48cc29d
parentdev-qt/qtwebchannel: drop 6.6.2, 6.6.3 (diff)
downloadgentoo-787bfd67fdfc588356dfc798ec3a093926455634.tar.gz
gentoo-787bfd67fdfc588356dfc798ec3a093926455634.tar.bz2
gentoo-787bfd67fdfc588356dfc798ec3a093926455634.zip
dev-qt/qtwebengine: drop 6.6.2, 6.6.3
Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
-rw-r--r--dev-qt/qtwebengine/Manifest4
-rw-r--r--dev-qt/qtwebengine/files/qtwebengine-6.6.2-clang18.patch80
-rw-r--r--dev-qt/qtwebengine/qtwebengine-6.6.2.ebuild314
-rw-r--r--dev-qt/qtwebengine/qtwebengine-6.6.3.ebuild313
4 files changed, 0 insertions, 711 deletions
diff --git a/dev-qt/qtwebengine/Manifest b/dev-qt/qtwebengine/Manifest
index a6606fb6f91b..55c0e432a96a 100644
--- a/dev-qt/qtwebengine/Manifest
+++ b/dev-qt/qtwebengine/Manifest
@@ -1,8 +1,4 @@
DIST qtwebengine-5.15.13_p20240322-patchset.tar.xz 26112 BLAKE2B 21eb036520e052f28d7579022d84d4b7136521d025569b22653229d8099140a99726ce5ddebced0d9aa113d3e215fc023ad042a372f2318dfc7cafe5d9e397c9 SHA512 cbc4373ed6a107a3fd2bf1cb73c96e3c00b4428410933dbb1b1eb5116de22e29ca5e102702e1f6f8a12abff6b60ea072b84e77da64c6d60e360bf0ad2e542166
DIST qtwebengine-5.15.13_p20240322.tar.xz 301394204 BLAKE2B f9bb5bb79edbe0bc862a718feb3b11a56d8c6d2eee1dd711c9b4460f64308fdfbaa4c3551eebad3af5844564a49703574a7fb9d74e15abd0a6aeb8c707a14059 SHA512 b1f459fbb3d21118043a53ce6e292c6a45f8512830f4dbf6982713970f980ccfb8c1ea1c1d7ce373991632de8c44b5053fa1ccb883e19cd8f35a961e67472f5a
-DIST qtwebengine-6.6-patchset-10.tar.xz 8880 BLAKE2B 7583dbfbb60100dc669c780d611aa56034ba2172700168c716e06b37cfb8bb083a29b3ab36968ad0f34443224f7ce03956e6fad2734ac7ff62b2aaeba9e79fc4 SHA512 3cf5e597d7300b89297f15f10ffd7e24517f8762ecdc7b3be19f3c48bc16949ec47ebccf050d4416033e1915453c12b0e69ebb2defa50471cdb72794f8e05708
-DIST qtwebengine-6.6-patchset-9.tar.xz 8040 BLAKE2B 11c76fd36227cfcfc3c83618fad25c66963e63697f857b99efc76188529bea42094b279bd9f37e79584cb6e9f1d2dd2f666a96c46ddf2276033cdc97782b72c4 SHA512 33cc1ad0843eeaf1103033c2e9b9a734cd218d92c40985fd6c109acefa2f68b99b1f3cf5e06d6f837fc974c39b220ae93b40d135b5414f822cf28e075805c9c1
DIST qtwebengine-6.7-patchset-6.tar.xz 8140 BLAKE2B 773ee76ecf118ce45eb5dbebf4a574c3cff90f50cd87a469511688ed77db7a96012bec0dd03312bf2d366d709d95a2ac3432e9e0bd5a517b69a5bbd250a94420 SHA512 4db6abbd2a598f8194b9ba7035abad7228f6056fc5e5572329a9a0474f36135428b401edf5fa96e1ac866328d078b015fffd90949ef84f1cea9a1b39e5b9d5ff
-DIST qtwebengine-everywhere-src-6.6.2.tar.xz 421147952 BLAKE2B a0317faf9ff2d81cd2418652c297821bd8451e0564b8b9af8cb005b0c96a4ec74305ff814c3ab355d84bbacaaccd9ebf6bf591e01b485e243cc485aedf3e6e5b SHA512 8024890c1a7f6d5b9866d768f5ee5cb24b2eb9bb2162886fe02cf8f6fbb23e99eadb142c2636fd3d856b0b1975e69859989553f70c6d8610a69d991d4c2f190d
-DIST qtwebengine-everywhere-src-6.6.3.tar.xz 421076320 BLAKE2B b718b968549a6aad0945cc23ccd2f297475a71db26c6ca6cbeab9d0fee3b709180d5b765a67ef90741eadd48b1fe72c95f302f44c856e4056e0d49589d655879 SHA512 cb026f2dd389d83fbeff3eedc3fa77fc22ff5cf6d444ec163b0dc4649abdf2d16683e9d31f46324f7b3546bb1ec80e40d35854537aa3c09959457fa3c79fa96d
DIST qtwebengine-everywhere-src-6.7.0.tar.xz 550907592 BLAKE2B e7787ab0a8b68657ca318de1c855f23b50d9aa3bda1bfcaa4ecd274ff0afb283c092256c28b566a9882cc5dccdaf2e3312836f4da6d4a85850f3202176d77933 SHA512 92bc8ffc69c6e00d55b647b332878e9b632257e78c38e9b3d0a5f4506d5df3c507e8ffa5916db2547b89c4c2641447fd9031a80e780e143c7ed58a7285e06e64
diff --git a/dev-qt/qtwebengine/files/qtwebengine-6.6.2-clang18.patch b/dev-qt/qtwebengine/files/qtwebengine-6.6.2-clang18.patch
deleted file mode 100644
index 97dbe299c2b3..000000000000
--- a/dev-qt/qtwebengine/files/qtwebengine-6.6.2-clang18.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-Patch status: fixed in >=chromium-122.0.6200.0
-
-https://bugs.gentoo.org/925486
-https://webrtc.googlesource.com/src/+/267f9bdd5
-https://webrtc-review.googlesource.com/c/src/+/332240
---- a/src/3rdparty/chromium/third_party/webrtc/pc/legacy_stats_collector.cc
-+++ b/src/3rdparty/chromium/third_party/webrtc/pc/legacy_stats_collector.cc
-@@ -190,7 +190,7 @@
- {StatsReport::kStatsValueNamePreemptiveExpandRate,
- info.preemptive_expand_rate},
-- {StatsReport::kStatsValueNameTotalAudioEnergy, info.total_output_energy},
-+ {StatsReport::kStatsValueNameTotalAudioEnergy, static_cast<float>(info.total_output_energy)},
- {StatsReport::kStatsValueNameTotalSamplesDuration,
-- info.total_output_duration}};
-+ static_cast<float>(info.total_output_duration)}};
-
- const IntForAdd ints[] = {
-@@ -246,7 +246,7 @@
-
- const FloatForAdd floats[] = {
-- {StatsReport::kStatsValueNameTotalAudioEnergy, info.total_input_energy},
-+ {StatsReport::kStatsValueNameTotalAudioEnergy, static_cast<float>(info.total_input_energy)},
- {StatsReport::kStatsValueNameTotalSamplesDuration,
-- info.total_input_duration}};
-+ static_cast<float>(info.total_input_duration)}};
-
- RTC_DCHECK_GE(info.audio_level, 0);
-@@ -342,5 +342,5 @@
- {StatsReport::kStatsValueNameRenderDelayMs, info.render_delay_ms},
- {StatsReport::kStatsValueNameTargetDelayMs, info.target_delay_ms},
-- {StatsReport::kStatsValueNameFramesDecoded, info.frames_decoded},
-+ {StatsReport::kStatsValueNameFramesDecoded, static_cast<int>(info.frames_decoded)},
- };
-
-@@ -386,13 +386,13 @@
- {StatsReport::kStatsValueNameFirsReceived, info.firs_rcvd},
- {StatsReport::kStatsValueNameFrameHeightSent, info.send_frame_height},
-- {StatsReport::kStatsValueNameFrameRateInput, round(info.framerate_input)},
-+ {StatsReport::kStatsValueNameFrameRateInput, static_cast<int>(round(info.framerate_input))},
- {StatsReport::kStatsValueNameFrameRateSent, info.framerate_sent},
- {StatsReport::kStatsValueNameFrameWidthSent, info.send_frame_width},
-- {StatsReport::kStatsValueNameNacksReceived, info.nacks_rcvd},
-+ {StatsReport::kStatsValueNameNacksReceived, static_cast<int>(info.nacks_rcvd)},
- {StatsReport::kStatsValueNamePacketsLost, info.packets_lost},
- {StatsReport::kStatsValueNamePacketsSent, info.packets_sent},
- {StatsReport::kStatsValueNamePlisReceived, info.plis_rcvd},
-- {StatsReport::kStatsValueNameFramesEncoded, info.frames_encoded},
-- {StatsReport::kStatsValueNameHugeFramesSent, info.huge_frames_sent},
-+ {StatsReport::kStatsValueNameFramesEncoded, static_cast<int>(info.frames_encoded)},
-+ {StatsReport::kStatsValueNameHugeFramesSent, static_cast<int>(info.huge_frames_sent)},
- };
-
-@@ -783,17 +783,17 @@
-
- const Int64ForAdd int64s[] = {
-- {StatsReport::kStatsValueNameBytesReceived, info.recv_total_bytes},
-- {StatsReport::kStatsValueNameBytesSent, info.sent_total_bytes},
-- {StatsReport::kStatsValueNamePacketsSent, info.sent_total_packets},
-- {StatsReport::kStatsValueNameRtt, info.rtt},
-+ {StatsReport::kStatsValueNameBytesReceived, static_cast<long>(info.recv_total_bytes)},
-+ {StatsReport::kStatsValueNameBytesSent, static_cast<long>(info.sent_total_bytes)},
-+ {StatsReport::kStatsValueNamePacketsSent, static_cast<long>(info.sent_total_packets)},
-+ {StatsReport::kStatsValueNameRtt, static_cast<long>(info.rtt)},
- {StatsReport::kStatsValueNameSendPacketsDiscarded,
-- info.sent_discarded_packets},
-+ static_cast<long>(info.sent_discarded_packets)},
- {StatsReport::kStatsValueNameSentPingRequestsTotal,
-- info.sent_ping_requests_total},
-+ static_cast<long>(info.sent_ping_requests_total)},
- {StatsReport::kStatsValueNameSentPingRequestsBeforeFirstResponse,
-- info.sent_ping_requests_before_first_response},
-- {StatsReport::kStatsValueNameSentPingResponses, info.sent_ping_responses},
-- {StatsReport::kStatsValueNameRecvPingRequests, info.recv_ping_requests},
-- {StatsReport::kStatsValueNameRecvPingResponses, info.recv_ping_responses},
-+ static_cast<long>(info.sent_ping_requests_before_first_response)},
-+ {StatsReport::kStatsValueNameSentPingResponses, static_cast<long>(info.sent_ping_responses)},
-+ {StatsReport::kStatsValueNameRecvPingRequests, static_cast<long>(info.recv_ping_requests)},
-+ {StatsReport::kStatsValueNameRecvPingResponses, static_cast<long>(info.recv_ping_responses)},
- };
- for (const auto& i : int64s)
diff --git a/dev-qt/qtwebengine/qtwebengine-6.6.2.ebuild b/dev-qt/qtwebengine/qtwebengine-6.6.2.ebuild
deleted file mode 100644
index 20cef7cd916e..000000000000
--- a/dev-qt/qtwebengine/qtwebengine-6.6.2.ebuild
+++ /dev/null
@@ -1,314 +0,0 @@
-# Copyright 2021-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..12} )
-PYTHON_REQ_USE="xml(+)"
-inherit check-reqs flag-o-matic multiprocessing optfeature
-inherit prefix python-any-r1 qt6-build toolchain-funcs
-
-DESCRIPTION="Library for rendering dynamic web content in Qt6 C++ and QML applications"
-SRC_URI+="
- https://dev.gentoo.org/~ionen/distfiles/${PN}-6.6-patchset-9.tar.xz
-"
-
-if [[ ${QT6_BUILD_TYPE} == release ]]; then
- KEYWORDS="amd64 arm64"
-fi
-
-IUSE="
- +alsa bindist custom-cflags designer geolocation +jumbo-build
- kerberos opengl pdfium pulseaudio qml screencast +system-icu
- vaapi vulkan +widgets
-"
-REQUIRED_USE="
- designer? ( qml widgets )
-"
-
-# dlopen: krb5, libva, pciutils, udev
-RDEPEND="
- app-arch/snappy:=
- dev-libs/expat
- dev-libs/libevent:=
- dev-libs/libxml2[icu]
- dev-libs/libxslt
- dev-libs/nspr
- dev-libs/nss
- ~dev-qt/qtbase-${PV}:6[gui,opengl=,vulkan?,widgets?]
- ~dev-qt/qtwebchannel-${PV}:6[qml?]
- media-libs/fontconfig
- media-libs/freetype
- media-libs/harfbuzz:=
- media-libs/lcms:2
- media-libs/libjpeg-turbo:=
- media-libs/libpng:=
- media-libs/libwebp:=
- media-libs/openjpeg:2=
- media-libs/opus
- media-libs/tiff:=
- sys-apps/dbus
- sys-apps/pciutils
- sys-libs/zlib:=[minizip]
- virtual/libudev
- x11-libs/libX11
- x11-libs/libXcomposite
- x11-libs/libXdamage
- x11-libs/libXext
- x11-libs/libXfixes
- x11-libs/libXrandr
- x11-libs/libXtst
- x11-libs/libxcb:=
- x11-libs/libxkbcommon
- x11-libs/libxkbfile
- alsa? ( media-libs/alsa-lib )
- designer? ( ~dev-qt/qttools-${PV}:6[designer] )
- geolocation? ( ~dev-qt/qtpositioning-${PV}:6 )
- kerberos? ( virtual/krb5 )
- pulseaudio? ( media-libs/libpulse[glib] )
- qml? ( ~dev-qt/qtdeclarative-${PV}:6 )
- screencast? (
- dev-libs/glib:2
- media-libs/mesa[gbm(+)]
- media-video/pipewire:=
- x11-libs/libdrm
- )
- system-icu? ( dev-libs/icu:= )
- vaapi? (
- media-libs/libva:=[X]
- media-libs/mesa[gbm(+)]
- x11-libs/libdrm
- )
- !vaapi? ( media-libs/libvpx:= )
- widgets? ( ~dev-qt/qtdeclarative-${PV}:6[widgets] )
-"
-DEPEND="
- ${RDEPEND}
- media-libs/libglvnd
- x11-base/xorg-proto
- x11-libs/libxshmfence
- screencast? ( media-libs/libepoxy[egl(+)] )
- pdfium? ( net-print/cups )
- test? (
- widgets? ( app-text/poppler[cxx(+)] )
- )
- vaapi? (
- vulkan? ( dev-util/vulkan-headers )
- )
-"
-BDEPEND="
- $(python_gen_any_dep 'dev-python/html5lib[${PYTHON_USEDEP}]')
- dev-util/gperf
- net-libs/nodejs[ssl]
- sys-devel/bison
- sys-devel/flex
-"
-
-PATCHES=( "${WORKDIR}"/patches/${PN} )
-[[ ${PV} == 6.9999 ]] || # too fragile for 6.9999, but keep for 6.x.9999
- PATCHES+=( "${WORKDIR}"/patches/chromium )
-
-PATCHES+=(
- # add extras as needed here, may merge in set if carries across versions
- "${FILESDIR}"/${PN}-6.6.2-clang18.patch
-)
-
-python_check_deps() {
- python_has_version "dev-python/html5lib[${PYTHON_USEDEP}]"
-}
-
-qtwebengine_check-reqs() {
- [[ ${MERGE_TYPE} == binary ]] && return
-
- if is-flagq '-g?(gdb)?([1-9])'; then #307861
- ewarn
- ewarn "Used CFLAGS/CXXFLAGS seem to enable debug info (-g or -ggdb), which"
- ewarn "is non-trivial with ${PN}. May experience extended compilation"
- ewarn "times, increased disk/memory usage, and potentially link failure."
- ewarn
- ewarn "If run into issues, please try disabling before reporting a bug."
- fi
-
- local CHECKREQS_DISK_BUILD=7G
- local CHECKREQS_DISK_USR=220M
-
- if ! has distcc ${FEATURES}; then #830661
- # assume ~2GB per job or 1.5GB if clang, possible with less
- # depending on free memory and *FLAGS, but prefer being safe as
- # users having OOM issues with qtwebengine been rather common
- tc-is-clang && : 15 || : 20
- local CHECKREQS_MEMORY=$(($(makeopts_jobs)*_/10))G
- fi
-
- check-reqs_${EBUILD_PHASE_FUNC} #570534
-}
-
-pkg_pretend() {
- qtwebengine_check-reqs
-}
-
-pkg_setup() {
- qtwebengine_check-reqs
- python-any-r1_pkg_setup
-}
-
-src_prepare() {
- qt6-build_src_prepare
-
- # for www-plugins/chrome-binary-plugins (widevine) search paths on prefix
- hprefixify -w /Gentoo/ src/core/content_client_qt.cpp
-
- # store chromium versions, only used in postinst for a warning
- local chromium
- mapfile -t chromium < CHROMIUM_VERSION || die
- [[ ${chromium[1]} =~ ^Based.*:[^0-9]+([0-9.]+$) ]] &&
- QT6_CHROMIUM_VER=${BASH_REMATCH[1]} || die
- [[ ${chromium[2]} =~ ^Patched.+:[^0-9]+([0-9.]+$) ]] &&
- QT6_CHROMIUM_PATCHES_VER=${BASH_REMATCH[1]} || die
-}
-
-src_configure() {
- local mycmakeargs=(
- $(qt_feature pdfium qtpdf_build)
- $(qt_feature qml qtpdf_quick_build)
- $(qt_feature widgets qtpdf_widgets_build)
- $(usev pdfium -DQT_FEATURE_pdf_v8=ON)
-
- -DQT_FEATURE_qtwebengine_build=ON
- $(qt_feature qml qtwebengine_quick_build)
- $(qt_feature widgets qtwebengine_widgets_build)
-
- $(cmake_use_find_package designer Qt6Designer)
-
- $(qt_feature alsa webengine_system_alsa)
- $(qt_feature !bindist webengine_proprietary_codecs)
- $(qt_feature geolocation webengine_geolocation)
- $(qt_feature jumbo-build webengine_jumbo_build)
- $(qt_feature kerberos webengine_kerberos)
- $(qt_feature pulseaudio webengine_system_pulseaudio)
- $(qt_feature screencast webengine_webrtc_pipewire)
- $(qt_feature system-icu webengine_system_icu)
- $(qt_feature vaapi webengine_vaapi)
- $(qt_feature vulkan webengine_vulkan)
- -DQT_FEATURE_webengine_embedded_build=OFF
- -DQT_FEATURE_webengine_extensions=ON
- -DQT_FEATURE_webengine_ozone_x11=ON # needed, cannot do optional X yet
- -DQT_FEATURE_webengine_pepper_plugins=ON
- -DQT_FEATURE_webengine_printing_and_pdf=ON
- -DQT_FEATURE_webengine_spellchecker=ON
- -DQT_FEATURE_webengine_webchannel=ON
- -DQT_FEATURE_webengine_webrtc=ON
-
- # needs a modified ffmpeg to be usable, and even then it may not
- # cooperate with new major ffmpeg versions (bug #831487)
- -DQT_FEATURE_webengine_system_ffmpeg=OFF
-
- # use bundled re2 to avoid complications, may revisit
- # (see discussions in https://github.com/gentoo/gentoo/pull/32281)
- -DQT_FEATURE_webengine_system_re2=OFF
-
- # bundled is currently required when using vaapi (forced regardless)
- $(qt_feature !vaapi webengine_system_libvpx)
-
- # not necessary to pass these (default), but in case detection fails
- $(printf -- '-DQT_FEATURE_webengine_system_%s=ON ' \
- freetype glib harfbuzz lcms2 libevent libjpeg \
- libopenjpeg2 libpci libpng libtiff libwebp \
- libxml minizip opus poppler snappy zlib)
-
- # TODO: fixup gn cross, or package dev-qt/qtwebengine-gn with =ON
- -DINSTALL_GN=OFF
- )
-
- local mygnargs=(
- # prefer no dlopen where possible
- link_pulseaudio=true
- rtc_link_pipewire=true
- )
-
- if use !custom-cflags; then
- strip-flags # fragile
-
- if is-flagq '-g?(gdb)?([2-9])'; then #914475
- replace-flags '-g?(gdb)?([2-9])' -g1
- ewarn "-g2+/-ggdb* *FLAGS replaced with -g1 (enable USE=custom-cflags to keep)"
- fi
-
- # Built helpers segfault when using (at least) -march=armv8-a+pauth
- # (bug #920555, #920568 -- suspected gcc bug). For now, filter all
- # for simplicity. Override with USE=custom-cflags if wanted, please
- # report if above -march works again so can cleanup.
- use arm64 && tc-is-gcc && filter-flags '-march=*' '-mcpu=*'
- fi
-
- export NINJA NINJAFLAGS=$(get_NINJAOPTS)
- [[ ${NINJA_VERBOSE^^} == OFF ]] || NINJAFLAGS+=" -v"
-
- local -x EXTRA_GN="${mygnargs[*]} ${EXTRA_GN}"
- einfo "Extra Gn args: ${EXTRA_GN}"
-
- qt6-build_src_configure
-}
-
-src_compile() {
- # tentatively work around a possible (rare) race condition (bug #921680)
- cmake_build WebEngineCore_sync_all_public_headers
-
- cmake_src_compile
-}
-
-src_test() {
- if [[ ${EUID} == 0 ]]; then
- # almost every tests fail, so skip entirely
- ewarn "Skipping tests due to running as root (chromium refuses this configuration)."
- return
- fi
-
- local CMAKE_SKIP_TESTS=(
- # fails with network sandbox
- tst_loadsignals
- tst_qquickwebengineview
- tst_qwebengineglobalsettings
- tst_qwebengineview
- # certs verfication seems flaky and gives expiration warnings
- tst_qwebengineclientcertificatestore
- # test is misperformed when qtbase is built USE=-test?
- tst_touchinput
- )
-
- # prevent using the system's qtwebengine
- # (use glob to avoid unnecessary complications with arch dir)
- local resources=( "${BUILD_DIR}/src/core/${CMAKE_BUILD_TYPE}/"* )
- [[ -d ${resources[0]} ]] || die "invalid resources path: ${resources[0]}"
- local -x QTWEBENGINEPROCESS_PATH=${BUILD_DIR}${QT6_LIBEXECDIR#"${QT6_PREFIX}"}/QtWebEngineProcess
- local -x QTWEBENGINE_LOCALES_PATH=${resources[0]}/qtwebengine_locales
- local -x QTWEBENGINE_RESOURCES_PATH=${resources[0]}
-
- # random failures in several tests without -j1
- qt6-build_src_test -j1
-}
-
-src_install() {
- qt6-build_src_install
-
- [[ -e ${D}${QT6_LIBDIR}/libQt6WebEngineCore.so ]] || #601472
- die "${CATEGORY}/${PF} failed to build anything. Please report to https://bugs.gentoo.org/"
-}
-
-pkg_postinst() {
- # plugin may also be found in $HOME if provided by chrome or firefox
- use amd64 &&
- optfeature "Widevine DRM support (protected media playback)" \
- www-plugins/chrome-binary-plugins
-
- elog
- elog "This version of Qt WebEngine is based on Chromium version ${QT6_CHROMIUM_VER}, with"
- elog "additional security fixes up to ${QT6_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
- 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 "tl;dr your web browsing experience will be compromised."
-}
diff --git a/dev-qt/qtwebengine/qtwebengine-6.6.3.ebuild b/dev-qt/qtwebengine/qtwebengine-6.6.3.ebuild
deleted file mode 100644
index bce0eadcd0b9..000000000000
--- a/dev-qt/qtwebengine/qtwebengine-6.6.3.ebuild
+++ /dev/null
@@ -1,313 +0,0 @@
-# Copyright 2021-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..12} )
-PYTHON_REQ_USE="xml(+)"
-inherit check-reqs flag-o-matic multiprocessing optfeature
-inherit prefix python-any-r1 qt6-build toolchain-funcs
-
-DESCRIPTION="Library for rendering dynamic web content in Qt6 C++ and QML applications"
-SRC_URI+="
- https://dev.gentoo.org/~ionen/distfiles/${PN}-6.6-patchset-10.tar.xz
-"
-
-if [[ ${QT6_BUILD_TYPE} == release ]]; then
- KEYWORDS="amd64 arm64"
-fi
-
-IUSE="
- accessibility +alsa bindist custom-cflags designer geolocation
- +jumbo-build kerberos opengl pdfium pulseaudio qml screencast
- +system-icu vaapi vulkan +widgets
-"
-REQUIRED_USE="
- designer? ( qml widgets )
-"
-
-# dlopen: krb5, libva, pciutils, udev
-RDEPEND="
- app-arch/snappy:=
- dev-libs/expat
- dev-libs/libevent:=
- dev-libs/libxml2[icu]
- dev-libs/libxslt
- dev-libs/nspr
- dev-libs/nss
- ~dev-qt/qtbase-${PV}:6[accessibility=,gui,opengl=,vulkan?,widgets?]
- ~dev-qt/qtwebchannel-${PV}:6[qml?]
- media-libs/fontconfig
- media-libs/freetype
- media-libs/harfbuzz:=
- media-libs/lcms:2
- media-libs/libjpeg-turbo:=
- media-libs/libpng:=
- media-libs/libwebp:=
- media-libs/openjpeg:2=
- media-libs/opus
- media-libs/tiff:=
- sys-apps/dbus
- sys-apps/pciutils
- sys-libs/zlib:=[minizip]
- virtual/libudev
- x11-libs/libX11
- x11-libs/libXcomposite
- x11-libs/libXdamage
- x11-libs/libXext
- x11-libs/libXfixes
- x11-libs/libXrandr
- x11-libs/libXtst
- x11-libs/libxcb:=
- x11-libs/libxkbcommon
- x11-libs/libxkbfile
- alsa? ( media-libs/alsa-lib )
- designer? ( ~dev-qt/qttools-${PV}:6[designer] )
- geolocation? ( ~dev-qt/qtpositioning-${PV}:6 )
- kerberos? ( virtual/krb5 )
- pulseaudio? ( media-libs/libpulse[glib] )
- qml? ( ~dev-qt/qtdeclarative-${PV}:6 )
- screencast? (
- dev-libs/glib:2
- media-libs/mesa[gbm(+)]
- media-video/pipewire:=
- x11-libs/libdrm
- )
- system-icu? ( dev-libs/icu:= )
- vaapi? (
- media-libs/libva:=[X]
- media-libs/mesa[gbm(+)]
- x11-libs/libdrm
- )
- !vaapi? ( media-libs/libvpx:= )
- widgets? ( ~dev-qt/qtdeclarative-${PV}:6[widgets] )
-"
-DEPEND="
- ${RDEPEND}
- media-libs/libglvnd
- x11-base/xorg-proto
- x11-libs/libxshmfence
- screencast? ( media-libs/libepoxy[egl(+)] )
- pdfium? ( net-print/cups )
- test? (
- widgets? ( app-text/poppler[cxx(+)] )
- )
- vaapi? (
- vulkan? ( dev-util/vulkan-headers )
- )
-"
-BDEPEND="
- $(python_gen_any_dep 'dev-python/html5lib[${PYTHON_USEDEP}]')
- dev-util/gperf
- net-libs/nodejs[ssl]
- sys-devel/bison
- sys-devel/flex
-"
-
-PATCHES=( "${WORKDIR}"/patches/${PN} )
-[[ ${PV} == 6.9999 ]] || # too fragile for 6.9999, but keep for 6.x.9999
- PATCHES+=( "${WORKDIR}"/patches/chromium )
-
-PATCHES+=(
- # add extras as needed here, may merge in set if carries across versions
-)
-
-python_check_deps() {
- python_has_version "dev-python/html5lib[${PYTHON_USEDEP}]"
-}
-
-qtwebengine_check-reqs() {
- [[ ${MERGE_TYPE} == binary ]] && return
-
- if is-flagq '-g?(gdb)?([1-9])'; then #307861
- ewarn
- ewarn "Used CFLAGS/CXXFLAGS seem to enable debug info (-g or -ggdb), which"
- ewarn "is non-trivial with ${PN}. May experience extended compilation"
- ewarn "times, increased disk/memory usage, and potentially link failure."
- ewarn
- ewarn "If run into issues, please try disabling before reporting a bug."
- fi
-
- local CHECKREQS_DISK_BUILD=7G
- local CHECKREQS_DISK_USR=220M
-
- if ! has distcc ${FEATURES}; then #830661
- # assume ~2GB per job or 1.5GB if clang, possible with less
- # depending on free memory and *FLAGS, but prefer being safe as
- # users having OOM issues with qtwebengine been rather common
- tc-is-clang && : 15 || : 20
- local CHECKREQS_MEMORY=$(($(makeopts_jobs)*_/10))G
- fi
-
- check-reqs_${EBUILD_PHASE_FUNC} #570534
-}
-
-pkg_pretend() {
- qtwebengine_check-reqs
-}
-
-pkg_setup() {
- qtwebengine_check-reqs
- python-any-r1_pkg_setup
-}
-
-src_prepare() {
- qt6-build_src_prepare
-
- # for www-plugins/chrome-binary-plugins (widevine) search paths on prefix
- hprefixify -w /Gentoo/ src/core/content_client_qt.cpp
-
- # store chromium versions, only used in postinst for a warning
- local chromium
- mapfile -t chromium < CHROMIUM_VERSION || die
- [[ ${chromium[1]} =~ ^Based.*:[^0-9]+([0-9.]+$) ]] &&
- QT6_CHROMIUM_VER=${BASH_REMATCH[1]} || die
- [[ ${chromium[2]} =~ ^Patched.+:[^0-9]+([0-9.]+$) ]] &&
- QT6_CHROMIUM_PATCHES_VER=${BASH_REMATCH[1]} || die
-}
-
-src_configure() {
- local mycmakeargs=(
- $(qt_feature pdfium qtpdf_build)
- $(qt_feature qml qtpdf_quick_build)
- $(qt_feature widgets qtpdf_widgets_build)
- $(usev pdfium -DQT_FEATURE_pdf_v8=ON)
-
- -DQT_FEATURE_qtwebengine_build=ON
- $(qt_feature qml qtwebengine_quick_build)
- $(qt_feature widgets qtwebengine_widgets_build)
-
- $(cmake_use_find_package designer Qt6Designer)
-
- $(qt_feature alsa webengine_system_alsa)
- $(qt_feature !bindist webengine_proprietary_codecs)
- $(qt_feature geolocation webengine_geolocation)
- $(qt_feature jumbo-build webengine_jumbo_build)
- $(qt_feature kerberos webengine_kerberos)
- $(qt_feature pulseaudio webengine_system_pulseaudio)
- $(qt_feature screencast webengine_webrtc_pipewire)
- $(qt_feature system-icu webengine_system_icu)
- $(qt_feature vaapi webengine_vaapi)
- $(qt_feature vulkan webengine_vulkan)
- -DQT_FEATURE_webengine_embedded_build=OFF
- -DQT_FEATURE_webengine_extensions=ON
- -DQT_FEATURE_webengine_ozone_x11=ON # needed, cannot do optional X yet
- -DQT_FEATURE_webengine_pepper_plugins=ON
- -DQT_FEATURE_webengine_printing_and_pdf=ON
- -DQT_FEATURE_webengine_spellchecker=ON
- -DQT_FEATURE_webengine_webchannel=ON
- -DQT_FEATURE_webengine_webrtc=ON
-
- # needs a modified ffmpeg to be usable, and even then it may not
- # cooperate with new major ffmpeg versions (bug #831487)
- -DQT_FEATURE_webengine_system_ffmpeg=OFF
-
- # use bundled re2 to avoid complications, may revisit
- # (see discussions in https://github.com/gentoo/gentoo/pull/32281)
- -DQT_FEATURE_webengine_system_re2=OFF
-
- # bundled is currently required when using vaapi (forced regardless)
- $(qt_feature !vaapi webengine_system_libvpx)
-
- # not necessary to pass these (default), but in case detection fails
- $(printf -- '-DQT_FEATURE_webengine_system_%s=ON ' \
- freetype glib harfbuzz lcms2 libevent libjpeg \
- libopenjpeg2 libpci libpng libtiff libwebp \
- libxml minizip opus poppler snappy zlib)
-
- # TODO: fixup gn cross, or package dev-qt/qtwebengine-gn with =ON
- -DINSTALL_GN=OFF
- )
-
- local mygnargs=(
- # prefer no dlopen where possible
- link_pulseaudio=true
- rtc_link_pipewire=true
- )
-
- if use !custom-cflags; then
- strip-flags # fragile
-
- if is-flagq '-g?(gdb)?([2-9])'; then #914475
- replace-flags '-g?(gdb)?([2-9])' -g1
- ewarn "-g2+/-ggdb* *FLAGS replaced with -g1 (enable USE=custom-cflags to keep)"
- fi
-
- # Built helpers segfault when using (at least) -march=armv8-a+pauth
- # (bug #920555, #920568 -- suspected gcc bug). For now, filter all
- # for simplicity. Override with USE=custom-cflags if wanted, please
- # report if above -march works again so can cleanup.
- use arm64 && tc-is-gcc && filter-flags '-march=*' '-mcpu=*'
- fi
-
- export NINJA NINJAFLAGS=$(get_NINJAOPTS)
- [[ ${NINJA_VERBOSE^^} == OFF ]] || NINJAFLAGS+=" -v"
-
- local -x EXTRA_GN="${mygnargs[*]} ${EXTRA_GN}"
- einfo "Extra Gn args: ${EXTRA_GN}"
-
- qt6-build_src_configure
-}
-
-src_compile() {
- # tentatively work around a possible (rare) race condition (bug #921680)
- cmake_build WebEngineCore_sync_all_public_headers
-
- cmake_src_compile
-}
-
-src_test() {
- if [[ ${EUID} == 0 ]]; then
- # almost every tests fail, so skip entirely
- ewarn "Skipping tests due to running as root (chromium refuses this configuration)."
- return
- fi
-
- local CMAKE_SKIP_TESTS=(
- # fails with network sandbox
- tst_loadsignals
- tst_qquickwebengineview
- tst_qwebengineglobalsettings
- tst_qwebengineview
- # certs verfication seems flaky and gives expiration warnings
- tst_qwebengineclientcertificatestore
- # test is misperformed when qtbase is built USE=-test?
- tst_touchinput
- )
-
- # prevent using the system's qtwebengine
- # (use glob to avoid unnecessary complications with arch dir)
- local resources=( "${BUILD_DIR}/src/core/${CMAKE_BUILD_TYPE}/"* )
- [[ -d ${resources[0]} ]] || die "invalid resources path: ${resources[0]}"
- local -x QTWEBENGINEPROCESS_PATH=${BUILD_DIR}${QT6_LIBEXECDIR#"${QT6_PREFIX}"}/QtWebEngineProcess
- local -x QTWEBENGINE_LOCALES_PATH=${resources[0]}/qtwebengine_locales
- local -x QTWEBENGINE_RESOURCES_PATH=${resources[0]}
-
- # random failures in several tests without -j1
- qt6-build_src_test -j1
-}
-
-src_install() {
- qt6-build_src_install
-
- [[ -e ${D}${QT6_LIBDIR}/libQt6WebEngineCore.so ]] || #601472
- die "${CATEGORY}/${PF} failed to build anything. Please report to https://bugs.gentoo.org/"
-}
-
-pkg_postinst() {
- # plugin may also be found in $HOME if provided by chrome or firefox
- use amd64 &&
- optfeature "Widevine DRM support (protected media playback)" \
- www-plugins/chrome-binary-plugins
-
- elog
- elog "This version of Qt WebEngine is based on Chromium version ${QT6_CHROMIUM_VER}, with"
- elog "additional security fixes up to ${QT6_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
- 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 "tl;dr your web browsing experience will be compromised."
-}