From bfd63d5b0e96ad32e0d0a8fe15512b6a9ac6fc9e Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Tue, 21 May 2024 00:05:36 +0100 Subject: gentoo auto-resync : 21:05:2024 - 00:05:35 --- dev-qt/qtwebengine/Manifest | 2 + dev-qt/qtwebengine/qtwebengine-6.7.1.ebuild | 330 ++++++++++++++++++++++++++++ 2 files changed, 332 insertions(+) create mode 100644 dev-qt/qtwebengine/qtwebengine-6.7.1.ebuild (limited to 'dev-qt/qtwebengine') diff --git a/dev-qt/qtwebengine/Manifest b/dev-qt/qtwebengine/Manifest index 9e1ad4e0178d..aa3d3becc1d9 100644 --- a/dev-qt/qtwebengine/Manifest +++ b/dev-qt/qtwebengine/Manifest @@ -9,9 +9,11 @@ DIST qtwebengine-5.15.13_p20240510.tar.xz 301422784 BLAKE2B b63acccb4740ddb3dd5c DIST qtwebengine-6.7-patchset-6.tar.xz 8140 BLAKE2B 773ee76ecf118ce45eb5dbebf4a574c3cff90f50cd87a469511688ed77db7a96012bec0dd03312bf2d366d709d95a2ac3432e9e0bd5a517b69a5bbd250a94420 SHA512 4db6abbd2a598f8194b9ba7035abad7228f6056fc5e5572329a9a0474f36135428b401edf5fa96e1ac866328d078b015fffd90949ef84f1cea9a1b39e5b9d5ff DIST qtwebengine-6.7-patchset-8.tar.xz 8320 BLAKE2B 88f31506865aeef02d6ad0c46dacd478f4c77330815648bf5377762b9f053f5a51b6426c1fbeef81fff5c3a9f4e853f8d51013d5df27fcd0ab0449ce369e18e5 SHA512 1d8e1f8e15a13c6f1675208ba1a329dfa335031e06577de39dc89464b40bd5cf7df7bce4f09f6e67a84c1c2f7aa1fbf6d2d94ea8c142ec5ea67bac8cef1b03b1 DIST qtwebengine-everywhere-src-6.7.0.tar.xz 550907592 BLAKE2B e7787ab0a8b68657ca318de1c855f23b50d9aa3bda1bfcaa4ecd274ff0afb283c092256c28b566a9882cc5dccdaf2e3312836f4da6d4a85850f3202176d77933 SHA512 92bc8ffc69c6e00d55b647b332878e9b632257e78c38e9b3d0a5f4506d5df3c507e8ffa5916db2547b89c4c2641447fd9031a80e780e143c7ed58a7285e06e64 +DIST qtwebengine-everywhere-src-6.7.1.tar.xz 550975920 BLAKE2B b0bbe1d62132bc75f830df7e40d885e976629e759de442702043c71b50a11e874d06c9450378c522894d5e29cc07e05111554758b5bb6aaeca59de1720d6550f SHA512 dc70048bf65ef610dd9cec7e233f1e5a387bde620e84ee5a8e517fc9c326220d58c80939454d55481ceff5ac5b82baaa9823255ea43eb4bb43e86beae68c7b8c EBUILD qtwebengine-5.15.13_p20240322.ebuild 7347 BLAKE2B b449a017794860e13345e2459841d1ffcd9d3d5f7eef91e9c546724e4622c59762943ac6e7f1e2b3fdd707adc9bad75476e25d93f81c549db4b7e3d8111fd43f SHA512 73e3d01e18bc17ad8cd210cc161a5aae9d7fd0dac6416ff59ed976252d7eedad25d2d2b44597f62a7fd9a105880ba4b00853753e131ae4c09aeb6e06cbb59cdd EBUILD qtwebengine-5.15.13_p20240510.ebuild 7456 BLAKE2B 5261c83507e90e4ba266c6af3b29a84213786b528d583be4eb08e1e9592e7f3209527a37774ed0a17d24285dcf67f6837c7ab0650e879465bf47df4eb05fe692 SHA512 e6760c27320b196af7fa732a97d1c2851fecfe1751b8a151b39921a2ca8aa4524334a9d1a5ad444b49de59c5f464bfccc52ed19e3c69d5323fefa57794f35087 EBUILD qtwebengine-6.7.0.ebuild 10306 BLAKE2B cb7b3d848635ae03b3709659697a62b4bb4ba0579bc5b25ba9c25e5bf80872c7f75a5b727db63158ae1769dddb02c72885a316825d06d829f52a32b392513b37 SHA512 2579a2708318bd066933e05e1016fe323c6697314c7f00bf79f5c9463ad8a88795f3970508e4be5275e40893c836a296b6b15681a084ef0dd996dc1762c36da9 +EBUILD qtwebengine-6.7.1.ebuild 10173 BLAKE2B b09ce8b13df0f3144b36f006113985073a1c5449a106261ebb5c176cc7e0c9149ffc99f006f8df43a34cdb5cdc4ab8f00ed604b95910a607bc029303961cee24 SHA512 ea5409b1a3bc3bbd6478d03ce94a80f1c315fb207ed002febb464ad8fb8c706746d4cfb0f3ce74061755633900751e4cc8c54053d78decf47fcf6c23ec0b01d8 EBUILD qtwebengine-6.7.9999.ebuild 10173 BLAKE2B b09ce8b13df0f3144b36f006113985073a1c5449a106261ebb5c176cc7e0c9149ffc99f006f8df43a34cdb5cdc4ab8f00ed604b95910a607bc029303961cee24 SHA512 ea5409b1a3bc3bbd6478d03ce94a80f1c315fb207ed002febb464ad8fb8c706746d4cfb0f3ce74061755633900751e4cc8c54053d78decf47fcf6c23ec0b01d8 EBUILD qtwebengine-6.9999.ebuild 10173 BLAKE2B b09ce8b13df0f3144b36f006113985073a1c5449a106261ebb5c176cc7e0c9149ffc99f006f8df43a34cdb5cdc4ab8f00ed604b95910a607bc029303961cee24 SHA512 ea5409b1a3bc3bbd6478d03ce94a80f1c315fb207ed002febb464ad8fb8c706746d4cfb0f3ce74061755633900751e4cc8c54053d78decf47fcf6c23ec0b01d8 MISC metadata.xml 1236 BLAKE2B 9a47d6cb2641ee53f22926095457c11f8da65a3705863a3ae0496d5bb656ac65acb744b5420deb95afee6ac9f141933b4f45690459e92c71089fe72727854a28 SHA512 9a640a386cc03804858fc02b24299896c03eff53a07db00862bab9d7dd259ca839e890921fcf222c8275cad16b418e423e7e485c03e74e01ab86979553251b4c diff --git a/dev-qt/qtwebengine/qtwebengine-6.7.1.ebuild b/dev-qt/qtwebengine/qtwebengine-6.7.1.ebuild new file mode 100644 index 000000000000..a5407eb45c18 --- /dev/null +++ b/dev-qt/qtwebengine/qtwebengine-6.7.1.ebuild @@ -0,0 +1,330 @@ +# Copyright 2021-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..13} ) +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.7-patchset-8.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 webdriver +widgets +" +REQUIRED_USE=" + designer? ( qml widgets ) +" + +# dlopen: krb5, libva, pciutils, udev +# gcc: for -latomic +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/qtdeclarative-${PV}:6[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/mesa[gbm(+)] + media-libs/openjpeg:2= + media-libs/opus + media-libs/tiff:= + sys-apps/dbus + sys-apps/pciutils + sys-devel/gcc:* + 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/libdrm + 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] ) + screencast? ( + dev-libs/glib:2 + media-video/pipewire:= + ) + system-icu? ( dev-libs/icu:= ) + vaapi? ( media-libs/libva:=[X] ) + !vaapi? ( media-libs/libvpx:= ) +" +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=8G + local CHECKREQS_DISK_USR=360M + + 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 webdriver webenginedriver) + $(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 gbm 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 + + # Workaround for build failure with clang-18 and -march=native without + # avx512. Does not affect e.g. -march=skylake, only native (bug #931623). + # TODO: drop this when <=llvm-18.1.5-r1 >=18 been gone for some time + use amd64 && tc-is-clang && is-flagq -march=native && + [[ $(clang-major-version) -ge 18 ]] && + has_version '