commit:     0e11bfc3ff2d1dae2d5143bef23f0b3bf4d17592
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Tue Jun 26 13:31:32 2018 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Wed Jun 27 19:00:20 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0e11bfc3

dev-qt/qtwebengine: Fix x86 build with GCC-8

Closes: https://bugs.gentoo.org/657124
Package-Manager: Portage-2.3.40, Repoman-2.3.9

 .../qtwebengine/files/qtwebengine-5.9.6-gcc8.patch | 24 ++++++++++++++++++++++
 dev-qt/qtwebengine/qtwebengine-5.11.1.ebuild       |  1 +
 dev-qt/qtwebengine/qtwebengine-5.9.6.ebuild        |  1 +
 3 files changed, 26 insertions(+)

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 00000000000..ba6a49fd748
--- /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.ebuild 
b/dev-qt/qtwebengine/qtwebengine-5.11.1.ebuild
index 05007972333..495c4d06013 100644
--- a/dev-qt/qtwebengine/qtwebengine-5.11.1.ebuild
+++ b/dev-qt/qtwebengine/qtwebengine-5.11.1.ebuild
@@ -80,6 +80,7 @@ DEPEND="${RDEPEND}
 "
 
 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

diff --git a/dev-qt/qtwebengine/qtwebengine-5.9.6.ebuild 
b/dev-qt/qtwebengine/qtwebengine-5.9.6.ebuild
index 6788f042ae3..0ee631f3821 100644
--- a/dev-qt/qtwebengine/qtwebengine-5.9.6.ebuild
+++ b/dev-qt/qtwebengine/qtwebengine-5.9.6.ebuild
@@ -82,6 +82,7 @@ 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
 )
 
 src_prepare() {

Reply via email to