forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
qtwebengine-5.7.0-fix-system-ffmpeg.patch undefines FF_API_CONVERGENCE_DURATION, which should only be defined when not using the system ffmpeg. This causes segmentation faults at runtime with FFMPEG 3.x qtwebengine-5.7.0-gcc6.patch is adapted from http://code.qt.io/cgit/qt/qtwebengine-chromium.git/commit/?id=cffcf22082879939bbcfa89e88057beda829a0a7 http://code.qt.io/cgit/qt/qtwebengine-chromium.git/commit/?id=ae73e50e7d8c1371ed293c10150646a2719f4598 http://code.qt.io/cgit/qt/qtwebengine.git/commit/?id=c7aeb3b03ecce75c40d3f53352e8b7b3a4d6d050 http://code.qt.io/cgit/qt/qtwebengine.git/commit/?id=d6c8a2cf8fa374e6d1c0a578391b57112c047fa4 qtwebengine-5.7.0-icu58.patch is adapted from www-client/chromium/files/chromium-icu-58.patch qtwebengine-5.7.0-undef-madv_free.patch is adapted from http://code.qt.io/cgit/qt/qtwebengine-chromium.git/commit/?id=fa8cdb3a32c377b6290d0a92d2522186bcd48293 Gentoo-Bug: 599094
- Loading branch information
1 parent
3ee4ff7
commit ed080e3
Showing
5 changed files
with
210 additions
and
0 deletions.
There are no files selected for viewing
13 changes: 13 additions & 0 deletions
13
dev-qt/qtwebengine/files/qtwebengine-5.7.0-fix-system-ffmpeg.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
diff -Naur qtwebengine-opensource-src-5.7.0.orig/src/3rdparty/chromium/media/ffmpeg/ffmpeg_common.h qtwebengine-opensource-src-5.7.0/src/3rdparty/chromium/media/ffmpeg/ffmpeg_common.h | ||
--- qtwebengine-opensource-src-5.7.0.orig/src/3rdparty/chromium/media/ffmpeg/ffmpeg_common.h 2016-11-23 13:01:20.929772871 -0800 | ||
+++ qtwebengine-opensource-src-5.7.0/src/3rdparty/chromium/media/ffmpeg/ffmpeg_common.h 2016-11-23 13:02:18.879462854 -0800 | ||
@@ -24,7 +24,9 @@ | ||
// Disable deprecated features which result in spammy compile warnings. This | ||
// list of defines must mirror those in the 'defines' section of BUILD.gn file & | ||
// ffmpeg.gyp file or the headers below will generate different structures! | ||
+#if !defined(USE_SYSTEM_FFMPEG) | ||
#define FF_API_CONVERGENCE_DURATION 0 | ||
+#endif | ||
// Upstream libavcodec/utils.c still uses the deprecated | ||
// av_dup_packet(), causing deprecation warnings. | ||
// The normal fix for such things is to disable the feature as below, |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,106 @@ | ||
From cffcf22082879939bbcfa89e88057beda829a0a7 Mon Sep 17 00:00:00 2001 | ||
From: David Faure <[email protected]> | ||
Date: Sat, 3 Sep 2016 18:01:40 +0200 | ||
Subject: gcc6: set -fno-delete-null-pointer-checks for all files | ||
|
||
Not just v8, as v8_no_delete_null_pointer_checks does. | ||
This is necessary e.g. for PaintLayer::enclosingSelfPaintingLayer | ||
which also compares this with null. | ||
|
||
I'll remove v8_no_delete_null_pointer_checks in a later commit | ||
to avoid a temporary breakage until qtwebengine is updated. | ||
|
||
Change-Id: I8782fadc8fab125b5394bd60857e70c6ae75f9b0 | ||
Reviewed-by: Allan Sandfeld Jensen <[email protected]> | ||
(cherry picked from commit c42f53ec3ca90bfd98577988462ed51464feebe3) | ||
--- | ||
chromium/build/common.gypi | 3 +++ | ||
1 file changed, 3 insertions(+) | ||
|
||
diff --git a/src/3rdparty/chromium/build/common.gypi b/src/3rdparty/chromium/build/common.gypi | ||
index b6a0284..d768ab3 100644 | ||
--- a/src/3rdparty/chromium/build/common.gypi | ||
+++ b/src/3rdparty/chromium/build/common.gypi | ||
@@ -4702,6 +4706,9 @@ | ||
'-Wl,--disable-new-dtags', | ||
], | ||
}], | ||
+ [ 'no_delete_null_pointer_checks==1', { | ||
+ 'cflags_cc': [ '-fno-delete-null-pointer-checks' ], | ||
+ }], | ||
['clang==0', { | ||
'target_conditions': [ | ||
['_toolset=="target"', { | ||
-- | ||
cgit v1.0-4-g1e03 | ||
|
||
From ae73e50e7d8c1371ed293c10150646a2719f4598 Mon Sep 17 00:00:00 2001 | ||
From: Allan Sandfeld Jensen <[email protected]> | ||
Date: Wed, 14 Sep 2016 17:40:50 +0200 | ||
Subject: FIXUP: gcc6: set -fno-delete-null-pointer-checks for all files | ||
|
||
Set a default and pull in the value from configuration, and | ||
remove the old v8 only version. | ||
|
||
Change-Id: Ica9f971baa28c717178eb2acd074607424792e1d | ||
Reviewed-by: David Faure <[email protected]> | ||
--- | ||
chromium/build/common.gypi | 4 ++++ | ||
chromium/v8/build/toolchain.gypi | 7 ------- | ||
2 files changed, 4 insertions(+), 7 deletions(-) | ||
|
||
diff --git a/src/3rdparty/chromium/build/common.gypi b/src/3rdparty/chromium/build/common.gypi | ||
index d768ab3..8a1df22 100644 | ||
--- a/src/3rdparty/chromium/build/common.gypi | ||
+++ b/src/3rdparty/chromium/build/common.gypi | ||
@@ -727,6 +727,9 @@ | ||
# By default include non-appstore-compliant code. | ||
'appstore_compliant_code%': 0, | ||
|
||
+ # Enable this to turn off the delete-null-pointer-checks optimization in GCC 6+ | ||
+ 'no_delete_null_pointer_checks%': 0, | ||
+ | ||
'conditions': [ | ||
# A flag for POSIX platforms | ||
['OS=="win"', { | ||
@@ -1271,6 +1274,7 @@ | ||
'enable_hangout_services_extension%' : '<(enable_hangout_services_extension)', | ||
'proprietary_codecs%': '<(proprietary_codecs)', | ||
'appstore_compliant_code%': '<(appstore_compliant_code)', | ||
+ 'no_delete_null_pointer_checks%': '<(no_delete_null_pointer_checks)', | ||
'use_goma%': '<(use_goma)', | ||
'gomadir%': '<(gomadir)', | ||
'use_lto%': '<(use_lto)', | ||
-- | ||
cgit v1.0-4-g1e03 | ||
|
||
From d6c8a2cf8fa374e6d1c0a578391b57112c047fa4 Mon Sep 17 00:00:00 2001 | ||
From: David Faure <[email protected]> | ||
Date: Mon, 5 Sep 2016 15:25:02 +0200 | ||
Subject: Enable -fno_delete_null_pointer_checks for g++ 6 on all of chromium | ||
|
||
This is necessary e.g. for PaintLayer::enclosingSelfPaintingLayer | ||
which also compares this with null. | ||
|
||
Change-Id: I85d69432a0d7eeb0d8df8f395821880e36180dcc | ||
Reviewed-by: Allan Sandfeld Jensen <[email protected]> | ||
--- | ||
src/core/config/linux.pri | 2 +- | ||
1 file changed, 1 insertion(+), 1 deletion(-) | ||
|
||
diff --git a/src/core/config/linux.pri b/src/core/config/linux.pri | ||
index 9264932..a318e17 100644 | ||
--- a/src/core/config/linux.pri | ||
+++ b/src/core/config/linux.pri | ||
@@ -29,6 +29,8 @@ use?(nss) { | ||
use_openssl_certs=1 | ||
} | ||
|
||
+gcc:!clang: greaterThan(QT_GCC_MAJOR_VERSION, 5): GYP_CONFIG += no_delete_null_pointer_checks=1 | ||
+ | ||
contains(QT_CONFIG, system-zlib): use?(system_minizip): GYP_CONFIG += use_system_zlib=1 | ||
contains(QT_CONFIG, system-png): GYP_CONFIG += use_system_libpng=1 | ||
contains(QT_CONFIG, system-jpeg): GYP_CONFIG += use_system_libjpeg=1 | ||
-- | ||
cgit v1.0-4-g1e03 | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
diff -Naur qtwebengine-opensource-src-5.7.0.orig/src/3rdparty/chromium/third_party/WebKit/Source/platform/text/TextBreakIterator.cpp qtwebengine-opensource-src-5.7.0/src/3rdparty/chromium/third_party/WebKit/Source/platform/text/TextBreakIterator.cpp | ||
--- qtwebengine-opensource-src-5.7.0.orig/src/3rdparty/chromium/third_party/WebKit/Source/platform/text/TextBreakIterator.cpp 2016-11-15 17:07:38.680665385 -0800 | ||
+++ qtwebengine-opensource-src-5.7.0/src/3rdparty/chromium/third_party/WebKit/Source/platform/text/TextBreakIterator.cpp 2016-11-15 17:12:17.564001354 -0800 | ||
@@ -26,6 +26,9 @@ | ||
#include "wtf/StdLibExtras.h" | ||
#include "wtf/text/CharacterNames.h" | ||
|
||
+#include <unicode/uchar.h> | ||
+#include <unicode/uvernum.h> | ||
+ | ||
namespace blink { | ||
|
||
unsigned numGraphemeClusters(const String& string) | ||
@@ -122,13 +125,18 @@ | ||
{ B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), 0, B(0, 0, 0, 0, 0, 0, 0, 0), 0, 0, 0, B(0, 0, 0, 0, 0, 0, 0, 0), 0, 0, 0, B(0, 0, 0, 0, 0, 0, 0, 0) }, // DEL | ||
}; | ||
|
||
+#if U_ICU_VERSION_MAJOR_NUM >= 58 | ||
+#define BA_LB_COUNT (U_LB_COUNT - 3) | ||
+#else | ||
+#define BA_LB_COUNT U_LB_COUNT | ||
+#endif | ||
// Line breaking table for CSS word-break: break-all. This table differs from | ||
// asciiLineBreakTable in: | ||
// - Indices are Line Breaking Classes defined in UAX#14 Unicode Line Breaking | ||
// Algorithm: http://unicode.org/reports/tr14/#DescriptionOfProperties | ||
// - 1 indicates additional break opportunities. 0 indicates to fallback to | ||
// normal line break, not "prohibit break." | ||
-static const unsigned char breakAllLineBreakClassTable[][U_LB_COUNT / 8 + 1] = { | ||
+static const unsigned char breakAllLineBreakClassTable[][BA_LB_COUNT / 8 + 1] = { | ||
// XX AI AL B2 BA BB BK CB CL CM CR EX GL HY ID IN IS LF NS NU OP PO PR QU SA SG SP SY ZW NL WJ H2 H3 JL JT JV CP CJ HL RI | ||
{ B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // XX | ||
{ B(0, 1, 1, 0, 1, 0, 0, 0), B(0, 0, 0, 0, 0, 1, 0, 0), B(0, 0, 0, 1, 1, 0, 1, 0), B(1, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 1, 0) }, // AI | ||
@@ -178,7 +186,7 @@ | ||
#undef AL | ||
|
||
static_assert(WTF_ARRAY_LENGTH(asciiLineBreakTable) == asciiLineBreakTableLastChar - asciiLineBreakTableFirstChar + 1, "asciiLineBreakTable should be consistent"); | ||
-static_assert(WTF_ARRAY_LENGTH(breakAllLineBreakClassTable) == U_LB_COUNT, "breakAllLineBreakClassTable should be consistent"); | ||
+static_assert(WTF_ARRAY_LENGTH(breakAllLineBreakClassTable) == BA_LB_COUNT, "breakAllLineBreakClassTable should be consistent"); | ||
|
||
static inline bool shouldBreakAfter(UChar lastCh, UChar ch, UChar nextCh) | ||
{ | ||
@@ -209,7 +217,7 @@ | ||
|
||
static inline bool shouldBreakAfterBreakAll(ULineBreak lastLineBreak, ULineBreak lineBreak) | ||
{ | ||
- if (lineBreak >= 0 && lineBreak < U_LB_COUNT && lastLineBreak >= 0 && lastLineBreak < U_LB_COUNT) { | ||
+ if (lineBreak >= 0 && lineBreak < BA_LB_COUNT && lastLineBreak >= 0 && lastLineBreak < BA_LB_COUNT) { | ||
const unsigned char* tableRow = breakAllLineBreakClassTable[lastLineBreak]; | ||
return tableRow[lineBreak / 8] & (1 << (lineBreak % 8)); | ||
} |
33 changes: 33 additions & 0 deletions
33
dev-qt/qtwebengine/files/qtwebengine-5.7.0-undef-madv_free.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
From fa8cdb3a32c377b6290d0a92d2522186bcd48293 Mon Sep 17 00:00:00 2001 | ||
From: Allan Sandfeld Jensen <[email protected]> | ||
Date: Tue, 9 Aug 2016 16:21:29 +0200 | ||
Subject: Do not depend on Linux 4.5 | ||
|
||
Avoid using MADV_FREE that was only recently added to Linux. It will fail when | ||
run on older Linux kernels. | ||
|
||
Change-Id: I9b0369fb31402f088b2327c12f70dd39f5e4c8c0 | ||
Reviewed-by: Peter Varga <[email protected]> | ||
--- | ||
chromium/third_party/WebKit/Source/wtf/allocator/PageAllocator.cpp | 5 +++++ | ||
1 file changed, 5 insertions(+) | ||
|
||
diff --git a/src/3rdparty/chromium/third_party/WebKit/Source/wtf/PageAllocator.cpp b/src/3rdparty/chromium/third_party/WebKit/Source/wtf/PageAllocator.cpp | ||
index 12c9a7b..1639013 100644 | ||
--- a/src/3rdparty/chromium/third_party/WebKit/Source/wtf/PageAllocator.cpp | ||
+++ b/src/3rdparty/chromium/third_party/WebKit/Source/wtf/PageAllocator.cpp | ||
@@ -39,6 +39,11 @@ | ||
|
||
#include <sys/mman.h> | ||
|
||
+#if OS(LINUX) && defined(MADV_FREE) | ||
+// Added in Linux 4.5, but we don't want to depend on 4.5 at runtime | ||
+#undef MADV_FREE | ||
+#endif | ||
+ | ||
#ifndef MADV_FREE | ||
#define MADV_FREE MADV_DONTNEED | ||
#endif | ||
-- | ||
cgit v1.0-4-g1e03 | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters