diff options
author | Andreas Sturmlechner <asturm@gentoo.org> | 2019-07-06 11:52:17 +0200 |
---|---|---|
committer | Andreas Sturmlechner <asturm@gentoo.org> | 2019-07-06 12:24:41 +0200 |
commit | 3b11b1c8844f17fd7f46fa10256b355317dc3a46 (patch) | |
tree | 3485743d2ab92535f66734aae79382c94e83149f /dev-qt/qtwebengine | |
parent | media-libs/avidemux-plugins: Drop 2.6.20 (diff) | |
download | gentoo-3b11b1c8844f17fd7f46fa10256b355317dc3a46.tar.gz gentoo-3b11b1c8844f17fd7f46fa10256b355317dc3a46.tar.bz2 gentoo-3b11b1c8844f17fd7f46fa10256b355317dc3a46.zip |
dev-qt: Add Qt 5.12.4
Package-Manager: Portage-2.3.68, Repoman-2.3.16
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
Diffstat (limited to 'dev-qt/qtwebengine')
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 +} |