gnu: qt: Add patch for i686 build problem.

See <https://bugreports.qt.io/browse/QTBUG-45205>.

* gnu/packages/patches/qt5-conflicting-typedefs.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/qt.scm (qt): Add the patch.
This commit is contained in:
Taylan Ulrich Bayırlı/Kammer 2015-04-30 23:25:54 +02:00
parent d80ee44237
commit 9e63a388d9
3 changed files with 73 additions and 1 deletions

View file

@ -529,6 +529,7 @@ dist_patch_DATA = \
gnu/packages/patches/python2-pygobject-2-gi-info-type-error-domain.patch \
gnu/packages/patches/qt4-ldflags.patch \
gnu/packages/patches/qt4-tests.patch \
gnu/packages/patches/qt5-conflicting-typedefs.patch \
gnu/packages/patches/qt5-runpath.patch \
gnu/packages/patches/ratpoison-shell.patch \
gnu/packages/patches/readline-link-ncurses.patch \

View file

@ -0,0 +1,70 @@
See <https://bugreports.qt.io/browse/QTBUG-45205>.
diff --git a/qtwebengine/src/core/chromium_gpu_helper.cpp b/qtwebengine/src/core/chromium_gpu_helper.cpp
index c7c97e6..ef574ec 100644
--- a/qtwebengine/src/core/chromium_gpu_helper.cpp
+++ b/qtwebengine/src/core/chromium_gpu_helper.cpp
@@ -40,13 +40,15 @@
#include "chromium_gpu_helper.h"
-#include "content/common/gpu/gpu_channel_manager.h"
-#include "content/common/gpu/sync_point_manager.h"
-#include "content/gpu/gpu_child_thread.h"
+// Including gpu/command_buffer headers before content/gpu headers makes sure that
+// guards are defined to prevent duplicate definition errors with forward declared
+// GL typedefs cascading through content header includes.
#include "gpu/command_buffer/service/mailbox_manager.h"
#include "gpu/command_buffer/service/texture_manager.h"
-#include <QtGlobal> // We need this for the Q_OS_QNX define.
+#include "content/common/gpu/gpu_channel_manager.h"
+#include "content/common/gpu/sync_point_manager.h"
+#include "content/gpu/gpu_child_thread.h"
#ifdef Q_OS_QNX
#include "content/common/gpu/stream_texture_qnx.h"
diff --git a/qtwebengine/src/core/gl_surface_qt.cpp b/qtwebengine/src/core/gl_surface_qt.cpp
index 4fe2f21..5a27aa9 100644
--- a/qtwebengine/src/core/gl_surface_qt.cpp
+++ b/qtwebengine/src/core/gl_surface_qt.cpp
@@ -49,8 +49,6 @@
#include "base/logging.h"
#include "base/memory/scoped_ptr.h"
#include "content/common/gpu/image_transport_surface.h"
-#include "content/common/gpu/gpu_channel_manager.h"
-#include "content/common/gpu/gpu_command_buffer_stub.h"
#include "ui/gl/egl_util.h"
#include "ui/gl/gl_context.h"
#include "ui/gl/gl_implementation.h"
@@ -544,7 +542,9 @@ GLSurface::CreateViewGLSurface(gfx::AcceleratedWidget window)
} // namespace gfx
namespace content {
-scoped_refptr<gfx::GLSurface> ImageTransportSurface::CreateNativeSurface(GpuChannelManager* manager, GpuCommandBufferStub* stub, const gfx::GLSurfaceHandle& handle)
+class GpuCommandBufferStub;
+class GpuChannelManager;
+scoped_refptr<gfx::GLSurface> ImageTransportSurface::CreateNativeSurface(GpuChannelManager*, GpuCommandBufferStub*, const gfx::GLSurfaceHandle&)
{
QT_NOT_USED
return scoped_refptr<gfx::GLSurface>();
diff --git a/qtwebengine/src/3rdparty/chromium/gpu/command_buffer/common/gles2_cmd_format.h b/qtwebengine/src/3rdparty/chromium/gpu/command_buffer/common/gles2_cmd_format.h
index 04a3dc3..506cf00 100644
--- a/qtwebengine/src/3rdparty/chromium/gpu/command_buffer/common/gles2_cmd_format.h
+++ b/qtwebengine/src/3rdparty/chromium/gpu/command_buffer/common/gles2_cmd_format.h
@@ -20,6 +20,7 @@
#include "gpu/command_buffer/common/cmd_buffer_common.h"
#include "gpu/command_buffer/common/gles2_cmd_ids.h"
+#ifndef GL_VERSION_1_5
// GL types are forward declared to avoid including the GL headers. The problem
// is determining which GL headers to include from code that is common to the
// client and service sides (GLES2 or one of several GL implementations).
@@ -47,6 +48,7 @@ typedef signed long long int GLsizeiptr;
typedef khronos_intptr_t GLintptr;
typedef khronos_ssize_t GLsizeiptr;
#endif
+#endif
namespace gpu {
namespace gles2 {

View file

@ -104,7 +104,8 @@ (define-public qt
(sha256
(base32
"0q6qzakq8xihw91xv310qi3vyylq7x2bzdkjgy8sqxii2lgbjzhv"))
(patches (list (search-patch "qt5-runpath.patch")))
(patches (list (search-patch "qt5-conflicting-typedefs.patch")
(search-patch "qt5-runpath.patch")))
(snippet
'(begin
;; Remove broken symlinks.