summaryrefslogtreecommitdiff
path: root/dev-qt/qtwebengine
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
committerV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
commit8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 (patch)
tree7681bbd4e8b05407772df40a4bf04cbbc8afc3fa /dev-qt/qtwebengine
parent30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff)
gentoo resync : 14.07.2018
Diffstat (limited to 'dev-qt/qtwebengine')
-rw-r--r--dev-qt/qtwebengine/Manifest16
-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.3-icu-60.1.patch16
-rw-r--r--dev-qt/qtwebengine/files/qtwebengine-5.9.3-paxmark-mksnapshot.patch41
-rw-r--r--dev-qt/qtwebengine/files/qtwebengine-5.9.4-jpeg-9-1.patch70
-rw-r--r--dev-qt/qtwebengine/files/qtwebengine-5.9.4-jpeg-9-2.patch46
-rw-r--r--dev-qt/qtwebengine/files/qtwebengine-5.9.6-gcc8.patch24
-rw-r--r--dev-qt/qtwebengine/metadata.xml29
-rw-r--r--dev-qt/qtwebengine/qtwebengine-5.11.1.ebuild137
-rw-r--r--dev-qt/qtwebengine/qtwebengine-5.9.4.ebuild127
-rw-r--r--dev-qt/qtwebengine/qtwebengine-5.9.6-r1.ebuild130
14 files changed, 880 insertions, 0 deletions
diff --git a/dev-qt/qtwebengine/Manifest b/dev-qt/qtwebengine/Manifest
new file mode 100644
index 000000000000..7f30d48b07a2
--- /dev/null
+++ b/dev-qt/qtwebengine/Manifest
@@ -0,0 +1,16 @@
+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
+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.1.ebuild 3561 BLAKE2B 5da8a844634a2e22317fcc70f4a69fe659d8c545016087b267f1cec7a831a5e400068fc7fd08183b85ad980dd8f17d07e00e6bca1ab3a43b3e16b5cca0c99baf SHA512 feda1a965eeb27cb5ed4af78807a0cec6c39ddde4379f70c06baa4deb65e6c5bfdfded950c892028afa746ed975fd2f2fa6e53abef2e2a95f9e8562ac4e2285c
+EBUILD qtwebengine-5.9.4.ebuild 3228 BLAKE2B e9028450e30f0ba3d9756ed933b03182de04e38b4f465be7256c5d9d40c494a8b6e35758b9028e532347423123a814867e95a308511a1a6bd7fc0117b0b7b67c SHA512 ed99c3d3ff0f5b3bb49cd78bf5463852b42f44775d98b6fad0412b4ae0f768ea5cd7d96562cb7c261e6e3168c4413233b2ec5a973ef2d4c48e4492c99415ac57
+EBUILD qtwebengine-5.9.6-r1.ebuild 3412 BLAKE2B 028878c71afaa96e3b3e138e145bdcbd946d6f6b2b0c196031141848c7bf648a28741d3a23a8f6a6e960e354a574c858a5d9913019fab44e5045d66f025c2149 SHA512 16df5dc2a5e8b8127a0fbd4e183de93b1bcecc248f0683b7b07e27663aceca238a8047f84e6d89235a364d8d23b3f867aa29ef26a987705250990a3b1f515043
+MISC metadata.xml 1096 BLAKE2B a4b3f106b5a3ea4468e6b1b5b458b69f310b0a89b02ab6720d13a6df727686570385f065caf84e782a4043b9027823dbabc5ab67fec209db97139aad64aae1ed SHA512 e3864852c1da88f27b5d384ac2b63b2e93551db73242be03283dd2a23dc27835f05cd7ad8655053b24a06a7d402c3ba1142f49d3ae72a2cdd4cb778b09e8404a
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.3-icu-60.1.patch b/dev-qt/qtwebengine/files/qtwebengine-5.9.3-icu-60.1.patch
new file mode 100644
index 000000000000..9866ab929194
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.9.3-icu-60.1.patch
@@ -0,0 +1,16 @@
+Fix build with >=ICU-60
+
+Bug: https://bugs.gentoo.org/639220
+Bug: https://bugreports.qt.io/browse/QTBUG-64925
+
+--- a/src/3rdparty/chromium/components/url_formatter/url_formatter.cc
++++ b/src/3rdparty/chromium/components/url_formatter/url_formatter.cc
+@@ -488,7 +488,7 @@
+ // are added to the allowed set. The list has to be updated when a new
+ // version of Unicode is released. The current version is 9.0.0 and ICU 60
+ // will have Unicode 10.0 data.
+-#if U_ICU_VERSION_MAJOR_NUM < 60
++#if U_ICU_VERSION_MAJOR_NUM < 60 || defined(TOOLKIT_QT)
+ const icu::UnicodeSet aspirational_scripts(
+ icu::UnicodeString(
+ // Unified Canadian Syllabics
diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.9.3-paxmark-mksnapshot.patch b/dev-qt/qtwebengine/files/qtwebengine-5.9.3-paxmark-mksnapshot.patch
new file mode 100644
index 000000000000..ecedaf62f344
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.9.3-paxmark-mksnapshot.patch
@@ -0,0 +1,41 @@
+Bug: https://bugs.gentoo.org/634220
+
+--- a/src/3rdparty/chromium/v8/BUILD.gn
++++ b/src/3rdparty/chromium/v8/BUILD.gn
+@@ -661,6 +661,7 @@ action("run_mksnapshot") {
+
+ deps = [
+ ":mksnapshot($v8_snapshot_toolchain)",
++ ":run_paxmark",
+ ]
+
+ script = "tools/run.py"
+@@ -706,6 +707,28 @@ action("run_mksnapshot") {
+ args += [ rebase_path(v8_embed_script, root_build_dir) ]
+ }
+ }
++action("run_paxmark") {
++ visibility = [ ":*" ] # Only targets in this file can depend on this.
++
++ deps = [
++ ":mksnapshot($v8_snapshot_toolchain)",
++ ]
++
++ script = "/usr/sbin/pypaxctl"
++
++ sources = []
++
++ outputs = [
++ "$target_out_dir/mksnapshot",
++ ]
++
++ args = [
++ "-sm",
++ "./" + rebase_path(get_label_info(":mksnapshot($v8_snapshot_toolchain)",
++ "root_out_dir") + "/mksnapshot",
++ root_build_dir),
++ ]
++}
+
+ action("run_mkpeephole") {
+ visibility = [ ":*" ] # Only targets in this file can depend on this.
diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.9.4-jpeg-9-1.patch b/dev-qt/qtwebengine/files/qtwebengine-5.9.4-jpeg-9-1.patch
new file mode 100644
index 000000000000..8b739680f685
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.9.4-jpeg-9-1.patch
@@ -0,0 +1,70 @@
+From 560a4a616f2a1307385e5e7a7d2e99b0b41775c8 Mon Sep 17 00:00:00 2001
+From: Viktor Engelmann <viktor.engelmann@qt.io>
+Date: Fri, 18 Aug 2017 14:50:20 +0200
+Subject: [PATCH] Fix improper boolean values
+
+jpeg_codec.cc contained some implicit conversions to boolean, which
+is apparently problematic for some versions of libjpeg. Patch
+taken from https://bugs.chromium.org/p/chromium/issues/detail?id=686191
+but not backported, since it has not been accepted into chromium yet.
+
+Task-Number: QTBUG-58482
+
+Change-Id: I2c5d5894493d6a7d0698a4e5a7191288a2fdfeb4
+Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
+---
+ src/3rdparty/chromium/ui/gfx/codec/jpeg_codec.cc | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/src/3rdparty/chromium/ui/gfx/codec/jpeg_codec.cc b/src/3rdparty/chromium/ui/gfx/codec/jpeg_codec.cc
+index 6d92637..85c7bec 100644
+--- a/src/3rdparty/chromium/ui/gfx/codec/jpeg_codec.cc
++++ b/src/3rdparty/chromium/ui/gfx/codec/jpeg_codec.cc
+@@ -121,7 +121,7 @@ boolean EmptyOutputBuffer(jpeg_compress_struct* cinfo) {
+ // tell libjpeg where to write the next data
+ cinfo->dest->next_output_byte = &(*state->out)[state->image_buffer_used];
+ cinfo->dest->free_in_buffer = state->out->size() - state->image_buffer_used;
+- return 1;
++ return TRUE;
+ }
+
+ // Cleans up the JpegEncoderState to prepare for returning in the final form.
+@@ -262,7 +262,7 @@ bool JPEGCodec::Encode(const unsigned char* input, ColorFormat format,
+ cinfo.data_precision = 8;
+
+ jpeg_set_defaults(&cinfo);
+- jpeg_set_quality(&cinfo, quality, 1); // quality here is 0-100
++ jpeg_set_quality(&cinfo, quality, TRUE); // quality here is 0-100
+
+ // set up the destination manager
+ jpeg_destination_mgr destmgr;
+@@ -274,7 +274,7 @@ bool JPEGCodec::Encode(const unsigned char* input, ColorFormat format,
+ JpegEncoderState state(output);
+ cinfo.client_data = &state;
+
+- jpeg_start_compress(&cinfo, 1);
++ jpeg_start_compress(&cinfo, TRUE);
+
+ // feed it the rows, doing necessary conversions for the color format
+ #ifdef JCS_EXTENSIONS
+@@ -360,7 +360,7 @@ void InitSource(j_decompress_ptr cinfo) {
+ // set to a positive value if TRUE is returned. A FALSE return should only
+ // be used when I/O suspension is desired."
+ boolean FillInputBuffer(j_decompress_ptr cinfo) {
+- return false;
++ return FALSE;
+ }
+
+ // Skip data in the buffer. Since we have all the data at once, this operation
+@@ -488,7 +488,7 @@ bool JPEGCodec::Decode(const unsigned char* input, size_t input_size,
+ cinfo.client_data = &state;
+
+ // fill the file metadata into our buffer
+- if (jpeg_read_header(&cinfo, true) != JPEG_HEADER_OK)
++ if (jpeg_read_header(&cinfo, TRUE) != JPEG_HEADER_OK)
+ return false;
+
+ // we want to always get RGB data out
+--
+2.7.4
+
diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.9.4-jpeg-9-2.patch b/dev-qt/qtwebengine/files/qtwebengine-5.9.4-jpeg-9-2.patch
new file mode 100644
index 000000000000..ef5f44efcf23
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.9.4-jpeg-9-2.patch
@@ -0,0 +1,46 @@
+Fix build with jpeg-9. Bug #646456
+
+--- a/src/3rdparty/chromium/third_party/pdfium/core/fxcodec/codec/fx_codec_jpeg.cpp 2018-01-15 12:39:43.000000000 +0100
++++ b/src/3rdparty/chromium/third_party/pdfium/core/fxcodec/codec/fx_codec_jpeg.cpp 2018-02-06 20:55:37.455912163 +0100
+@@ -57,12 +57,12 @@
+ };
+ extern "C" {
+ static boolean _src_fill_buffer(j_decompress_ptr cinfo) {
+- return 0;
++ return FALSE;
+ }
+ };
+ extern "C" {
+ static boolean _src_resync(j_decompress_ptr cinfo, int desired) {
+- return 0;
++ return FALSE;
+ }
+ };
+ extern "C" {
+@@ -126,7 +126,7 @@
+ jpeg_destroy_decompress(&cinfo);
+ return false;
+ }
+- int ret = jpeg_read_header(&cinfo, true);
++ int ret = jpeg_read_header(&cinfo, TRUE);
+ if (ret != JPEG_HEADER_OK) {
+ jpeg_destroy_decompress(&cinfo);
+ return false;
+@@ -210,7 +210,7 @@
+ }
+ cinfo.image_width = m_OrigWidth;
+ cinfo.image_height = m_OrigHeight;
+- int ret = jpeg_read_header(&cinfo, true);
++ int ret = jpeg_read_header(&cinfo, TRUE);
+ if (ret != JPEG_HEADER_OK)
+ return false;
+
+@@ -433,7 +433,7 @@
+ if (setjmp(ctx->m_JumpMark) == -1)
+ return 1;
+
+- int ret = jpeg_read_header(&ctx->m_Info, true);
++ int ret = jpeg_read_header(&ctx->m_Info, TRUE);
+ if (ret == JPEG_SUSPENDED)
+ return 2;
+ if (ret != JPEG_HEADER_OK)
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
new file mode 100644
index 000000000000..cd7c273bf4c3
--- /dev/null
+++ b/dev-qt/qtwebengine/metadata.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>qt@gentoo.org</email>
+ <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>
+ <flag name="system-ffmpeg">Use the system-wide <pkg>media-video/ffmpeg</pkg>
+ instead of bundled.</flag>
+ <flag name="system-icu">Use the system-wide <pkg>dev-libs/icu</pkg>
+ instead of bundled.</flag>
+ <flag name="widgets">Enable QtWidgets support</flag>
+ </use>
+ <upstream>
+ <bugs-to>https://bugreports.qt.io/</bugs-to>
+ <doc>https://doc.qt.io/</doc>
+ </upstream>
+ <slots>
+ <subslots>
+ Must only be used by packages that are known to use private parts of the Qt API.
+ </subslots>
+ </slots>
+</pkgmetadata>
diff --git a/dev-qt/qtwebengine/qtwebengine-5.11.1.ebuild b/dev-qt/qtwebengine/qtwebengine-5.11.1.ebuild
new file mode 100644
index 000000000000..b1eb5634dd54
--- /dev/null
+++ b/dev-qt/qtwebengine/qtwebengine-5.11.1.ebuild
@@ -0,0 +1,137 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+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 geolocation 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/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/libjpeg-turbo:=
+ media-libs/libpng:0=
+ >=media-libs/libvpx-1.5:=[svc]
+ media-libs/libwebp:=
+ media-libs/mesa[egl]
+ media-libs/opus
+ net-libs/libsrtp:0=
+ sys-apps/dbus
+ sys-apps/pciutils
+ sys-libs/libcap
+ 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} )
+ geolocation? ( ~dev-qt/qtpositioning-${PV} )
+ pulseaudio? ( media-sound/pulseaudio:= )
+ system-ffmpeg? ( media-video/ffmpeg:0= )
+ system-icu? ( dev-libs/icu:= )
+ 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.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" )
+
+ # 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 geolocation positioning \
+ mkspecs/features/configure.prf \
+ src/core/core_chromium.pri \
+ src/core/core_common.pri
+
+ 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
+}
diff --git a/dev-qt/qtwebengine/qtwebengine-5.9.4.ebuild b/dev-qt/qtwebengine/qtwebengine-5.9.4.ebuild
new file mode 100644
index 000000000000..b3c814f5d936
--- /dev/null
+++ b/dev-qt/qtwebengine/qtwebengine-5.9.4.ebuild
@@ -0,0 +1,127 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+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 geolocation pax_kernel pulseaudio +system-ffmpeg +system-icu 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/qtprintsupport-${PV}
+ ~dev-qt/qtwebchannel-${PV}[qml]
+ dev-libs/expat
+ dev-libs/libevent:=
+ dev-libs/libxml2[icu]
+ dev-libs/libxslt
+ dev-libs/protobuf:=
+ dev-libs/re2:=
+ media-libs/fontconfig
+ media-libs/freetype
+ media-libs/harfbuzz:=
+ media-libs/libpng:0=
+ >=media-libs/libvpx-1.5:=[svc]
+ media-libs/libwebp:=
+ media-libs/mesa[egl]
+ media-libs/opus
+ net-libs/libsrtp:0=
+ sys-apps/dbus
+ sys-apps/pciutils
+ sys-libs/libcap
+ sys-libs/zlib[minizip]
+ virtual/jpeg:0
+ 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 )
+ geolocation? ( ~dev-qt/qtpositioning-${PV} )
+ pulseaudio? ( media-sound/pulseaudio:= )
+ system-ffmpeg? ( media-video/ffmpeg:0= )
+ system-icu? ( dev-libs/icu:= )
+ 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.9.3-icu-60.1.patch"
+ "${FILESDIR}/${P}-jpeg-9-1.patch" # bug 607424
+ # TODO upstream:
+ "${FILESDIR}/${P}-jpeg-9-2.patch" # bug 646456
+)
+
+src_prepare() {
+ use pax_kernel && PATCHES+=( "${FILESDIR}/${PN}-5.9.3-paxmark-mksnapshot.patch" )
+
+ # 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 alsa src/core/config/linux.pri
+ qt_use_disable_config pulseaudio pulseaudio src/core/config/linux.pri
+
+ qt_use_disable_mod geolocation positioning \
+ mkspecs/features/configure.prf \
+ src/core/core_chromium.pri \
+ src/core/core_common.pri
+
+ 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=(
+ $(usex bindist '' 'WEBENGINE_CONFIG+=use_proprietary_codecs')
+ $(usex system-ffmpeg 'WEBENGINE_CONFIG+=use_system_ffmpeg' '')
+ $(usex system-icu 'WEBENGINE_CONFIG+=use_system_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
+}
diff --git a/dev-qt/qtwebengine/qtwebengine-5.9.6-r1.ebuild b/dev-qt/qtwebengine/qtwebengine-5.9.6-r1.ebuild
new file mode 100644
index 000000000000..a8c75e67834d
--- /dev/null
+++ b/dev-qt/qtwebengine/qtwebengine-5.9.6-r1.ebuild
@@ -0,0 +1,130 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+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 geolocation 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/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/libpng:0=
+ >=media-libs/libvpx-1.5:=[svc]
+ media-libs/libwebp:=
+ media-libs/mesa[egl]
+ media-libs/opus
+ net-libs/libsrtp:0=
+ sys-apps/dbus
+ sys-apps/pciutils
+ sys-libs/libcap
+ sys-libs/zlib[minizip]
+ virtual/jpeg:0
+ 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} )
+ geolocation? ( ~dev-qt/qtpositioning-${PV} )
+ pulseaudio? ( media-sound/pulseaudio:= )
+ system-ffmpeg? ( <media-video/ffmpeg-4:0= )
+ system-icu? ( dev-libs/icu:= )
+ 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.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() {
+ use pax_kernel && PATCHES+=( "${FILESDIR}/${PN}-5.9.3-paxmark-mksnapshot.patch" )
+
+ # 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 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 \
+ src/core/core_common.pri
+
+ 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=(
+ $(usex bindist '' 'WEBENGINE_CONFIG+=use_proprietary_codecs')
+ $(usex system-ffmpeg 'WEBENGINE_CONFIG+=use_system_ffmpeg' '')
+ $(usex system-icu 'WEBENGINE_CONFIG+=use_system_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
+}