summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-qt/qtwebengine')
-rw-r--r--dev-qt/qtwebengine/Manifest1
-rw-r--r--dev-qt/qtwebengine/files/qtwebengine-5.12.4-bump-V8-patchlevel.patch29
-rw-r--r--dev-qt/qtwebengine/files/qtwebengine-5.12.4-fix-arm-32bit-segfaults.patch30
-rw-r--r--dev-qt/qtwebengine/files/qtwebengine-5.12.4-fix-should_override_user_agent_in_new_tabs.patch33
-rw-r--r--dev-qt/qtwebengine/qtwebengine-5.12.4.ebuild136
5 files changed, 229 insertions, 0 deletions
diff --git a/dev-qt/qtwebengine/Manifest b/dev-qt/qtwebengine/Manifest
index 8771d3a1aeda..e595fee77b1e 100644
--- a/dev-qt/qtwebengine/Manifest
+++ b/dev-qt/qtwebengine/Manifest
@@ -1 +1,2 @@
DIST qtwebengine-everywhere-src-5.12.3.tar.xz 249275648 BLAKE2B 7d2404084a510c62b638dd09736130eeb40e494f9594339afc7df6628878aafed778a2785f6848702d51b3a4ef1dc8b333d5e5eeeeb8f930b4da839eb70bc175 SHA512 5b500ec6653aa6ed70e7826fe394f95c7932eaea5b1b48f6342a6f18294f75e4f954959fa2f42de0685097679389245d2bc80454e8eea202fa18a326d6d5a9a5
+DIST qtwebengine-everywhere-src-5.12.4.tar.xz 249328292 BLAKE2B e76d4f0c7081bd4ccbfb8a7eba6e0ef8280b4558bf545eb76bcf87ca03c79912e9e095f7bbdb30693f6ffc2dee61db7a4308cc072d92d78773082b3df238d0b2 SHA512 312c584222ed5e7183af2be8a4f42b84c7fed18c3d4b080bc32bed1bd5c7dc88c9752deaf7afc1b4d9fcd02c8c8a013d32d5be2e7635fec2c085cdbe81998de8
diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.12.4-bump-V8-patchlevel.patch b/dev-qt/qtwebengine/files/qtwebengine-5.12.4-bump-V8-patchlevel.patch
new file mode 100644
index 000000000000..90bcfc3027f4
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.12.4-bump-V8-patchlevel.patch
@@ -0,0 +1,29 @@
+From 6f3c15d2319ca11c2e31076292f5733baf64d991 Mon Sep 17 00:00:00 2001
+From: Allan Sandfeld Jensen <allan.jensen@qt.io>
+Date: Tue, 18 Jun 2019 10:29:48 +0200
+Subject: [PATCH 2/3] Bump V8 patch level
+
+Otherwise it might use outdated script caches.
+
+Change-Id: I839c6a11c3e1991f232972ad2d87fe6318256307
+Fixes: QTBUG-72532
+Reviewed-by: Michal Klocek <michal.klocek@qt.io>
+---
+ src/3rdparty/chromium/v8/include/v8-version.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/3rdparty/chromium/v8/include/v8-version.h b/src/3rdparty/chromium/v8/include/v8-version.h
+index 3e703039517..8dacc30c340 100644
+--- a/src/3rdparty/chromium/v8/include/v8-version.h
++++ b/src/3rdparty/chromium/v8/include/v8-version.h
+@@ -11,7 +11,7 @@
+ #define V8_MAJOR_VERSION 6
+ #define V8_MINOR_VERSION 9
+ #define V8_BUILD_NUMBER 427
+-#define V8_PATCH_LEVEL 31
++#define V8_PATCH_LEVEL 32
+
+ // Use 1 for candidates and 0 otherwise.
+ // (Boolean macro values are not supported by all preprocessors.)
+--
+2.21.0
diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.12.4-fix-arm-32bit-segfaults.patch b/dev-qt/qtwebengine/files/qtwebengine-5.12.4-fix-arm-32bit-segfaults.patch
new file mode 100644
index 000000000000..11b637422694
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.12.4-fix-arm-32bit-segfaults.patch
@@ -0,0 +1,30 @@
+From 2323dc924a3b107647f9e5f0bdbcfc44b9713195 Mon Sep 17 00:00:00 2001
+From: Michal Klocek <michal.klocek@qt.io>
+Date: Thu, 20 Jun 2019 09:09:53 +0200
+Subject: [PATCH 3/3] Fix segfaults with arm 32bit on metrics
+
+Gcc 6 seems to misscompile pair's template constructor
+in std::map emplace, use converting move constructor instead.
+
+Fixes: QTBUG-75097
+Change-Id: Ia50dc9eadb58f713432c0228a4a5aed73b275f32
+Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
+---
+ src/3rdparty/chromium/services/metrics/public/cpp/ukm_entry_builder_base.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/3rdparty/chromium/services/metrics/public/cpp/ukm_entry_builder_base.cc b/src/3rdparty/chromium/services/metrics/public/cpp/ukm_entry_builder_base.cc
+index 6685a5816db..5c5380e007e 100644
+--- a/src/3rdparty/chromium/services/metrics/public/cpp/ukm_entry_builder_base.cc
++++ b/src/3rdparty/chromium/services/metrics/public/cpp/ukm_entry_builder_base.cc
+@@ -23,7 +23,7 @@ UkmEntryBuilderBase::~UkmEntryBuilderBase() = default;
+
+ void UkmEntryBuilderBase::SetMetricInternal(uint64_t metric_hash,
+ int64_t value) {
+- entry_->metrics.emplace(metric_hash, value);
++ entry_->metrics.emplace(std::make_pair(metric_hash, value));
+ }
+
+ void UkmEntryBuilderBase::Record(UkmRecorder* recorder) {
+--
+2.21.0
diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.12.4-fix-should_override_user_agent_in_new_tabs.patch b/dev-qt/qtwebengine/files/qtwebengine-5.12.4-fix-should_override_user_agent_in_new_tabs.patch
new file mode 100644
index 000000000000..4e3ef674c32d
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.12.4-fix-should_override_user_agent_in_new_tabs.patch
@@ -0,0 +1,33 @@
+From e8eec84aac0dc626770a483d503f7b16ab0dbe70 Mon Sep 17 00:00:00 2001
+From: Allan Sandfeld Jensen <allan.jensen@qt.io>
+Date: Fri, 7 Jun 2019 14:18:23 +0200
+Subject: [PATCH 1/3] Fix changing should_override_user_agent_in_new_tabs_
+
+It wouldn't be updated if the custom user-agent didn't change.
+
+Change-Id: Ic31ef485e2cb84903f9b48cb9ad5f9f1a723eb92
+Reviewed-by: Michal Klocek <michal.klocek@qt.io>
+---
+ src/3rdparty/chromium/content/browser/web_contents/web_contents_impl.cc | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/3rdparty/chromium/content/browser/web_contents/web_contents_impl.cc b/src/3rdparty/chromium/content/browser/web_contents/web_contents_impl.cc
+index a2659263737..4c127f835d6 100644
+--- a/src/3rdparty/chromium/content/browser/web_contents/web_contents_impl.cc
++++ b/src/3rdparty/chromium/content/browser/web_contents/web_contents_impl.cc
+@@ -1230,11 +1230,11 @@ WebUI* WebContentsImpl::GetCommittedWebUI() const {
+
+ void WebContentsImpl::SetUserAgentOverride(const std::string& override,
+ bool override_in_new_tabs) {
++ should_override_user_agent_in_new_tabs_ = override_in_new_tabs;
++
+ if (GetUserAgentOverride() == override)
+ return;
+
+- should_override_user_agent_in_new_tabs_ = override_in_new_tabs;
+-
+ renderer_preferences_.user_agent_override = override;
+
+ // Send the new override string to the renderer.
+--
+2.21.0
diff --git a/dev-qt/qtwebengine/qtwebengine-5.12.4.ebuild b/dev-qt/qtwebengine/qtwebengine-5.12.4.ebuild
new file mode 100644
index 000000000000..1739c23e3a2d
--- /dev/null
+++ b/dev-qt/qtwebengine/qtwebengine-5.12.4.ebuild
@@ -0,0 +1,136 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python2_7 )
+inherit multiprocessing pax-utils 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"
+fi
+
+IUSE="alsa bindist designer jumbo-build pax_kernel 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-qt/qtcore-${PV}
+ ~dev-qt/qtdeclarative-${PV}
+ ~dev-qt/qtgui-${PV}
+ ~dev-qt/qtnetwork-${PV}
+ ~dev-qt/qtpositioning-${PV}
+ ~dev-qt/qtprintsupport-${PV}
+ ~dev-qt/qtwebchannel-${PV}[qml]
+ dev-libs/expat
+ dev-libs/libevent:=
+ dev-libs/libxml2[icu]
+ dev-libs/libxslt
+ dev-libs/re2:=
+ 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]
+ 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-${PV} )
+ pulseaudio? ( media-sound/pulseaudio:= )
+ system-ffmpeg? ( media-video/ffmpeg:0= )
+ system-icu? ( >=dev-libs/icu-60.2:= )
+ widgets? (
+ ~dev-qt/qtdeclarative-${PV}[widgets]
+ ~dev-qt/qtwidgets-${PV}
+ )
+"
+DEPEND="${RDEPEND}
+ ${PYTHON_DEPS}
+ >=app-arch/gzip-1.7
+ dev-util/gperf
+ dev-util/ninja
+ dev-util/re2c
+ sys-devel/bison
+ pax_kernel? ( sys-apps/elfix )
+"
+
+PATCHES+=(
+ "${FILESDIR}/${PN}-5.12.0-nouveau-disable-gpu.patch" # bug 609752
+ "${FILESDIR}/${P}-fix-should_override_user_agent_in_new_tabs.patch"
+ "${FILESDIR}/${P}-bump-V8-patchlevel.patch" # QTBUG-72532
+ "${FILESDIR}/${P}-fix-arm-32bit-segfaults.patch" # QTBUG-75097
+)
+
+src_prepare() {
+ use pax_kernel && PATCHES+=( "${FILESDIR}/${PN}-5.11.2-paxmark-mksnapshot.patch" )
+
+ if ! use jumbo-build; then
+ sed -i -e 's|use_jumbo_build=true|use_jumbo_build=false|' \
+ src/core/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/include |' || die
+
+ qt_use_disable_config alsa webengine-alsa src/core/config/linux.pri
+ qt_use_disable_config pulseaudio webengine-pulseaudio src/core/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
+}
+
+src_configure() {
+ export NINJA_PATH=/usr/bin/ninja
+ export NINJAFLAGS="${NINJAFLAGS:--j$(makeopts_jobs) -l$(makeopts_loadavg "${MAKEOPTS}" 0) -v}"
+
+ local myqmakeargs=(
+ --
+ -opus
+ -printing-and-pdf
+ -webp
+ $(usex alsa '-alsa' '')
+ $(usex bindist '' '-proprietary-codecs')
+ $(usex pulseaudio '-pulseaudio' '')
+ $(usex system-ffmpeg '-ffmpeg' '')
+ $(usex 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
+
+ pax-mark m "${D}${QT5_LIBEXECDIR}"/QtWebEngineProcess
+}