public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Andreas Sturmlechner" <asturm@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwebengine/files/, dev-qt/qtwebengine/
Date: Sun,  8 Jan 2023 21:45:12 +0000 (UTC)	[thread overview]
Message-ID: <1673214298.b0246bf815604f1c99d0a57896a9ed6bd3e18ca9.asturm@gentoo> (raw)

commit:     b0246bf815604f1c99d0a57896a9ed6bd3e18ca9
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sun Jan  8 21:05:42 2023 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sun Jan  8 21:44:58 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b0246bf8

dev-qt/qtwebengine: add 5.15.8_p20230106

Snapshotted at:
Branch: 5.15
Commit: 38e0df6c6e5a1186b68df9b3d6f4cafbb211f2da

Submodule qtwebengine-chromium.git:
Branch: 87-based
Commit: ce9155cc73d8a94f1536b96e841c0aee2ff7d921

Patched with security patches up to Chromium version: 98.0.4758.102

Bug: https://bugs.gentoo.org/888181
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 dev-qt/qtwebengine/Manifest                        |   1 +
 ...gine-5.15.8_p20230106-v8-opcode-constexpr.patch |  43 ++++
 .../qtwebengine-5.15.8_p20230106-widevine.patch    |  82 ++++++
 .../qtwebengine-5.15.8_p20230106.ebuild            | 284 +++++++++++++++++++++
 4 files changed, 410 insertions(+)

diff --git a/dev-qt/qtwebengine/Manifest b/dev-qt/qtwebengine/Manifest
index 4fb15138c566..6f9f75c68502 100644
--- a/dev-qt/qtwebengine/Manifest
+++ b/dev-qt/qtwebengine/Manifest
@@ -2,5 +2,6 @@ DIST qtwebengine-5.15.2-r1-chromium87-ppc64le.tar.xz 28784 BLAKE2B aa101d14446f3
 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.7_p20221122.tar.xz 319323408 BLAKE2B f0f7d566e84a78bae964bf34ccb305d51ae3c0b73bea2b382edca373a5240ab63ce6d90a1f81c8e70fd1f1eb05f9985fccbdae36958afe9dd8fa9c95a72775e0 SHA512 42665d2d7d227aeb04b9f7af0728ea5b07978e221b858fd2855595ad588d709bacbea18ab9e0c3a023579e5e3b80cdf6d3ff721573631ee43626bd37fb424225
+DIST qtwebengine-5.15.8_p20230106.tar.xz 319368288 BLAKE2B cbf6abc941cc20d7568c458726ccd371d5c6838b93e034e79767a2f98a00576a89a81eeb2964fb549df5f347cb8927863c15bf082c6abb749ed90cbe69c9677c SHA512 9b65cb69945516ee57945ccf59b2f60182673e7a77e29418269a285c708a5dcd4ddfdd6c23e187280e68d7abee4e1dc2d00da6678393a44e88b88702db337615
 DIST qtwebengine-everywhere-src-6.4.0.tar.xz 440346968 BLAKE2B ffe9ad9f71034d14f016a71bf3e6034853d5c2b17a3ab3e8aefc1c3a79896363eb2ce41446f16e126ec313608619900ee7ac41750978c28f135df5bbc2e0be5c SHA512 a024781c675c60ca746abb6cd977872b51e3f4a7ff9f934450b82e9b19883c68c0c6c630c28997624f0caceed3c43e8b0658419ecb18cf08fa9081275bedd2a7
 DIST qtwebengine-everywhere-src-6.4.2.tar.xz 440538956 BLAKE2B df94e0e8e22d11614d0d35002c0e404e6735d75e7b43bef1bfd3d5e1230a997625fe8471d8a9154798cc1f9b9c296c2b697ec70fba0428d509d1352d6d3fafee SHA512 47b184a690d4fa5ccccaa3533903068df7b28825aeb16b7c75e3c7cc29fe0cfdf07501c5f0311926c22852f626b0cd59c836d44527261dc7d5c1efbf7e15439b

diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.15.8_p20230106-v8-opcode-constexpr.patch b/dev-qt/qtwebengine/files/qtwebengine-5.15.8_p20230106-v8-opcode-constexpr.patch
new file mode 100644
index 000000000000..b1fe0f69801c
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.15.8_p20230106-v8-opcode-constexpr.patch
@@ -0,0 +1,43 @@
+From a5cea1bfc38ceafc74f4baddd6ab94ea13757ef8 Mon Sep 17 00:00:00 2001
+From: Lei Zhang <thestig@chromium.org>
+Date: Fri, 21 May 2021 10:55:53 -0700
+Subject: [PATCH] Mark Node::opcode() and Operator::opcode() as constexpr.
+
+Without the explicit constexpr keyword, Clang seems to be able to treat
+these methods as constexpr, whereas MSVC will not.
+
+Bug: v8:11760
+Change-Id: I9f6492f38fb50dcaf7a4f09da0bd79c0da6a50eb
+Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2912916
+Reviewed-by: Clemens Backes <clemensb@chromium.org>
+Reviewed-by: Maya Lekova <mslekova@chromium.org>
+Commit-Queue: Lei Zhang <thestig@chromium.org>
+Cr-Commit-Position: refs/heads/master@{#74791}
+---
+
+diff --git a/src/3rdparty/chromium/v8/src/compiler/node.h b/src/3rdparty/chromium/v8/src/compiler/node.h
+index 37b45c4..57d49fe 100644
+--- a/src/3rdparty/chromium/v8/src/compiler/node.h
++++ b/src/3rdparty/chromium/v8/src/compiler/node.h
+@@ -50,7 +50,7 @@
+ 
+   const Operator* op() const { return op_; }
+ 
+-  IrOpcode::Value opcode() const {
++  constexpr IrOpcode::Value opcode() const {
+     DCHECK_GE(IrOpcode::kLast, op_->opcode());
+     return static_cast<IrOpcode::Value>(op_->opcode());
+   }
+diff --git a/src/3rdparty/chromium/v8/src/compiler/operator.h b/src/3rdparty/chromium/v8/src/compiler/operator.h
+index 4206e75..f641394 100644
+--- a/src/3rdparty/chromium/v8/src/compiler/operator.h
++++ b/src/3rdparty/chromium/v8/src/compiler/operator.h
+@@ -73,7 +73,7 @@
+   // A small integer unique to all instances of a particular kind of operator,
+   // useful for quick matching for specific kinds of operators. For fast access
+   // the opcode is stored directly in the operator object.
+-  Opcode opcode() const { return opcode_; }
++  constexpr Opcode opcode() const { return opcode_; }
+ 
+   // Returns a constant string representing the mnemonic of the operator,
+   // without the static parameters. Useful for debugging.

diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.15.8_p20230106-widevine.patch b/dev-qt/qtwebengine/files/qtwebengine-5.15.8_p20230106-widevine.patch
new file mode 100644
index 000000000000..dcfdeae3c6f3
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.15.8_p20230106-widevine.patch
@@ -0,0 +1,82 @@
+From b99042fb839021a0a3d2fe0cac7ac3899c4acbba Mon Sep 17 00:00:00 2001
+From: Allan Sandfeld Jensen <allan.jensen@qt.io>
+Date: Tue, 14 Jun 2022 14:19:24 +0200
+Subject: [PATCH] Find modern Chrome, Chromium and Firefox CDM modules
+
+The default download location has moved again, but we can now
+also use firefox CDMs.
+
+Pick-to: 6.4 6.3
+Task-number: QTBUG-104238
+Change-Id: I7ee581fa63e50df970acb31ea6d3f67d332aef59
+Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
+---
+ src/core/content_client_qt.cpp | 54 ++++++++++++++++++++++++++++++----
+ 1 file changed, 49 insertions(+), 5 deletions(-)
+
+diff --git a/src/core/content_client_qt.cpp b/src/core/content_client_qt.cpp
+index 6c914b7729..7167332d9b 100644
+--- a/src/core/content_client_qt.cpp
++++ b/src/core/content_client_qt.cpp
+@@ -250,15 +251,56 @@ static bool IsWidevineAvailable(base::FilePath *cdm_path,
+         }
+     }
+ #elif defined(Q_OS_LINUX)
+-        pluginPaths << QStringLiteral("/opt/google/chrome/libwidevinecdm.so") // Old Google Chrome
++        QList<QDir> potentialWidevineVersionDirs;
++
++        // Google Chrome widevine modules
++        QDir chromeWidevineDir(QDir::homePath() + "/.config/google-chrome/WidevineCdm");
++        if (chromeWidevineDir.exists())
++            potentialWidevineVersionDirs << chromeWidevineDir;
++
++        // Firefox widevine modules
++        QDir firefoxPotentialProfilesDir(QDir::homePath() + "/.mozilla/firefox");
++        if (firefoxPotentialProfilesDir.exists()) {
++            QFileInfoList firefoxProfileDirs = firefoxPotentialProfilesDir.entryInfoList(QDir::Dirs | QDir::NoDotAndDotDot, QDir::Name | QDir::Reversed);
++            for (const QFileInfo &info : firefoxProfileDirs) {
++                QDir widevinePluginsDir(info.absoluteFilePath() + "/gmp-widevinecdm");
++                if (widevinePluginsDir.exists())
++                    potentialWidevineVersionDirs << widevinePluginsDir;
++            }
++        }
++
++        // Chromium widevine modules (might not work with proprietary codecs)
++        QDir chromiumWidevineDir(QDir::homePath() + "/.config/chromium/WidevineCdm");
++        if (chromiumWidevineDir.exists())
++            potentialWidevineVersionDirs << chromiumWidevineDir;
++
++        // Search for widewine versions
++        for (const QDir &dir : potentialWidevineVersionDirs) {
++            QFileInfoList widevineVersionDirs = dir.entryInfoList(QDir::Dirs | QDir::NoDotAndDotDot, QDir::Name | QDir::Reversed);
++            // ### alternatively look up in the manifest.json and take the path from there.
+ #if Q_PROCESSOR_WORDSIZE == 8
+-                    << QStringLiteral("/opt/google/chrome/WidevineCdm/_platform_specific/linux_x64/libwidevinecdm.so")
++            const QString library = QLatin1String("/_platform_specific/linux_x64/libwidevinecdm.so");
+ #else
+-                    << QStringLiteral("/opt/google/chrome/WidevineCdm/_platform_specific/linux_x86/libwidevinecdm.so")
++            const QString library = QLatin1String("/_platform_specific/linux_x86/libwidevinecdm.so");
+ #endif
+-                    << QStringLiteral("/usr/lib/chromium/libwidevinecdm.so") // Arch
++            for (const QFileInfo &info : widevineVersionDirs) {
++                pluginPaths << info.absoluteFilePath() + "/libwidevinecdm.so";
++                pluginPaths << info.absoluteFilePath() + library;
++            }
++        }
++
++        // Fixed paths:
++        pluginPaths << QStringLiteral("/usr/lib/chromium/libwidevinecdm.so") // Arch
+                     << QStringLiteral("/usr/lib/chromium-browser/libwidevinecdm.so") // Ubuntu/neon
+-                    << QStringLiteral("/usr/lib64/chromium/libwidevinecdm.so"); // OpenSUSE style
++                    << QStringLiteral("/usr/lib64/chromium/libwidevinecdm.so") // OpenSUSE style
++#if Q_PROCESSOR_WORDSIZE == 8
++                    << QStringLiteral("/usr/lib64/chromium-browser/WidevineCdm/_platform_specific/linux_x64/libwidevinecdm.so") // Gentoo
++                    << QStringLiteral("/opt/google/chrome/WidevineCdm/_platform_specific/linux_x64/libwidevinecdm.so") // Old Google Chrome
++#else
++                    << QStringLiteral("/usr/lib/chromium-browser/WidevineCdm/_platform_specific/linux_x86/libwidevinecdm.so") // Gentoo
++                    << QStringLiteral("/opt/google/chrome/WidevineCdm/_platform_specific/linux_x86/libwidevinecdm.so") // Old Google Chrome
++#endif
++                    << QStringLiteral("/opt/google/chrome/libwidevinecdm.so"); // Older Google Chrome
+ #endif
+     }
+ 

