summaryrefslogtreecommitdiff
path: root/dev-qt/qtwebengine/qtwebengine-6.5.2.ebuild
diff options
context:
space:
mode:
Diffstat (limited to 'dev-qt/qtwebengine/qtwebengine-6.5.2.ebuild')
-rw-r--r--dev-qt/qtwebengine/qtwebengine-6.5.2.ebuild275
1 files changed, 0 insertions, 275 deletions
diff --git a/dev-qt/qtwebengine/qtwebengine-6.5.2.ebuild b/dev-qt/qtwebengine/qtwebengine-6.5.2.ebuild
deleted file mode 100644
index 67509126a0c5..000000000000
--- a/dev-qt/qtwebengine/qtwebengine-6.5.2.ebuild
+++ /dev/null
@@ -1,275 +0,0 @@
-# Copyright 2021-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..11} )
-PYTHON_REQ_USE="xml(+)"
-inherit check-reqs estack flag-o-matic multiprocessing
-inherit prefix python-any-r1 qt6-build toolchain-funcs
-
-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-icu widgets
-"
-REQUIRED_USE="designer? ( widgets )"
-
-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}:6
- ~dev-qt/qtwebchannel-${PV}:6
- 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/openjpeg:2=
- 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}:6 )
- kerberos? ( virtual/krb5 )
- pulseaudio? ( media-libs/libpulse:= )
- screencast? ( media-video/pipewire:= )
- system-icu? ( >=dev-libs/icu-69.1:= )
- widgets? (
- ~dev-qt/qtbase-${PV}:6[widgets]
- )
-"
-DEPEND="
- ${RDEPEND}
- media-libs/libglvnd
-"
-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
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-5.15.10_p20230623-ffmpeg-binutils-2.41.patch
-)
-
-python_check_deps() {
- python_has_version "dev-python/html5lib[${PYTHON_USEDEP}]"
-}
-
-qtwebengine_check-reqs() {
- [[ ${MERGE_TYPE} == binary ]] && return
-
- # 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
-
- # (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
-}
-
-src_prepare() {
- qt6-build_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
-
- # 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() {
- 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=off # https://bugs.gentoo.org/831487
- -DQT_FEATURE_webengine_system_icu=$(usex system-icu)
- -DQT_FEATURE_webengine_system_libevent=on
- -DQT_FEATURE_webengine_system_libopenjpeg2=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
-
- # TODO: fix gn cross build or split + depend on dev-qt/qtwebengine-gn
- -DINSTALL_GN=off
- )
-
- qt6-build_src_configure
-}
-
-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_qwebengineview
- # certs verfication seems flaky and gives expiration warnings
- tst_qwebengineclientcertificatestore
- )
-
- # 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
-}
-
-pkg_postinst() {
- 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."
-}