author | Antonio Rojas
<arojas@archlinux.org> 2016-12-04 09:54:48 UTC |
committer | Antonio Rojas
<arojas@archlinux.org> 2016-12-04 09:54:48 UTC |
parent | 80be341f454a0c704ede35b9802e123244c8e825 |
PKGBUILD | +11 | -6 |
qtwebengine-5.7.0-icu58.patch | +51 | -0 |
diff --git a/PKGBUILD b/PKGBUILD index 1cedc6a..5c3e94b 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -5,25 +5,27 @@ pkgname=qt5-webengine _qtver=5.7.0 pkgver=${_qtver/-/} -pkgrel=6 +pkgrel=7 arch=('i686' 'x86_64') url='http://qt-project.org/' license=('LGPL3' 'LGPL2.1' 'BSD') 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' 'minizip') +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}" source=("http://download.qt.io/official_releases/qt/${pkgver%.*}/${_qtver}/submodules/${_pkgfqn}.tar.xz" qt5-webengine-nss.patch 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") + qt5-webengine-glibc2.24.patch::"https://github.com/qt/qtwebengine-chromium/commit/b12ffcd4.patch" + qtwebengine-5.7.0-icu58.patch) md5sums=('937f64886fbcb038d6fa4b44ae80cbeb' '2a1610b34204102938a24154a52e5571' '5671a16fef65152928789bffd1f7cf24' '8145ce05fb86e762f012ca1b56f718fe' - '753154df82838d19a7629d56cec7b649') + '753154df82838d19a7629d56cec7b649' + 'c2ffb0073e6f67a0a77a8fe39f9e9859') prepare() { mkdir -p build @@ -36,6 +38,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 @@ -50,7 +55,7 @@ build() { export PATH="$srcdir/bin:$PATH" export CXXFLAGS+=" -fno-delete-null-pointer-checks" - qmake WEBENGINE_CONFIG+=use_proprietary_codecs ../${_pkgfqn} + qmake WEBENGINE_CONFIG+="use_proprietary_codecs use_system_ffmpeg use_system_icu" ../${_pkgfqn} make } diff --git a/qtwebengine-5.7.0-icu58.patch b/qtwebengine-5.7.0-icu58.patch new file mode 100644 index 0000000..ced5367 --- /dev/null +++ b/qtwebengine-5.7.0-icu58.patch @@ -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)); + }