diff --git a/dev-qt/qtwebengine/qtwebengine-5.15.8_p20230106.ebuild b/dev-qt/qtwebengine/qtwebengine-5.15.8_p20230106.ebuild
new file mode 100644
index 000000000000..90cfa552b3be
--- /dev/null
+++ b/dev-qt/qtwebengine/qtwebengine-5.15.8_p20230106.ebuild
@@ -0,0 +1,284 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9,10} )
+PYTHON_REQ_USE="xml(+)"
+inherit check-reqs estack flag-o-matic multiprocessing python-any-r1 qt5-build toolchain-funcs
+
+DESCRIPTION="Library for rendering dynamic web content in Qt5 C++ and QML applications"
+HOMEPAGE="https://www.qt.io/"
+
+if [[ ${QT5_BUILD_TYPE} == release ]]; then
+	KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+	if [[ ${PV} == ${QT5_PV}_p* ]]; then
+		SRC_URI="https://dev.gentoo.org/~asturm/distfiles/${P}.tar.xz"
+		S="${WORKDIR}/${P}"
+		QT5_BUILD_DIR="${S}_build"
+	fi
+else
+	EGIT_BRANCH="5.15"
+	EGIT_REPO_URI=(
+		"https://code.qt.io/qt/${QT5_MODULE}.git"
+		"https://github.com/qt/${QT5_MODULE}.git"
+	)
+	inherit git-r3
+fi
+
+# ppc64 patchset based on https://github.com/chromium-ppc64le releases
+SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-5.15.2_p20211019-jumbo-build.patch.bz2
+	https://dev.gentoo.org/~asturm/distfiles/${PN}-5.15.3_p20220406-patchset.tar.xz
+	ppc64? ( https://dev.gentoo.org/~gyakovlev/distfiles/${PN}-5.15.2-r1-chromium87-ppc64le.tar.xz )"
+
+IUSE="alsa bindist designer geolocation +jumbo-build kerberos pulseaudio screencast +system-ffmpeg +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/qtcore-${QT5_PV}*
+	=dev-qt/qtdeclarative-${QT5_PV}*
+	=dev-qt/qtgui-${QT5_PV}*
+	=dev-qt/qtnetwork-${QT5_PV}*
+	=dev-qt/qtprintsupport-${QT5_PV}*
+	=dev-qt/qtwebchannel-${QT5_PV}*[qml]
+	media-libs/fontconfig
+	media-libs/freetype
+	media-libs/harfbuzz:=
+	media-libs/lcms:2
+	media-libs/libjpeg-turbo:=
+	media-libs/libpng:0=
+	>=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/libXdamage
+	x11-libs/libXext
+	x11-libs/libXfixes
+	x11-libs/libXi
+	x11-libs/libxkbfile
+	x11-libs/libXrandr
+	x11-libs/libXrender
+	x11-libs/libXScrnSaver
+	x11-libs/libXtst
+	alsa? ( media-libs/alsa-lib )
+	designer? ( =dev-qt/designer-${QT5_PV}* )
+	geolocation? ( =dev-qt/qtpositioning-${QT5_PV}* )
+	kerberos? ( virtual/krb5 )
+	pulseaudio? ( media-libs/libpulse )
+	screencast? ( media-video/pipewire:= )
+	system-ffmpeg? ( media-video/ffmpeg:0= )
+	system-icu? ( >=dev-libs/icu-69.1:= )
+	widgets? (
+		=dev-qt/qtdeclarative-${QT5_PV}*[widgets]
+		=dev-qt/qtwidgets-${QT5_PV}*
+	)
+"
+DEPEND="${RDEPEND}
+	media-libs/libglvnd
+"
+BDEPEND="${PYTHON_DEPS}
+	dev-util/gperf
+	dev-util/ninja
+	dev-util/re2c
+	net-libs/nodejs[ssl]
+	sys-devel/bison
+	sys-devel/flex
+	ppc64? ( >=dev-util/gn-0.1807 )
+"
+
+PATCHES=(
+	"${FILESDIR}/${PN}-5.15.2-disable-fatal-warnings.patch" # downstream, bug 695446
+	"${FILESDIR}/${PN}-5.15.3_p20220505-extra-gn.patch" # downstream, bug 774186
+	"${FILESDIR}/${PN}-5.15.2_p20210224-chromium-87-v8-icu68.patch" # downstream, bug 757606
+	"${FILESDIR}/${PN}-5.15.2_p20210224-disable-git.patch" # downstream snapshot fix
+	"${FILESDIR}/${PN}-5.15.2_p20211015-pdfium-system-lcms2.patch" # by Debian, QTBUG-61746
+	"${FILESDIR}/${PN}-5.15.3_p20220329-clang14.patch" # by FreeBSD, bug 836604
+	"${FILESDIR}/${PN}-5.15.3_p20220406-gcc12-includes.patch" # by openSUSE, bug 840326
+	"${WORKDIR}/${PN}-5.15.2_p20211019-jumbo-build.patch" # bug 813957
+	"${WORKDIR}/${PN}-5.15.3_p20220406-patchset" # bug 698988 (py2--), pipewire-3
+	"${FILESDIR}/${P}-v8-opcode-constexpr.patch" # bug 889042
+	"${FILESDIR}/${P}-widevine.patch" # bug 888783
+)
+
+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
+}
+
+src_unpack() {
+	case ${QT5_BUILD_TYPE} in
+		live)    git-r3_src_unpack ;&
+		release) default ;;
+	esac
+}
+
+src_prepare() {
+	if [[ ${PV} == ${QT5_PV}_p* ]]; then
+		# This is made from git, and for some reason will fail w/o .git directories.
+		mkdir -p .git src/3rdparty/chromium/.git || die
+	fi
+	# We need to make sure this integrates well into Qt 5.15.3 installation.
+	# Otherwise revdeps fail w/o heavy changes. This is the simplest way to do it.
+	# See also: https://www.qt.io/blog/building-qt-webengine-against-other-qt-versions
+	sed -E "/^MODULE_VERSION/s/5\.15\.[0-9]+/${QT5_PV}/" -i .qmake.conf || die
+
+	# QTBUG-88657 - jumbo-build could still make trouble
+	if ! use jumbo-build; then
+		sed -i -e 's|use_jumbo_build=true|use_jumbo_build=false|' \
+			src/buildtools/config/common.pri || die
+	fi
+
+	# bug 620444 - ensure local headers are used
+	find "${S}" -type f -name "*.pr[fio]" | \
+		xargs 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
+
+	# src/3rdparty/gn fails with libc++ due to passing of `-static-libstdc++`
+	if tc-is-clang ; then
+		if has_version 'sys-devel/clang[default-libcxx(-)]' || has_version 'sys-devel/clang-common[default-libcxx(-)]' ; then
+			eapply "${FILESDIR}/${PN}-5.15.2_p20210521-clang-libc++.patch"
+		fi
+	fi
+
+	if use system-ffmpeg && has_version '>=media-video/ffmpeg-5'; then
+		eapply "${FILESDIR}/${PN}-5.15.3_p20220406-ffmpeg5.patch" # by Archlinux, bug 831437
+	fi
+
+	qt_use_disable_config alsa webengine-alsa src/buildtools/config/linux.pri
+	qt_use_disable_config pulseaudio webengine-pulseaudio src/buildtools/config/linux.pri
+
+	qt_use_disable_mod designer webenginewidgets src/plugins/plugins.pro
+
+	qt_use_disable_mod widgets widgets src/src.pro
+
+	qt5-build_src_prepare
+
+	# we need to generate ppc64 stuff because upstream does not ship it yet
+	if use ppc64; then
+		einfo "Patching for ppc64le and generating build files"
+		eapply "${FILESDIR}/qtwebengine-5.15.2-enable-ppc64.patch"
+		pushd src/3rdparty/chromium > /dev/null || die
+		eapply -p0 "${WORKDIR}/${PN}-ppc64le"
+		popd > /dev/null || die
+		pushd src/3rdparty/chromium/third_party/libvpx > /dev/null || die
+		mkdir -vp source/config/linux/ppc64 || die
+		mkdir -p source/libvpx/test || die
+		touch source/libvpx/test/test.mk || die
+		# clang-format is used to re-format sources
+		# but we'd rather make it a no-op than introduce a clang dependency
+		# https://bugs.gentoo.org/849458
+		clang-format() { : ; }
+		export -f clang-format || die
+		./generate_gni.sh || die
+		popd >/dev/null || die
+	fi
+}
+
+src_configure() {
+	export NINJA_PATH=/usr/bin/ninja
+	export NINJAFLAGS="${NINJAFLAGS:--j$(makeopts_jobs "${MAKEOPTS}" 999) -l$(makeopts_loadavg "${MAKEOPTS}" 0) -v}"
+
+	local myqmakeargs=(
+		--
+		-no-build-qtpdf
+		-printing-and-pdf
+		-system-opus
+		-system-webp
+		$(qt_use alsa)
+		$(qt_use !bindist proprietary-codecs)
+		$(qt_use geolocation webengine-geolocation)
+		$(qt_use kerberos webengine-kerberos)
+		$(qt_use pulseaudio)
+		$(usex screencast -webengine-webrtc-pipewire '')
+		$(usex system-ffmpeg -system-ffmpeg -qt-ffmpeg)
+		$(qt_use system-icu webengine-icu)
+	)
+	qt5-build_src_configure
+}
+
+src_install() {
+	qt5-build_src_install
+
+	# bug 601472
+	if [[ ! -f ${D}${QT5_LIBDIR}/libQt5WebEngine.so ]]; then
+		die "${CATEGORY}/${PF} failed to build anything. Please report to https://bugs.gentoo.org/"
+	fi
+}
+
+pkg_preinst() {
+	elog "This version of Qt WebEngine is based on Chromium version 87.0.4280.144,"
+	elog "with additional security fixes from newer versions. 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."
+}


             reply	other threads:[~2023-01-08 21:45 UTC|newest]

