From 8e65dc38bc7bbfa462d7b229799e08666bcd6c70 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sun, 8 Jul 2018 16:08:50 +0100 Subject: dev-qt : increase revision to r1337 so we always beat gentoo --- dev-qt/qtwebengine/Manifest | 1 + ...-5.11.1-eglGetProcAddress-fallback-lookup.patch | 68 ++++++++++ .../files/qtwebengine-5.11.1-ffmpeg4.patch | 32 +++++ ...webengine-5.11.1-libxml2-disable-catalogs.patch | 46 +++++++ .../qtwebengine-5.11.1-nouveau-disable-gpu.patch | 98 +++++++++++++++ .../qtwebengine/files/qtwebengine-5.9.6-gcc8.patch | 24 ++++ dev-qt/qtwebengine/qtwebengine-5.11.1-r1337.ebuild | 138 +++++++++++++++++++++ dev-qt/qtwebengine/qtwebengine-5.11.1.ebuild | 138 --------------------- 8 files changed, 407 insertions(+), 138 deletions(-) create mode 100644 dev-qt/qtwebengine/files/qtwebengine-5.11.1-eglGetProcAddress-fallback-lookup.patch create mode 100644 dev-qt/qtwebengine/files/qtwebengine-5.11.1-ffmpeg4.patch create mode 100644 dev-qt/qtwebengine/files/qtwebengine-5.11.1-libxml2-disable-catalogs.patch create mode 100644 dev-qt/qtwebengine/files/qtwebengine-5.11.1-nouveau-disable-gpu.patch create mode 100644 dev-qt/qtwebengine/files/qtwebengine-5.9.6-gcc8.patch create mode 100644 dev-qt/qtwebengine/qtwebengine-5.11.1-r1337.ebuild delete mode 100644 dev-qt/qtwebengine/qtwebengine-5.11.1.ebuild (limited to 'dev-qt/qtwebengine') diff --git a/dev-qt/qtwebengine/Manifest b/dev-qt/qtwebengine/Manifest index 6fb6baa6..2eb8f8b2 100644 --- a/dev-qt/qtwebengine/Manifest +++ b/dev-qt/qtwebengine/Manifest @@ -1 +1,2 @@ +DIST qtwebengine-everywhere-src-5.11.1.tar.xz 233633572 BLAKE2B 06fb9d490377ebb4af937e0fa1688cdfeb9bfdadf6c80afeef609d20a76bdb7c4fed6c1042405b762e59b11d7b16369990c66a395ec1b6b48bbb1ea5b8cd47f2 SHA512 3e17f88b690c06f6d28c30d8d43588eaad9b0b214434b219c3d8fe11969cca515a68c731d176cf640940fd3db12e95de8f723d3717555504c5b95d135fa4a596 DIST qtwebengine-opensource-src-5.9.5.tar.xz 216767300 BLAKE2B 9c05c808d18ed27833b48deaab1c0a6d12a7fa17288a522a8aa04c9b06746e9d69ba06467297369353979844e94efad354a124e28dae94d3128e853a8218e6d7 SHA512 74aa2a36ba5a56d0870f5269f93b54c036fccabf60d906b5b0f0db38afb8582d8794be4025ecea28e4c5b8c4c9beda345e3c2b2155e77bbedfe688308009de2a 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 00000000..4b2676fa --- /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 +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 +--- + 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(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 00000000..e9ef452a --- /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 +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 +Commit-Queue: Xiaohan Wang +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 { + 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 00000000..8ac5b90b --- /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 +-#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 + #include ++#include ++#if defined(LIBXML_CATALOG_ENABLED) ++#include ++#endif + #include + #include + #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 00000000..aaf3aae4 --- /dev/null +++ b/dev-qt/qtwebengine/files/qtwebengine-5.11.1-nouveau-disable-gpu.patch @@ -0,0 +1,98 @@ +From: Antonio Larrosa +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 + #ifndef QT_NO_OPENGL + # include ++# include + #endif + #include + #include +@@ -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 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(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 00000000..ba6a49fd --- /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/qtwebengine-5.11.1-r1337.ebuild b/dev-qt/qtwebengine/qtwebengine-5.11.1-r1337.ebuild new file mode 100644 index 00000000..495c4d06 --- /dev/null +++ b/dev-qt/qtwebengine/qtwebengine-5.11.1-r1337.ebuild @@ -0,0 +1,138 @@ +# 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/protobuf:= + 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.11.1.ebuild b/dev-qt/qtwebengine/qtwebengine-5.11.1.ebuild deleted file mode 100644 index 495c4d06..00000000 --- a/dev-qt/qtwebengine/qtwebengine-5.11.1.ebuild +++ /dev/null @@ -1,138 +0,0 @@ -# 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/protobuf:= - 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 -} -- cgit v1.2.3