extra/qt5-webengine to 5.7.0-7

This commit is contained in:
Kevin Mihelich 2016-12-04 19:26:56 +00:00
parent d7e6ba9a11
commit 4d0170c4ae
2 changed files with 61 additions and 5 deletions

View file

@ -4,20 +4,20 @@
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
# - patch to disable neon
# - patch to use system ffmpeg, depend on ffmpeg, add system_ffmpeg to WEBENGINE_CONFIG
# - patch to use system ffmpeg
buildarch=12
pkgname=qt5-webengine
_qtver=5.7.0
pkgver=${_qtver/-/}
pkgrel=6
pkgrel=7
arch=('i686' 'x86_64')
url='http://qt-project.org/'
license=('GPL3' 'LGPL3' 'FDL' 'custom')
pkgdesc='Provides support for web applications using the Chromium browser project'
depends=('qt5-webchannel' 'qt5-location' 'libxcomposite' 'libxrandr' 'libxtst' 'libxcursor' 'libpulse' 'pciutils' 'libxss' 'libvpx' 'opus'
'libevent' 'libsrtp' 'libwebp' 'snappy' 'nss' 'protobuf' 'libxslt' 'ffmpeg')
depends=('qt5-webchannel' 'qt5-location' 'libxcomposite' 'libxrandr' 'pciutils' 'libxss' 'libvpx'
'libevent' 'libsrtp' 'snappy' 'nss' 'protobuf' 'libxslt' 'minizip' 'ffmpeg')
makedepends=('python2' 'git' 'gperf' 'jsoncpp')
groups=('qt' 'qt5')
_pkgfqn="${pkgname/5-/}-opensource-src-${_qtver}"
@ -25,6 +25,7 @@ source=("http://download.qt.io/official_releases/qt/${pkgver%.*}/${_qtver}/submo
qt5-webengine-fno-delete-null-pointer-checks.patch qt5-webengine-fno-delete-null-pointer-checks-2.patch
qt5-webengine-glibc2.24.patch::"https://github.com/qt/qtwebengine-chromium/commit/b12ffcd4.patch"
qtwebengine-opensource-src-5.6.0-beta-no-neon.patch
qtwebengine-5.7.0-icu58.patch
system-ffmpeg.patch)
md5sums=('937f64886fbcb038d6fa4b44ae80cbeb'
@ -33,6 +34,7 @@ md5sums=('937f64886fbcb038d6fa4b44ae80cbeb'
'8145ce05fb86e762f012ca1b56f718fe'
'753154df82838d19a7629d56cec7b649'
'5bf00425cacab1a6580c46b9ac8b57ac'
'c2ffb0073e6f67a0a77a8fe39f9e9859'
'9f79b14f7c5ff603c1fcd87f37a8904f')
prepare() {
@ -46,6 +48,9 @@ prepare() {
cd ${_pkgfqn}
# patch -p1 -i ../qt5-webengine-nss.patch
# Fix build with ICU 58 (gentoo)
patch -p1 -i "$srcdir"/qtwebengine-5.7.0-icu58.patch
# Workaround for v8 segfaults with GCC 6
patch -p1 -i "$srcdir"/qt5-webengine-fno-delete-null-pointer-checks.patch
cd src/3rdparty
@ -64,7 +69,7 @@ build() {
export PATH="$srcdir/bin:$PATH"
export CXXFLAGS+=" -fno-delete-null-pointer-checks"
qmake WEBENGINE_CONFIG+="use_proprietary_codecs system_ffmpeg" ../${_pkgfqn}
qmake WEBENGINE_CONFIG+="use_proprietary_codecs system_ffmpeg use_system_icu" ../${_pkgfqn}
make
}

View file

@ -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));
}