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: Tue, 23 Feb 2021 20:27:22 +0000 (UTC)	[thread overview]
Message-ID: <1614111989.013acd8314e8c46f29aab2fdcc69339b205131af.asturm@gentoo> (raw)

commit:     013acd8314e8c46f29aab2fdcc69339b205131af
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sun Feb 21 15:36:51 2021 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Tue Feb 23 20:26:29 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=013acd83

dev-qt/qtwebengine: 5.15.2_p20210220 bump, no KEYWORDS for now

Snapshotted at:
Branch: 5.15
Commit: 0b5f110234256eabaa264189d9117069f2a2d144

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

V8-ICU-68 runtime fix:
Thanks-to: Stephan Hartmann <sultan <AT> gentoo.org>

Package-Manager: Portage-3.0.14, Repoman-3.0.2
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 dev-qt/qtwebengine/Manifest                        |   1 +
 ...ine-5.15.2_p20210220-chromium-87-v8-icu68.patch | 192 +++++++++++++++++++++
 .../qtwebengine-5.15.2_p20210220-disable-git.patch |  15 ++
 ...2_p20210220-fixup-CVE-2021-21149-backport.patch |  42 +++++
 .../qtwebengine-5.15.2_p20210220.ebuild            | 184 ++++++++++++++++++++
 5 files changed, 434 insertions(+)

diff --git a/dev-qt/qtwebengine/Manifest b/dev-qt/qtwebengine/Manifest
index 8e7d67bb1e8..ac12b6baffd 100644
--- a/dev-qt/qtwebengine/Manifest
+++ b/dev-qt/qtwebengine/Manifest
@@ -1,3 +1,4 @@
 DIST qtwebengine-5.15.2-ppc64.tar.xz 43868 BLAKE2B 97a2db64c688cc3ce178a6f00c29d3408221302c992bf0df31edd5c11f7cd978b92d9222201644991fca4fc0824b19d994a71c472732dbbdda3729bdd04a67f3 SHA512 835e7da4670cd823a1674052d64971bfd98d54edb6c5df8e9d09aa8103d496a4c16f0eb9d47c46db466e1c640e3326d4e43b284161129d648bfe693a902ec9cc
 DIST qtwebengine-5.15.2_p20210205.tar.xz 317422912 BLAKE2B a5cdbea0347db21b7fb981a358ad6419ea9cebef98f3d8fef3618b9010164986257cb87caef6a09648e463c3b864ce28e0591a2a783b8b5727b69d85b4b3289c SHA512 8e8b4918f7c3232aafd9f2d13655501e0d03d90514ef3a0b8319df1c8792aeaf7800f370cee15634c708ee14f86ef831749556cb6710578d03c3c2e468149be0
+DIST qtwebengine-5.15.2_p20210220.tar.xz 320087924 BLAKE2B 8db495e853948d8a47d04d34e8f2e99f33423874026d447fd119be885c74671f6566f8ba34f6e37ed5abcc347150213bef9575cc61b80ee8fbc4a005c2448df8 SHA512 7502a3d7df68764d1ed8953f8bd8a6def88344c56800bf32d1527133bceaf669f2ef6899dd2b4f23ca284ad5f0a9b086f1807f3a5f0a482b0744d1ba2391c480
 DIST qtwebengine-everywhere-src-5.15.2.tar.xz 280142544 BLAKE2B cf84a07292e69b5746d6575d65295b5bf4e054d448361f26e63cbe20ddd0773f60893e656d74b3b8c191e2829e09398a65896c8d96d3a7ef210ac1f21cd90e63 SHA512 de64c30819f5e2f8620c853ff22b2f9717641477aef4432a552a72d1d67ed62ed61572afee6de3f2c9f32dee28f4f786ffd63fc465aa42c0ae1e87ea28341756

diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210220-chromium-87-v8-icu68.patch b/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210220-chromium-87-v8-icu68.patch
new file mode 100644
index 00000000000..a6856975a66
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210220-chromium-87-v8-icu68.patch
@@ -0,0 +1,192 @@
+From b0a7f5691113534c2cf771f2dd3cece5e93bc7d4 Mon Sep 17 00:00:00 2001
+From: Frank Tang <ftang@chromium.org>
+Date: Tue, 03 Nov 2020 23:20:37 -0800
+Subject: [PATCH] Update to ICU68-1
+
+ICU68-1 change the output skeleton format. So we need to change
+resolvedOptions code for 68 migration.
+
+Chromium roll
+https://chromium-review.googlesource.com/c/chromium/src/+/2474093
+
+Bug: v8:10945
+Change-Id: I3b2c7fbe8abb22df8fa51287c498ca3245b8c55b
+Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2477431
+Commit-Queue: Frank Tang <ftang@chromium.org>
+Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
+Reviewed-by: Shu-yu Guo <syg@chromium.org>
+Cr-Commit-Position: refs/heads/master@{#70972}
+
+(ported to work with <ICU-68.1 and rebased chromium)
+---
+
+diff --git a/src/3rdparty/chromium/v8/src/objects/js-number-format.cc b/src/3rdparty/chromium/v8/src/objects/js-number-format.cc
+index 45b0eab..d18b133 100644
+--- a/src/3rdparty/chromium/v8/src/objects/js-number-format.cc
++++ b/src/3rdparty/chromium/v8/src/objects/js-number-format.cc
+@@ -389,17 +389,20 @@ Handle<String> CurrencySignString(Isolate* isolate,
+ Handle<String> UnitDisplayString(Isolate* isolate,
+                                  const icu::UnicodeString& skeleton) {
+   // Ex: skeleton as
+-  // "measure-unit/length-meter .### rounding-mode-half-up unit-width-full-name"
++  // <ICU-68.1:  "measure-unit/length-meter .### rounding-mode-half-up unit-width-full-name".
++  // >=ICU-68.1: "unit/length-meter .### rounding-mode-half-up unit-width-full-name"
+   if (skeleton.indexOf("unit-width-full-name") >= 0) {
+     return ReadOnlyRoots(isolate).long_string_handle();
+   }
+   // Ex: skeleton as
+-  // "measure-unit/length-meter .### rounding-mode-half-up unit-width-narrow".
++  // <ICU-68.1:  "measure-unit/length-meter .### rounding-mode-half-up unit-width-narrow".
++  // >=ICU-68.1: "unit/length-meter .### rounding-mode-half-up unit-width-narrow".
+   if (skeleton.indexOf("unit-width-narrow") >= 0) {
+     return ReadOnlyRoots(isolate).narrow_string_handle();
+   }
+   // Ex: skeleton as
+-  // "measure-unit/length-foot .### rounding-mode-half-up"
++  // <ICU-68.1:  "measure-unit/length-foot .### rounding-mode-half-up"
++  // >=ICU-68.1: "unit/length-foot .### rounding-mode-half-up"
+   return ReadOnlyRoots(isolate).short_string_handle();
+ }
+ 
+@@ -422,7 +425,8 @@ Notation NotationFromSkeleton(const icu::UnicodeString& skeleton) {
+     return Notation::COMPACT;
+   }
+   // Ex: skeleton as
+-  // "measure-unit/length-foot .### rounding-mode-half-up"
++  // <ICU-68.1:  "measure-unit/length-foot .### rounding-mode-half-up"
++  // >=ICU-68.1: "unit/length-foot .### rounding-mode-half-up"
+   return Notation::STANDARD;
+ }
+ 
+@@ -562,14 +566,23 @@ namespace {
+ 
+ // Ex: percent .### rounding-mode-half-up
+ // Special case for "percent"
+-// Ex: "measure-unit/length-kilometer per-measure-unit/duration-hour .###
+-// rounding-mode-half-up" should return "kilometer-per-unit".
+-// Ex: "measure-unit/duration-year .### rounding-mode-half-up" should return
+-// "year".
++// <ICU-68.1:
++//   Ex: "measure-unit/length-kilometer per-measure-unit/duration-hour .###
++//   rounding-mode-half-up" should return "kilometer-per-unit".
++//   Ex: "measure-unit/duration-year .### rounding-mode-half-up" should return
++// >=ICU-68.1:
++//   Ex: "unit/milliliter-per-acre .### rounding-mode-half-up"
++//   should return "milliliter-per-acre".
++//   Ex: "unit/year .### rounding-mode-half-up" should return
++//   "year".
+ std::string UnitFromSkeleton(const icu::UnicodeString& skeleton) {
+   std::string str;
+   str = skeleton.toUTF8String<std::string>(str);
++#if U_ICU_VERSION_MAJOR_NUM < 68
+   std::string search("measure-unit/");
++#else
++  std::string search("unit/");
++#endif
+   size_t begin = str.find(search);
+   if (begin == str.npos) {
+     // Special case for "percent".
+@@ -578,20 +591,41 @@ std::string UnitFromSkeleton(const icu::UnicodeString& skeleton) {
+     }
+     return "";
+   }
++#if U_ICU_VERSION_MAJOR_NUM < 68
+   // Skip the type (ex: "length").
+   // "measure-unit/length-kilometer per-measure-unit/duration-hour"
+   //                     b
+   begin = str.find("-", begin + search.size());
++#else
++  // Ex:
++  // "unit/acre .### rounding-mode-half-up"
++  //       b
++  // Ex:
++  // "unit/milliliter-per-acre .### rounding-mode-half-up"
++  //       b
++  begin += search.size();
++#endif
+   if (begin == str.npos) {
+     return "";
+   }
++#if U_ICU_VERSION_MAJOR_NUM < 68
+   begin++;  // Skip the '-'.
++#endif
+   // Find the end of the subtype.
+   size_t end = str.find(" ", begin);
+-  // "measure-unit/length-kilometer per-measure-unit/duration-hour"
+-  //                      b        e
++  // <ICU-68.1:
++  //   "measure-unit/length-kilometer per-measure-unit/duration-hour"
++  //                        b        e
++  // >=ICU-68.1:
++  //   Ex:
++  //   "unit/acre .### rounding-mode-half-up"
++  //         b   e
++  //   Ex:
++  //   "unit/milliliter-per-acre .### rounding-mode-half-up"
++  //         b                  e
+   if (end == str.npos) {
+     end = str.size();
++#if U_ICU_VERSION_MAJOR_NUM < 68
+     return str.substr(begin, end - begin);
+   }
+   // "measure-unit/length-kilometer per-measure-unit/duration-hour"
+@@ -625,17 +659,36 @@ std::string UnitFromSkeleton(const icu::UnicodeString& skeleton) {
+   // "measure-unit/length-kilometer per-measure-unit/duration-hour"
+   //                      [result ]                           b   e
+   return result + "-per-" + str.substr(begin, end - begin);
++#else
++  }
++  return str.substr(begin, end - begin);
++#endif
+ }
+ 
+ Style StyleFromSkeleton(const icu::UnicodeString& skeleton) {
+   if (skeleton.indexOf("currency/") >= 0) {
+     return Style::CURRENCY;
+   }
++#if U_ICU_VERSION_MAJOR_NUM < 68
+   if (skeleton.indexOf("measure-unit/") >= 0) {
+     if (skeleton.indexOf("scale/100") >= 0 &&
+         skeleton.indexOf("measure-unit/concentr-percent") >= 0) {
++#else
++  if (skeleton.indexOf("percent") >= 0) {
++    // percent precision-integer rounding-mode-half-up scale/100
++    if (skeleton.indexOf("scale/100") >= 0) {
++#endif
+       return Style::PERCENT;
++#if U_ICU_VERSION_MAJOR_NUM >= 68
++    } else {
++      return Style::UNIT;
++#endif
+     }
++#if U_ICU_VERSION_MAJOR_NUM >= 68
++  }
++  // Before ICU68: "measure-unit/", since ICU68 "unit/"
++  if (skeleton.indexOf("unit/") >= 0) {
++#endif
+     return Style::UNIT;
+   }
+   return Style::DECIMAL;
+diff --git a/src/3rdparty/chromium/v8/src/objects/js-relative-time-format.cc b/src/3rdparty/chromium/v8/src/objects/js-relative-time-format.cc
+index 267343aaae..64d56a1c12 100644
+--- a/src/3rdparty/chromium/v8/src/objects/js-relative-time-format.cc
++++ b/src/3rdparty/chromium/v8/src/objects/js-relative-time-format.cc
+@@ -195,9 +195,18 @@ MaybeHandle<JSRelativeTimeFormat> JSRelativeTimeFormat::New(
+     }
+   }
+ 
++#if U_ICU_VERSION_MAJOR_NUM < 68
+   icu::DecimalFormat* decimal_format =
+       static_cast<icu::DecimalFormat*>(number_format);
+   decimal_format->setMinimumGroupingDigits(-2);
++#else
++  if (number_format->getDynamicClassID() ==
++      icu::DecimalFormat::getStaticClassID()) {
++    icu::DecimalFormat* decimal_format =
++        static_cast<icu::DecimalFormat*>(number_format);
++    decimal_format->setMinimumGroupingDigits(-2);
++  }
++#endif
+ 
+   // Change UDISPCTX_CAPITALIZATION_NONE to other values if
+   // ECMA402 later include option to change capitalization.

diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210220-disable-git.patch b/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210220-disable-git.patch
new file mode 100644
index 00000000000..c31e8970eae
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210220-disable-git.patch
@@ -0,0 +1,15 @@
+generate_gni.sh: update_readme() runs git at the end of process, prevent it.
+
+Thanks-to: Georgy Yakovlev <gyakovlev@gentoo.org>
+
+--- a/src/3rdparty/chromium/third_party/libvpx/generate_gni.sh	2021-02-07 12:51:49.438514897 +0100
++++ b/src/3rdparty/chromium/third_party/libvpx/generate_gni.sh	2021-02-21 16:23:38.375724515 +0100
+@@ -519,8 +519,3 @@
+ 
+ gn format --in-place $BASE_DIR/BUILD.gn
+ gn format --in-place $BASE_DIR/libvpx_srcs.gni
+-
+-cd $BASE_DIR/$LIBVPX_SRC_DIR
+-update_readme
+-
+-cd $BASE_DIR

diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210220-fixup-CVE-2021-21149-backport.patch b/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210220-fixup-CVE-2021-21149-backport.patch
new file mode 100644
index 00000000000..eeca3627d0b
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210220-fixup-CVE-2021-21149-backport.patch
@@ -0,0 +1,42 @@
+From d9d9e606cb34b1b4ac0f44de132b1eb10763f1f6 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Michael=20Br=C3=BCning?= <michael.bruning@qt.io>
+Date: Tue, 23 Feb 2021 16:34:39 +0100
+Subject: [PATCH] FIXUP: [Backport] CVE-2021-21149: Stack overflow in Data
+ Transfer
+
+Const qualifier removed by another patch upstream had to be removed
+as well.
+
+Change-Id: I4823080661b815884c49ad9881e9958c1ba65251
+Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
+---
+ src/3rdparty/chromium/ui/gfx/x/connection.cc | 2 +-
+ src/3rdparty/chromium/ui/gfx/x/connection.h  | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/3rdparty/chromium/ui/gfx/x/connection.cc b/src/3rdparty/chromium/ui/gfx/x/connection.cc
+index 0afbac2c605..8152f4e06be 100644
+--- a/src/3rdparty/chromium/ui/gfx/x/connection.cc
++++ b/src/3rdparty/chromium/ui/gfx/x/connection.cc
+@@ -423,7 +423,7 @@ Event Connection::WaitForNextEvent() {
+   return Event();
+ }
+ 
+-bool Connection::HasPendingResponses() const {
++bool Connection::HasPendingResponses() {
+   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+   return HasNextEvent() || HasNextResponse();
+ }
+diff --git a/src/3rdparty/chromium/ui/gfx/x/connection.h b/src/3rdparty/chromium/ui/gfx/x/connection.h
+index 73a306a2ca1..0e3bbb66e53 100644
+--- a/src/3rdparty/chromium/ui/gfx/x/connection.h
++++ b/src/3rdparty/chromium/ui/gfx/x/connection.h
+@@ -124,7 +124,7 @@ class COMPONENT_EXPORT(X11) Connection : public XProto,
+   Event WaitForNextEvent();
+ 
+   // Are there any events, errors, or replies already buffered?
+-  bool HasPendingResponses() const;
++  bool HasPendingResponses();
+ 
+   // Dispatch any buffered events, errors, or replies.
+   void Dispatch(Delegate* delegate);

diff --git a/dev-qt/qtwebengine/qtwebengine-5.15.2_p20210220.ebuild b/dev-qt/qtwebengine/qtwebengine-5.15.2_p20210220.ebuild
new file mode 100644
index 00000000000..ff0e14bee9e
--- /dev/null
+++ b/dev-qt/qtwebengine/qtwebengine-5.15.2_p20210220.ebuild
@@ -0,0 +1,184 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python2_7 )
+QTVER=$(ver_cut 1-3)
+inherit multiprocessing python-any-r1 qt5-build
+
+DESCRIPTION="Library for rendering dynamic web content in Qt5 C++ and QML applications"
+
+if [[ ${QT5_BUILD_TYPE} == release ]]; then
+#	KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+	if [[ ${PV} == ${QTVER}_p* ]]; then
+		SRC_URI="https://dev.gentoo.org/~asturm/distfiles/${P}.tar.xz"
+		S="${WORKDIR}/${P}"
+	fi
+fi
+
+# patchset based on https://github.com/chromium-ppc64le releases
+SRC_URI+=" ppc64? ( https://dev.gentoo.org/~gyakovlev/distfiles/${PN}-5.15.2-ppc64.tar.xz )"
+
+IUSE="alsa bindist designer geolocation kerberos pulseaudio +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-${QTVER}
+	~dev-qt/qtdeclarative-${QTVER}
+	~dev-qt/qtgui-${QTVER}
+	~dev-qt/qtnetwork-${QTVER}
+	~dev-qt/qtprintsupport-${QTVER}
+	~dev-qt/qtwebchannel-${QTVER}[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/mesa[egl,X(+)]
+	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/libXrandr
+	x11-libs/libXrender
+	x11-libs/libXScrnSaver
+	x11-libs/libXtst
+	alsa? ( media-libs/alsa-lib )
+	designer? ( ~dev-qt/designer-${QTVER} )
+	geolocation? ( ~dev-qt/qtpositioning-${QTVER} )
+	kerberos? ( virtual/krb5 )
+	pulseaudio? ( media-sound/pulseaudio:= )
+	system-ffmpeg? ( media-video/ffmpeg:0= )
+	system-icu? ( >=dev-libs/icu-68.2:= )
+	widgets? (
+		~dev-qt/qtdeclarative-${QTVER}[widgets]
+		~dev-qt/qtwidgets-${QTVER}
+	)
+"
+DEPEND="${RDEPEND}
+	${PYTHON_DEPS}
+	>=app-arch/gzip-1.7
+	dev-util/gperf
+	dev-util/ninja
+	dev-util/re2c
+	net-libs/nodejs
+	sys-devel/bison
+"
+
+PATCHES=(
+	"${FILESDIR}/${PN}-5.15.0-disable-fatal-warnings.patch" # bug 695446
+	"${FILESDIR}/${P}-chromium-87-v8-icu68.patch" # bug 757606
+	"${FILESDIR}/${P}-fixup-CVE-2021-21149-backport.patch"
+	"${FILESDIR}/${P}-disable-git.patch" # downstream snapshot fix
+)
+
+src_prepare() {
+	if [[ ${PV} == ${QTVER}_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
+
+		# We need to make sure this integrates well into Qt 5.15.2 installation.
+		# Otherwise revdeps fail w/o heavy changes. This is the simplest way to do it.
+		sed -e "/^MODULE_VERSION/s/5.*/${QTVER}/" -i .qmake.conf || die
+	fi
+
+	# QTBUG-88657 - jumbo-build is broken
+	#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 630834 - pass appropriate options to ninja when building GN
+	sed -e "s/\['ninja'/&, '-j$(makeopts_jobs)', '-l$(makeopts_loadavg "${MAKEOPTS}" 0)', '-v'/" \
+		-i src/3rdparty/chromium/tools/gn/bootstrap/bootstrap.py || die
+
+	# 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
+
+	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 "${WORKDIR}/${PN}-ppc64"
+		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
+		./generate_gni.sh || die
+		popd >/dev/null || die
+	fi
+}
+
+src_configure() {
+	export NINJA_PATH=/usr/bin/ninja
+	export NINJAFLAGS="${NINJAFLAGS:--j$(makeopts_jobs) -l$(makeopts_loadavg "${MAKEOPTS}" 0) -v}"
+
+	local myqmakeargs=(
+		--
+		-no-build-qtpdf
+		-printing-and-pdf
+		-system-opus
+		-system-webp
+		$(usex alsa '-alsa' '-no-alsa')
+		$(usex bindist '-no-proprietary-codecs' '-proprietary-codecs')
+		$(usex geolocation '-webengine-geolocation' '-no-webengine-geolocation')
+		$(usex kerberos '-webengine-kerberos' '-no-webengine-kerberos')
+		$(usex pulseaudio '-pulseaudio' '-no-pulseaudio')
+		$(usex system-ffmpeg '-system-ffmpeg' '-qt-ffmpeg')
+		$(usex system-icu '-webengine-icu' '-no-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
+}


             reply	other threads:[~2021-02-23 20:27 UTC|newest]

Thread overview: 57+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-23 20:27 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
2023-01-08 21:45 Andreas Sturmlechner
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-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=1614111989.013acd8314e8c46f29aab2fdcc69339b205131af.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