Thread overview: 57+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-08 21:45 Andreas Sturmlechner [this message]
  -- strict thread matches above, loose matches on Subject: below --
2025-03-31 15:57 [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwebengine/files/, dev-qt/qtwebengine/ Ionen Wolkens
2025-03-04 15:47 Ionen Wolkens
2024-12-04 12:19 Ionen Wolkens
2024-12-03  8:58 Ionen Wolkens
2024-12-02  7:23 Ionen Wolkens
2024-11-18  9:06 Ionen Wolkens
2024-10-30  2:55 Sam James
2024-09-13  2:45 Ionen Wolkens
2024-08-09  9:27 Ionen Wolkens
2024-07-29 20:20 Sam James
2024-05-23 16:04 Andreas Sturmlechner
2024-04-29 23:51 Sam James
2024-04-17  0:15 Ionen Wolkens
2023-12-19 20:33 Ionen Wolkens
2023-11-22 12:46 Ionen Wolkens
2023-11-21 22:36 Andreas Sturmlechner
2023-11-06 18:11 Andreas Sturmlechner
2023-08-10  3:53 Sam James
2023-08-04 12:35 Sam James
2023-07-26 13:31 Jimi Huotari
2023-06-10 13:33 Jimi Huotari
2023-06-10 13:33 Jimi Huotari
2023-04-26  3:54 Ionen Wolkens
2023-04-22 18:09 Andreas Sturmlechner
2023-03-27 12:51 Sam James
2022-08-02 21:51 Sam James
2022-04-05 16:35 Andreas Sturmlechner
2022-04-05 16:35 Andreas Sturmlechner
2021-12-28 12:19 Andreas Sturmlechner
2021-12-25  0:10 Andreas Sturmlechner
2021-12-14 18:13 Andreas Sturmlechner
2021-11-14 19:53 Andreas Sturmlechner
2021-10-31  3:06 Sam James
2021-10-09 22:24 Sam James
2021-09-19 13:42 Andreas Sturmlechner
2021-09-14 16:27 Andreas Sturmlechner
2021-07-22  9:35 Andreas Sturmlechner
2021-05-17 21:15 Andreas Sturmlechner
2021-04-20 22:23 Andreas Sturmlechner
2021-04-06 21:34 Andreas Sturmlechner
2021-03-24  0:50 Georgy Yakovlev
2021-03-12 20:08 Andreas Sturmlechner
2021-02-26 21:19 Andreas Sturmlechner
2021-02-23 20:27 Andreas Sturmlechner
2021-01-02  1:23 Andreas Sturmlechner
2020-11-05 22:51 Andreas Sturmlechner
2020-08-19 19:39 Andreas Sturmlechner
2020-05-17  8:18 Andreas Sturmlechner
2020-05-14 17:21 Andreas Sturmlechner
2020-04-29 20:44 Lars Wendler
2018-06-27 19:00 Andreas Sturmlechner
2018-02-07  2:04 Andreas Sturmlechner
2017-12-10  1:43 Michael Palimaka
2017-01-31  5:14 Davide Pesavento
2016-12-06  6:54 Michael Palimaka
2016-12-01 14:03 Michael Palimaka

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1673214298.b0246bf815604f1c99d0a57896a9ed6bd3e18ca9.asturm@gentoo \
    --to=asturm@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox