summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--extra/qt5-webengine/PKGBUILD13
-rw-r--r--extra/qt5-webengine/qtwebengine-everywhere-src-5.11.0-chromium-64bit-alignment.patch18
2 files changed, 31 insertions, 0 deletions
diff --git a/extra/qt5-webengine/PKGBUILD b/extra/qt5-webengine/PKGBUILD
index b2649380..abcd0d93 100644
--- a/extra/qt5-webengine/PKGBUILD
+++ b/extra/qt5-webengine/PKGBUILD
@@ -4,3 +4,16 @@ eval "$(
s/ -webengine-icu//
'
)"
+
+# see https://src.fedoraproject.org/cgit/rpms/chromium.git/tree/chromium-66.0.3359.170-gcc8-alignof.patch
+source+=('qtwebengine-everywhere-src-5.11.0-chromium-64bit-alignment.patch')
+sha256sums+=('064cdd255b3a8918467cb4cddd5db34a4d604cae8f810463be1d098ed733d2f1')
+
+eval "$(
+ declare -f prepare | \
+ sed '
+ /ffmpeg4.patch/ a patch -Np1 -i "${srcdir}"/qtwebengine-everywhere-src-5.11.0-chromium-64bit-alignment.patch
+ '
+)"
+
+
diff --git a/extra/qt5-webengine/qtwebengine-everywhere-src-5.11.0-chromium-64bit-alignment.patch b/extra/qt5-webengine/qtwebengine-everywhere-src-5.11.0-chromium-64bit-alignment.patch
new file mode 100644
index 00000000..2e72034a
--- /dev/null
+++ b/extra/qt5-webengine/qtwebengine-everywhere-src-5.11.0-chromium-64bit-alignment.patch
@@ -0,0 +1,18 @@
+diff -rauN qtwebengine-everywhere-src-5.11.0/src/3rdparty/chromium/mojo/public/c/system/macros.h qtwebengine-everywhere-src-5.11.0-chromium-64bit-alignment-patch/src/3rdparty/chromium/mojo/public/c/system/macros.h
+--- qtwebengine-everywhere-src-5.11.0/src/3rdparty/chromium/mojo/public/c/system/macros.h 2018-06-03 09:46:38.408293369 +0200
++++ qtwebengine-everywhere-src-5.11.0-chromium-64bit-alignment-patch/src/3rdparty/chromium/mojo/public/c/system/macros.h 2018-06-03 09:46:54.734960038 +0200
+@@ -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)