summaryrefslogtreecommitdiff
path: root/dev-qt/qtwebengine
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-06-30 08:49:38 +0100
committerV3n3RiX <venerix@redcorelinux.org>2018-06-30 08:49:38 +0100
commitb2be182d49eea46686b5cf2680d457df61e89dc4 (patch)
treec66442ced2011c5ca81c3114cc51041e314c6d33 /dev-qt/qtwebengine
parente23cdda4dbb0c83b9e682ab5e916085a35203da5 (diff)
gentoo resync : 30.06.2018
Diffstat (limited to 'dev-qt/qtwebengine')
-rw-r--r--dev-qt/qtwebengine/Manifest14
-rw-r--r--dev-qt/qtwebengine/files/qtwebengine-5.11.0-fix-build-w-o-qtlocation.patch56
-rw-r--r--dev-qt/qtwebengine/files/qtwebengine-5.11.1-eglGetProcAddress-fallback-lookup.patch68
-rw-r--r--dev-qt/qtwebengine/files/qtwebengine-5.11.1-ffmpeg4.patch32
-rw-r--r--dev-qt/qtwebengine/files/qtwebengine-5.11.1-libxml2-disable-catalogs.patch46
-rw-r--r--dev-qt/qtwebengine/files/qtwebengine-5.11.1-nouveau-disable-gpu.patch98
-rw-r--r--dev-qt/qtwebengine/files/qtwebengine-5.9.6-gcc8.patch24
-rw-r--r--dev-qt/qtwebengine/metadata.xml2
-rw-r--r--dev-qt/qtwebengine/qtwebengine-5.11.1.ebuild (renamed from dev-qt/qtwebengine/qtwebengine-5.11.0_rc2.ebuild)16
-rw-r--r--dev-qt/qtwebengine/qtwebengine-5.9.6-r1.ebuild (renamed from dev-qt/qtwebengine/qtwebengine-5.9.6.ebuild)10
10 files changed, 300 insertions, 66 deletions
diff --git a/dev-qt/qtwebengine/Manifest b/dev-qt/qtwebengine/Manifest
index fbdaab226b8a..91663358c51f 100644
--- a/dev-qt/qtwebengine/Manifest
+++ b/dev-qt/qtwebengine/Manifest
@@ -1,12 +1,16 @@
-AUX qtwebengine-5.11.0-fix-build-w-o-qtlocation.patch 1897 BLAKE2B b72be2793ccfe5738136cf6456e7929905ed975101625b859b4eb298f37f6b28125df54edbe61d66689b824acd9aefc05cfba32d49c3bcce12710a2632574650 SHA512 ee2a483751e576b5508a8ae9c5afffde6df63b5431371abf71bdb3635c9dddfea1c918f43516ef78222ab9ea7bdd1fc804ee81662fbd8bf83ce544bcf0248e1d
+AUX qtwebengine-5.11.1-eglGetProcAddress-fallback-lookup.patch 2517 BLAKE2B 8339355528656eee5a86866017173aac5036db853c92679d83fa8036561af49cd980022099912c58a7384cd9f3b95e26b8adeb22683fc7848d20cb4e4352f616 SHA512 f6fc127d80e9db6cbe971bcdfb3ddf7ec44c083b9f30fb415ec4e04cb263b3d3087e7dfbf984ad33782ae0ea769e4038acb3f2777a2f164d9d81bb9ac319ffc9
+AUX qtwebengine-5.11.1-ffmpeg4.patch 1261 BLAKE2B 1c076c83921f223b6001d2bd71039637ffe7cab8c2f88c3ba6aa78a4ec6f8cbfc6fcdba6a89e8c8cb2d6e8f38dc06bcd28e9012931632d7af2d0157bdaaa1579 SHA512 64c64db96b1270d157c08fe572cde7e559700ced28b5b350a46ce1f1f0007a871f165547ef8a2d26b2269bd592b92c3aa2655618917c4f3c2d4f02165eef2c91
+AUX qtwebengine-5.11.1-libxml2-disable-catalogs.patch 1609 BLAKE2B c3683d221556c6051874c7a7d9d36caaebd86a9689682a19ea8f16df68ff9403a5d182a33ae5bc9b5efbb485bbdd335e81757642f1a71f562fb3ae2533af5d67 SHA512 284fbee4559a38a64e7426be272f4d4362613d8a55c6aef2123c12ddfef3f5c2cfb534bd11ba4c698b6c2bf29bc58fb4c6a06eef7bdf7e766d99673c2434dcf5
+AUX qtwebengine-5.11.1-nouveau-disable-gpu.patch 3710 BLAKE2B 880d63b7552973cf91bb1411f92ab3ee2d88013f144bdfcc6b5e1eec1d886bf76ab2166bc7600212701031da63a69ed2f5e03a4bc15549834a9a770ed68f35ef SHA512 a0b9592201d950ae97b92d5d0161ccc5bc675a37fbf657fe15ea0fe12870a370cf3ce54f5f033c073af23defded5c4ad0b43993c5b559024b285c5341b4673a0
AUX qtwebengine-5.9.3-icu-60.1.patch 664 BLAKE2B eb36ee21a907677d6599dfd7fa3960619492ca0616cace73e475ceba64b1f43631d6f81b303801d934dc6e4a71bf7dc4c4b43fc73d3d048ca51bd7ceea13bc68 SHA512 9652916b675ae2d94f761ebd1e13effbb7545d14bda130a61122d082ea7e826da1be1d22d9063f5e3a4a3b2bb3bc51edb7a98a51869ec8bb9db9089e4c31dd5b
AUX qtwebengine-5.9.3-paxmark-mksnapshot.patch 997 BLAKE2B e6fd8d6830ee2ca7b4e9c5586e52ce0ce577ddf6839d1de33a125606bc94bd483e4bef3008196f60e6c622074d23166a01b560dacfc5cec86e82dd360376627d SHA512 4a93fa1bdc7c4bbf22c68af4eff9473c4c9e39bc9cdc725441d5bdaec0521fd54db2b25f6900d4dc5d41a8cbeb04d5b420a85f334e3c18348d2e9dd1d9700dc3
AUX qtwebengine-5.9.4-jpeg-9-1.patch 2782 BLAKE2B eb52d5ab51ca47603f3cdf684e0d34bdb0e6441aed99603608866d41fbfaeb812129199d28f7d01763bd9a86cf0a4e9b46199ab1b227d5e0a3add1ad7bc43329 SHA512 85f305333741e88461c792e5ab1e65f3efaa762d60c52f6afd56c6344375e3467b3268c478d51de0340d99ad2ce3ea2aa5fad83364dfeed2d665244dc84c36ab
AUX qtwebengine-5.9.4-jpeg-9-2.patch 1295 BLAKE2B 93fdcc0a69fa39c85583dcacd3052b87897e4b8df045b81090524e84a90e259d7824521e71639eec5ef8cfd86c5823302846bd1a05dff3fb39d5b988544bf46b SHA512 57551a4859791431d921fc0f514332d408f43c05ead7919468727069e01b9cf3cfe70f5ca014af57b8842f8ba745d1abe5838fa271d354b775a520ef296bd6a5
-DIST qtwebengine-everywhere-src-5.11.0-rc2.tar.xz 233745356 BLAKE2B 12fd78886532b5422122fbccb5a3b1f61ee12d72e4868ba2340cd525320de017bfe13520d7ad405db396b40a2ad40152a9d12a97f900302b21a2ece100f72afa SHA512 b46733628b162cfdf47311597d09bed97048dfdddff7e6970c6e29a3b91f3f2a9641e680fdc77979ce5da6cf978a6495d245f57692c3f081caa8e896e89b0228
+AUX qtwebengine-5.9.6-gcc8.patch 1184 BLAKE2B aea72fb7563517f6c1f0f1330bad21ae71bbadc7b74e13b5c9280074ba5ae642be1df6c6e3014464f4b9aa26dd5620b5c5ef5b7139256c6a48fe58ed911e54e0 SHA512 21e79c6fc1575728d658c31bc68da66a5b9840c6fee7c442218ec8ac6009d5df1436bea931aa56439965987ec1ccdac32afce2b0a246c3d7bb2d0b0536717be5
+DIST qtwebengine-everywhere-src-5.11.1.tar.xz 233633572 BLAKE2B 06fb9d490377ebb4af937e0fa1688cdfeb9bfdadf6c80afeef609d20a76bdb7c4fed6c1042405b762e59b11d7b16369990c66a395ec1b6b48bbb1ea5b8cd47f2 SHA512 3e17f88b690c06f6d28c30d8d43588eaad9b0b214434b219c3d8fe11969cca515a68c731d176cf640940fd3db12e95de8f723d3717555504c5b95d135fa4a596
DIST qtwebengine-opensource-src-5.9.4.tar.xz 217337248 BLAKE2B 8a8c55dc08b06b07822fd53c780c1b7898516c8a7d021711f4ad5409630a131a90b1916c21d4e83e43dac773c4c73b4a1045baf96ed3c1d39f2d3d4c35c4a8c0 SHA512 c576e81cd9d202a4614c3eedd008bc41bd6212cd4d06e639469b843726be427f9e7a9551b3e604cbfee90f8dde22afb5bcd4905818ca65234e198078971d6ac9
DIST qtwebengine-opensource-src-5.9.6.tar.xz 216733460 BLAKE2B 6f6f4d89559899b7faa6c8a31187967e5dab357d63f6c096953bdffa9ff8e8299f22f3fe97bc5295093a89200b38f47b4b214ff91765f8da3a992c5058f06e1e SHA512 493e9b4fb7274253eca107bfbb6ff044068c78997299c48b62a504ba5511c4d3e2a7f481d986f34c75d035e4804b18f74bf6a4bf0daf0f6a5778abd8aa7ee68a
-EBUILD qtwebengine-5.11.0_rc2.ebuild 3198 BLAKE2B a723c9d8e6e79c10aac06689b15f7d6cf26860e1ab9049a6c8915af8ec5bdbb4c24e28bfca6e20c839b2728472889cc684ea30d49f670935f9e99974e0b3556d SHA512 fc4f40ddff12b971560bb70c919d856eef1bef7ecd876a646045a11524e5a1f7b1a19e07e8902b64392da1e657f330dcc6f20ee9883478525bd806a9cc5c4a93
+EBUILD qtwebengine-5.11.1.ebuild 3582 BLAKE2B 549dc4096feb46474d3b3bcd7381aac9ff424ba54eff602f1f113e22a6ed20d1c5743ee177e97ef7c91b9d32f130d8d271b321eb1aaf035456184218ca68be97 SHA512 895ac6f5f17c771baf1ee34fbbae5ced8b6b35867fbc10045c81a731056bb3325485307c16b2e598bd4b6f639330a706f0df73b4c6d127335ada645ff65c7a2d
EBUILD qtwebengine-5.9.4.ebuild 3228 BLAKE2B e9028450e30f0ba3d9756ed933b03182de04e38b4f465be7256c5d9d40c494a8b6e35758b9028e532347423123a814867e95a308511a1a6bd7fc0117b0b7b67c SHA512 ed99c3d3ff0f5b3bb49cd78bf5463852b42f44775d98b6fad0412b4ae0f768ea5cd7d96562cb7c261e6e3168c4413233b2ec5a973ef2d4c48e4492c99415ac57
-EBUILD qtwebengine-5.9.6.ebuild 3153 BLAKE2B a1a34a74db4cb93b6317d3049f7c8b2ef8c46295f1526c8fe319819a6df5f86cf6331f6974c4f34df783bc6a8b7c0bd19328c0642fbb40ae9706cbf36206b486 SHA512 aa5452590d4bc1f60b75cff9c1867b1478ad008f67afd0f0c6fe1b2bba9642a1e7f500697552fa01e571039e687eb5ce87818008671bd8cd940b0edc736e76a6
-MISC metadata.xml 948 BLAKE2B c3f99b9a59aeb8ad3754b0caafdd7132ee60142f41d992b0fecdb3ed0f396ec7903fb68bc2e734e127f4f722c4f0c6c8398f94685925296037684912ace05764 SHA512 999c61f79a077d37981fbac6420c6255ec6fea2397372182700d6c709fbd5029289173aaa910916ab9096109070afc47ad11f411cfd8d5bcaafb6c9bd6309a85
+EBUILD qtwebengine-5.9.6-r1.ebuild 3431 BLAKE2B 3e91c08644401b8c27a26e52fc6cba5d4c7246ec6e28c03832a785e9cfefeb0333d8c565d5220ff6b676e08a982d241a4f654942b42b843976f8f28407848511 SHA512 082cd41c48269b1427cb441e034118562aecac163596e3a49eced8e78d00e2994cb9e9c82fb81741af3a8bf78507abaea87864d1b605f872c79555b9c283714e
+MISC metadata.xml 1096 BLAKE2B a4b3f106b5a3ea4468e6b1b5b458b69f310b0a89b02ab6720d13a6df727686570385f065caf84e782a4043b9027823dbabc5ab67fec209db97139aad64aae1ed SHA512 e3864852c1da88f27b5d384ac2b63b2e93551db73242be03283dd2a23dc27835f05cd7ad8655053b24a06a7d402c3ba1142f49d3ae72a2cdd4cb778b09e8404a
diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.11.0-fix-build-w-o-qtlocation.patch b/dev-qt/qtwebengine/files/qtwebengine-5.11.0-fix-build-w-o-qtlocation.patch
deleted file mode 100644
index 2c5012ee34b4..000000000000
--- a/dev-qt/qtwebengine/files/qtwebengine-5.11.0-fix-build-w-o-qtlocation.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From 383ee1aa19b7b72c686d70f34bc9c377a51aaf5e Mon Sep 17 00:00:00 2001
-From: Allan Sandfeld Jensen <allan.jensen@qt.io>
-Date: Wed, 9 May 2018 13:23:17 +0200
-Subject: [PATCH] Fix build without qtlocation
-
-Change-Id: I81ac6fcf14563a6d093c51d93754d438992ee52a
----
- src/core/content_browser_client_qt.cpp | 10 +++++++++-
- 1 file changed, 9 insertions(+), 1 deletion(-)
-
-diff --git a/src/core/content_browser_client_qt.cpp b/src/core/content_browser_client_qt.cpp
-index 30ec43ca0..3878bd1bf 100644
---- a/src/core/content_browser_client_qt.cpp
-+++ b/src/core/content_browser_client_qt.cpp
-@@ -68,6 +68,7 @@
- #include "content/public/common/main_function_params.h"
- #include "content/public/common/service_names.mojom.h"
- #include "content/public/common/url_constants.h"
-+#include "device/geolocation/public/cpp/location_provider.h"
- #include "mojo/public/cpp/bindings/binding.h"
- #include "mojo/public/cpp/bindings/binding_set.h"
- #include "printing/features/features.h"
-@@ -93,7 +94,6 @@
- #include "certificate_error_controller_p.h"
- #include "desktop_screen_qt.h"
- #include "devtools_manager_delegate_qt.h"
--#include "location_provider_qt.h"
- #include "media_capture_devices_dispatcher.h"
- #include "net/network_delegate_qt.h"
- #include "net/qrc_protocol_handler_qt.h"
-@@ -123,6 +123,10 @@
- #include "renderer_host/pepper/pepper_host_factory_qt.h"
- #endif
-
-+#if defined(QT_USE_POSITIONING)
-+#include "location_provider_qt.h"
-+#endif
-+
- #include <QGuiApplication>
- #include <QLocale>
- #ifndef QT_NO_OPENGL
-@@ -737,7 +741,11 @@ bool ContentBrowserClientQt::CanCreateWindow(
-
- std::unique_ptr<device::LocationProvider> ContentBrowserClientQt::OverrideSystemLocationProvider()
- {
-+#if defined(QT_USE_POSITIONING)
- return base::WrapUnique(new LocationProviderQt());
-+#else
-+ return nullptr;
-+#endif
- }
-
- scoped_refptr<net::URLRequestContextGetter> GetSystemRequestContextOnUIThread()
---
-2.16.3
-
diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.11.1-eglGetProcAddress-fallback-lookup.patch b/dev-qt/qtwebengine/files/qtwebengine-5.11.1-eglGetProcAddress-fallback-lookup.patch
new file mode 100644
index 000000000000..4b2676faa6a0
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.11.1-eglGetProcAddress-fallback-lookup.patch
@@ -0,0 +1,68 @@
+From a66d4cd82972996d76edff52d17464c150dec6a6 Mon Sep 17 00:00:00 2001
+From: Samuli Piippo <samuli.piippo@qt.io>
+Date: Mon, 11 Jun 2018 16:16:55 +0300
+Subject: Add fallback lookup for eglGetProcAddress
+
+Use the GLContext to find address for eglGetProcAddress symbol, if it's
+not found with dlopen.
+
+Change-Id: I3f5330c21ecc9b66e5e376d50d3fc6965b227f85
+Reviewed-by: Michal Klocek <michal.klocek@qt.io>
+---
+ src/core/gl_context_qt.cpp | 11 +++++++++++
+ src/core/gl_context_qt.h | 1 +
+ src/core/gl_surface_qt.cpp | 4 ++++
+ 3 files changed, 16 insertions(+)
+
+diff --git a/src/core/gl_context_qt.cpp b/src/core/gl_context_qt.cpp
+index 9ed1db8b..95491709 100644
+--- a/src/core/gl_context_qt.cpp
++++ b/src/core/gl_context_qt.cpp
+@@ -155,6 +155,17 @@ QFunctionPointer GLContextHelper::getGlXGetProcAddress()
+ return get_proc_address;
+ }
+
++QFunctionPointer GLContextHelper::getEglGetProcAddress()
++{
++ QFunctionPointer get_proc_address = nullptr;
++#ifndef QT_NO_OPENGL
++ if (QOpenGLContext *context = qt_gl_global_share_context()) {
++ get_proc_address = context->getProcAddress("eglGetProcAddress");
++ }
++#endif
++ return get_proc_address;
++}
++
+ QT_END_NAMESPACE
+
+ #if defined(USE_OZONE) || defined(OS_WIN)
+diff --git a/src/core/gl_context_qt.h b/src/core/gl_context_qt.h
+index 8ffdad58..cecceabc 100644
+--- a/src/core/gl_context_qt.h
++++ b/src/core/gl_context_qt.h
+@@ -63,6 +63,7 @@ public:
+ static void* getXDisplay();
+ static void* getNativeDisplay();
+ static QFunctionPointer getGlXGetProcAddress();
++ static QFunctionPointer getEglGetProcAddress();
+ private:
+ Q_INVOKABLE bool initializeContextOnBrowserThread(gl::GLContext* context, gl::GLSurface* surface, gl::GLContextAttribs attribs);
+
+diff --git a/src/core/gl_surface_qt.cpp b/src/core/gl_surface_qt.cpp
+index 7e579246..4d38d7c2 100644
+--- a/src/core/gl_surface_qt.cpp
++++ b/src/core/gl_surface_qt.cpp
+@@ -227,6 +227,10 @@ bool InitializeStaticGLBindings(GLImplementation implementation) {
+ base::GetFunctionPointerFromNativeLibrary(library,
+ "eglGetProcAddress"));
+ if (!get_proc_address) {
++ QFunctionPointer address = GLContextHelper::getEglGetProcAddress();
++ get_proc_address = reinterpret_cast<gl::GLGetProcAddressProc>(address);
++ }
++ if (!get_proc_address) {
+ LOG(ERROR) << "eglGetProcAddress not found.";
+ base::UnloadNativeLibrary(library);
+ return false;
+--
+cgit v1.1-6-g87c4
+
diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.11.1-ffmpeg4.patch b/dev-qt/qtwebengine/files/qtwebengine-5.11.1-ffmpeg4.patch
new file mode 100644
index 000000000000..e9ef452a8d95
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.11.1-ffmpeg4.patch
@@ -0,0 +1,32 @@
+From a568ded46a678eac8139cb06595819c5ae874177 Mon Sep 17 00:00:00 2001
+From: Xiaohan Wang <xhwang@chromium.org>
+Date: Mon, 29 Jan 2018 21:28:28 +0000
+Subject: [PATCH] media: Increase DecoderBuffer::kPaddingSize to 64
+
+AV_INPUT_BUFFER_PADDING_SIZE has been increased to 64 in FFmpeg:
+https://github.com/FFmpeg/FFmpeg/commit/6e80079a2840ee407c5d126030eb1066bcbfdfc5
+
+BUG=777484
+
+Change-Id: I1bd68d1c1b0c3131f28d6e07e1444b89800c09db
+Reviewed-on: https://chromium-review.googlesource.com/889686
+Reviewed-by: Dale Curtis <dalecurtis@chromium.org>
+Commit-Queue: Xiaohan Wang <xhwang@chromium.org>
+Cr-Commit-Position: refs/heads/master@{#532593}
+---
+ src/3rdparty/chromium/media/base/decoder_buffer.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/3rdparty/chromium/media/base/decoder_buffer.h b/src/3rdparty/chromium/media/base/decoder_buffer.h
+index 0341e5784f725..60ffba708b0e5 100644
+--- a/src/3rdparty/chromium/media/base/decoder_buffer.h
++++ b/src/3rdparty/chromium/media/base/decoder_buffer.h
+@@ -37,7 +37,7 @@ class MEDIA_EXPORT DecoderBuffer
+ : public base::RefCountedThreadSafe<DecoderBuffer> {
+ public:
+ enum {
+- kPaddingSize = 32,
++ kPaddingSize = 64,
+ #if defined(ARCH_CPU_ARM_FAMILY)
+ kAlignmentSize = 16
+ #else
diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.11.1-libxml2-disable-catalogs.patch b/dev-qt/qtwebengine/files/qtwebengine-5.11.1-libxml2-disable-catalogs.patch
new file mode 100644
index 000000000000..8ac5b90b72c8
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.11.1-libxml2-disable-catalogs.patch
@@ -0,0 +1,46 @@
+--- a/config.tests/xml2/xml2.cpp
++++ b/config.tests/xml2/xml2.cpp
+@@ -27,9 +27,6 @@
+ ****************************************************************************/
+
+ #include <libxml/xmlversion.h>
+-#if defined(LIBXML_CATALOG_ENABLED)
+-#error "libxml catalog enabled"
+-#endif
+ #if !defined(LIBXML_ICU_ENABLED)
+ #error "libxml icu not enabled"
+ #endif
+--- a/src/3rdparty/chromium/third_party/WebKit/Source/core/xml/parser/XMLDocumentParser.cpp
++++ b/src/3rdparty/chromium/third_party/WebKit/Source/core/xml/parser/XMLDocumentParser.cpp
+@@ -28,6 +28,10 @@
+
+ #include <libxml/parser.h>
+ #include <libxml/parserInternals.h>
++#include <libxml/xmlversion.h>
++#if defined(LIBXML_CATALOG_ENABLED)
++#include <libxml/catalog.h>
++#endif
+ #include <libxslt/xslt.h>
+ #include <memory>
+ #include "core/css/StyleEngine.h"
+@@ -538,10 +542,6 @@
+ static bool ShouldAllowExternalLoad(const KURL& url) {
+ String url_string = url.GetString();
+
+- // libxml should not be configured with catalogs enabled, so it
+- // should not be asking to load default catalogs.
+- CHECK(!IsLibxmlDefaultCatalogFile(url));
+-
+ // The most common DTD. There isn't much point in hammering www.w3c.org by
+ // requesting this URL for every XHTML document.
+ if (url_string.StartsWithIgnoringASCIICase("http://www.w3.org/TR/xhtml"))
+@@ -646,6 +646,9 @@
+ if (did_init)
+ return;
+
++#if defined(LIBXML_CATALOG_ENABLED)
++ xmlCatalogSetDefaults(XML_CATA_ALLOW_NONE);
++#endif
+ xmlInitParser();
+ xmlRegisterInputCallbacks(MatchFunc, OpenFunc, ReadFunc, CloseFunc);
+ xmlRegisterOutputCallbacks(MatchFunc, OpenFunc, WriteFunc, CloseFunc);
diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.11.1-nouveau-disable-gpu.patch b/dev-qt/qtwebengine/files/qtwebengine-5.11.1-nouveau-disable-gpu.patch
new file mode 100644
index 000000000000..aaf3aae462ab
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.11.1-nouveau-disable-gpu.patch
@@ -0,0 +1,98 @@
+From: Antonio Larrosa <alarrosa@suse.com>
+Subject: Disable GPU when using nouveau or running on wayland
+References: boo#1005323, boo#1060990
+
+Qt WebEngine uses multi-threaded OpenGL, which nouveau does not support.
+It also crashes when running on wayland, the cause is not yet known.
+Work around these issues by not doing GPU-accelerated rendering in such
+cases.
+
+Index: qtwebengine-everywhere-src-5.11.0/src/core/web_engine_context.cpp
+===================================================================
+--- qtwebengine-everywhere-src-5.11.0.orig/src/core/web_engine_context.cpp
++++ qtwebengine-everywhere-src-5.11.0/src/core/web_engine_context.cpp
+@@ -100,6 +100,7 @@
+ #include <QOffscreenSurface>
+ #ifndef QT_NO_OPENGL
+ # include <QOpenGLContext>
++# include <QOpenGLFunctions>
+ #endif
+ #include <QQuickWindow>
+ #include <QStringList>
+@@ -178,6 +179,39 @@ void dummyGetPluginCallback(const std::v
+ }
+ #endif
+
++#ifndef QT_NO_OPENGL
++QString openGLVendor()
++{
++ QString vendor;
++
++ QOpenGLContext *oldContext = QOpenGLContext::currentContext();
++ QSurface *oldSurface = 0;
++ if (oldContext)
++ oldSurface = oldContext->surface();
++
++ QScopedPointer<QOffscreenSurface> surface( new QOffscreenSurface );
++ surface->create();
++ QOpenGLContext context;
++ if (!context.create()) {
++ qDebug() << "Error creating openGL context";
++ }
++ else if (!context.makeCurrent(surface.data())) {
++ qDebug() << "Error making openGL context current context";
++ } else {
++ const GLubyte *p;
++ QOpenGLFunctions *f = context.functions();
++ if ((p = f->glGetString(GL_VENDOR)))
++ vendor = QString::fromLatin1(reinterpret_cast<const char *>(p));
++ }
++
++ context.doneCurrent();
++ if (oldContext && oldSurface)
++ oldContext->makeCurrent(oldSurface);
++
++ return vendor;
++}
++#endif
++
+ } // namespace
+
+ namespace QtWebEngineCore {
+@@ -414,6 +448,27 @@ WebEngineContext::WebEngineContext()
+ const char *glType = 0;
+ #ifndef QT_NO_OPENGL
+
++ bool disableGpu = qEnvironmentVariableIsSet("QT_WEBENGINE_DISABLE_GPU");
++
++ if (!qEnvironmentVariableIsSet("QT_WEBENGINE_DISABLE_WAYLAND_WORKAROUND") && platform.startsWith("wayland", Qt::CaseInsensitive))
++ {
++ qWarning() << "Running on wayland. Qt WebEngine will disable usage of the GPU.\n"
++ "Note: you can set the QT_WEBENGINE_DISABLE_WAYLAND_WORKAROUND\n"
++ "environment variable before running this application, but this is \n"
++ "not recommended since this usually causes applications to crash.";
++ disableGpu = true;
++ }
++
++ if (!qEnvironmentVariableIsSet("QT_WEBENGINE_DISABLE_NOUVEAU_WORKAROUND") && openGLVendor() == QStringLiteral("nouveau"))
++ {
++ qWarning() << "Nouveau openGL driver detected. Qt WebEngine will disable usage of the GPU.\n"
++ "Note: you can set the QT_WEBENGINE_DISABLE_NOUVEAU_WORKAROUND\n"
++ "environment variable before running this application, but this is \n"
++ "not recommended since this usually causes applications to crash as\n"
++ "Nouveau openGL drivers don't support multithreaded rendering";
++ disableGpu = true;
++ }
++
+ bool tryGL =
+ !usingANGLE()
+ && (!usingSoftwareDynamicGL()
+@@ -424,7 +479,7 @@ WebEngineContext::WebEngineContext()
+ || enableWebGLSoftwareRendering
+ #endif
+ )
+- && !usingQtQuick2DRenderer();
++ && !usingQtQuick2DRenderer() && !disableGpu;
+
+ if (tryGL) {
+ if (qt_gl_global_share_context() && qt_gl_global_share_context()->isValid()) {
diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.9.6-gcc8.patch b/dev-qt/qtwebengine/files/qtwebengine-5.9.6-gcc8.patch
new file mode 100644
index 000000000000..ba6a49fd7488
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.9.6-gcc8.patch
@@ -0,0 +1,24 @@
+From: Fedora
+Subject: Fix build for 32-bit platforms
+
+Apparently not upstream, can't find this anywhere. So I assume Fedora is the actual source?
+https://src.fedoraproject.org/cgit/rpms/chromium.git/tree/chromium-66.0.3359.170-gcc8-alignof.patch
+
+diff -up chromium-66.0.3359.170/src/3rdparty/chromium/mojo/public/c/system/macros.h.gcc8-alignof chromium-66.0.3359.170/src/3rdparty/chromium/mojo/public/c/system/macros.h
+--- a/src/3rdparty/chromium/mojo/public/c/system/macros.h 2018-05-15 14:58:46.448912634 -0400
++++ b/src/3rdparty/chromium/mojo/public/c/system/macros.h 2018-05-15 14:58:52.041784613 -0400
+@@ -18,7 +18,13 @@
+ #endif
+
+ // Like the C++11 |alignof| operator.
+-#if __cplusplus >= 201103L
++#if defined(__GNUC__) && __GNUC__ >= 8
++// GCC 8 has changed the alignof operator to return the minimal alignment
++// required by the target ABI, instead of the preferred alignment.
++// This means that on 32-bit x86, it will return 4 instead of 8.
++// Use __alignof__ instead to avoid this.
++#define MOJO_ALIGNOF(type) __alignof__(type)
++#elif __cplusplus >= 201103L
+ #define MOJO_ALIGNOF(type) alignof(type)
+ #elif defined(__GNUC__)
+ #define MOJO_ALIGNOF(type) __alignof__(type)
diff --git a/dev-qt/qtwebengine/metadata.xml b/dev-qt/qtwebengine/metadata.xml
index d93362dc7bc2..cd7c273bf4c3 100644
--- a/dev-qt/qtwebengine/metadata.xml
+++ b/dev-qt/qtwebengine/metadata.xml
@@ -6,6 +6,8 @@
<name>Gentoo Qt Project</name>
</maintainer>
<use>
+ <flag name="designer">Install the QWebEngineView plugin used to add widgets in
+ <pkg>dev-qt/designer</pkg> forms that display web pages.</flag>
<flag name="geolocation">Enable physical position determination
via <pkg>dev-qt/qtpositioning</pkg></flag>
<flag name="pax_kernel">Enable building under a PaX enabled kernel</flag>
diff --git a/dev-qt/qtwebengine/qtwebengine-5.11.0_rc2.ebuild b/dev-qt/qtwebengine/qtwebengine-5.11.1.ebuild
index 82890439c645..495c4d06013e 100644
--- a/dev-qt/qtwebengine/qtwebengine-5.11.0_rc2.ebuild
+++ b/dev-qt/qtwebengine/qtwebengine-5.11.1.ebuild
@@ -11,7 +11,8 @@ if [[ ${QT5_BUILD_TYPE} == release ]]; then
KEYWORDS="~amd64 ~arm ~arm64 ~x86"
fi
-IUSE="alsa bindist geolocation pax_kernel pulseaudio +system-ffmpeg +system-icu widgets"
+IUSE="alsa bindist designer geolocation pax_kernel pulseaudio +system-ffmpeg +system-icu widgets"
+REQUIRED_USE="designer? ( widgets )"
RDEPEND="
app-arch/snappy:=
@@ -37,7 +38,7 @@ RDEPEND="
media-libs/libpng:0=
>=media-libs/libvpx-1.5:=[svc]
media-libs/libwebp:=
- media-libs/mesa
+ media-libs/mesa[egl]
media-libs/opus
net-libs/libsrtp:0=
sys-apps/dbus
@@ -58,6 +59,7 @@ RDEPEND="
x11-libs/libXScrnSaver
x11-libs/libXtst
alsa? ( media-libs/alsa-lib )
+ designer? ( ~dev-qt/designer-${PV} )
geolocation? ( ~dev-qt/qtpositioning-${PV} )
pulseaudio? ( media-sound/pulseaudio:= )
system-ffmpeg? ( media-video/ffmpeg:0= )
@@ -77,7 +79,13 @@ DEPEND="${RDEPEND}
pax_kernel? ( sys-apps/elfix )
"
-PATCHES+=( "${FILESDIR}/${PN}-5.11.0-fix-build-w-o-qtlocation.patch" )
+PATCHES+=(
+ "${FILESDIR}/${PN}-5.9.6-gcc8.patch" # bug 657124
+ "${FILESDIR}/${P}-libxml2-disable-catalogs.patch" # bug 653078
+ "${FILESDIR}/${P}-ffmpeg4.patch"
+ "${FILESDIR}/${P}-eglGetProcAddress-fallback-lookup.patch" # 5.11 branch
+ "${FILESDIR}/${P}-nouveau-disable-gpu.patch" # bug 609752
+)
src_prepare() {
use pax_kernel && PATCHES+=( "${FILESDIR}/${PN}-5.9.3-paxmark-mksnapshot.patch" )
@@ -88,6 +96,8 @@ src_prepare() {
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 geolocation positioning \
mkspecs/features/configure.prf \
src/core/core_chromium.pri \
diff --git a/dev-qt/qtwebengine/qtwebengine-5.9.6.ebuild b/dev-qt/qtwebengine/qtwebengine-5.9.6-r1.ebuild
index df6b40f68907..4c3fa54cc2cd 100644
--- a/dev-qt/qtwebengine/qtwebengine-5.9.6.ebuild
+++ b/dev-qt/qtwebengine/qtwebengine-5.9.6-r1.ebuild
@@ -11,7 +11,8 @@ if [[ ${QT5_BUILD_TYPE} == release ]]; then
KEYWORDS="~amd64 ~arm ~arm64 ~x86"
fi
-IUSE="alsa bindist geolocation pax_kernel pulseaudio +system-ffmpeg +system-icu widgets"
+IUSE="alsa bindist designer geolocation pax_kernel pulseaudio +system-ffmpeg +system-icu widgets"
+REQUIRED_USE="designer? ( widgets )"
RDEPEND="
app-arch/snappy:=
@@ -36,7 +37,7 @@ RDEPEND="
media-libs/libpng:0=
>=media-libs/libvpx-1.5:=[svc]
media-libs/libwebp:=
- media-libs/mesa
+ media-libs/mesa[egl]
media-libs/opus
net-libs/libsrtp:0=
sys-apps/dbus
@@ -58,6 +59,7 @@ RDEPEND="
x11-libs/libXScrnSaver
x11-libs/libXtst
alsa? ( media-libs/alsa-lib )
+ designer? ( ~dev-qt/designer-${PV} )
geolocation? ( ~dev-qt/qtpositioning-${PV} )
pulseaudio? ( media-sound/pulseaudio:= )
system-ffmpeg? ( media-video/ffmpeg:0= )
@@ -80,6 +82,8 @@ DEPEND="${RDEPEND}
PATCHES=(
"${FILESDIR}/${PN}-5.9.4-jpeg-9-1.patch"
"${FILESDIR}/${PN}-5.9.4-jpeg-9-2.patch"
+ "${FILESDIR}/${PN}-5.9.6-gcc8.patch" # bug 657124
+ "${FILESDIR}/${PN}-5.11.1-nouveau-disable-gpu.patch" # bug 609752
)
src_prepare() {
@@ -91,6 +95,8 @@ src_prepare() {
qt_use_disable_config alsa alsa src/core/config/linux.pri
qt_use_disable_config pulseaudio pulseaudio src/core/config/linux.pri
+ qt_use_disable_mod designer webenginewidgets src/plugins/plugins.pro
+
qt_use_disable_mod geolocation positioning \
mkspecs/features/configure.prf \
src/core/core_chromium.pri \