From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id D5AA91581D3 for ; Mon, 20 May 2024 08:49:10 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id EAD25E2A33; Mon, 20 May 2024 08:49:04 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id CD664E2A33 for ; Mon, 20 May 2024 08:49:04 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 5F0AD34072E for ; Mon, 20 May 2024 08:49:03 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 40ADB1B0E for ; Mon, 20 May 2024 08:49:00 +0000 (UTC) From: "Ionen Wolkens" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Ionen Wolkens" Message-ID: <1716194731.8703befb84a1d6f2d60141d341a0555c7cd286d6.ionen@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwebengine/ X-VCS-Repository: repo/gentoo X-VCS-Files: dev-qt/qtwebengine/Manifest dev-qt/qtwebengine/qtwebengine-6.7.1.ebuild X-VCS-Directories: dev-qt/qtwebengine/ X-VCS-Committer: ionen X-VCS-Committer-Name: Ionen Wolkens X-VCS-Revision: 8703befb84a1d6f2d60141d341a0555c7cd286d6 X-VCS-Branch: master Date: Mon, 20 May 2024 08:49:00 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: 3e4ac73e-7630-46f7-b51b-9a5377887475 X-Archives-Hash: b4dc71873ba014c1445ed8bc99c883d3 commit: 8703befb84a1d6f2d60141d341a0555c7cd286d6 Author: Ionen Wolkens gentoo org> AuthorDate: Mon May 20 08:25:13 2024 +0000 Commit: Ionen Wolkens gentoo org> CommitDate: Mon May 20 08:45:31 2024 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8703befb dev-qt/qtwebengine: add 6.7.1 Signed-off-by: Ionen Wolkens gentoo.org> dev-qt/qtwebengine/Manifest | 1 + dev-qt/qtwebengine/qtwebengine-6.7.1.ebuild | 330 ++++++++++++++++++++++++++++ 2 files changed, 331 insertions(+) diff --git a/dev-qt/qtwebengine/Manifest b/dev-qt/qtwebengine/Manifest index 1a11c149ae16..4bfa9d6ff21c 100644 --- a/dev-qt/qtwebengine/Manifest +++ b/dev-qt/qtwebengine/Manifest @@ -4,3 +4,4 @@ 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 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 '