diff options
author | Britney Fransen <brfransen@gmail.com> | 2018-03-20 21:51:58 (GMT) |
---|---|---|
committer | Britney Fransen <brfransen@gmail.com> | 2018-03-20 21:51:58 (GMT) |
commit | 271ac76a9b6f96f91b4b18e1e20068f1b7e2a544 (patch) | |
tree | 67d0995526e4275ddb9c8354b4f3e62caede8790 /abs/core/qt5-webkit | |
parent | 7d170562cfb13aaf5a122cda079f186634ab5e09 (diff) | |
download | linhes_pkgbuild-271ac76a9b6f96f91b4b18e1e20068f1b7e2a544.zip linhes_pkgbuild-271ac76a9b6f96f91b4b18e1e20068f1b7e2a544.tar.gz linhes_pkgbuild-271ac76a9b6f96f91b4b18e1e20068f1b7e2a544.tar.bz2 |
qt5: update to 5.10.1
Diffstat (limited to 'abs/core/qt5-webkit')
-rw-r--r-- | abs/core/qt5-webkit/PKGBUILD | 72 | ||||
-rw-r--r-- | abs/core/qt5-webkit/qt5-webkit-gcc7.patch | 34 | ||||
-rw-r--r-- | abs/core/qt5-webkit/qt5-webkit-null-pointer-dereference.patch | 17 |
3 files changed, 123 insertions, 0 deletions
diff --git a/abs/core/qt5-webkit/PKGBUILD b/abs/core/qt5-webkit/PKGBUILD new file mode 100644 index 0000000..c12c4bd --- /dev/null +++ b/abs/core/qt5-webkit/PKGBUILD @@ -0,0 +1,72 @@ +# $Id: PKGBUILD 240297 2015-06-03 10:22:03Z fyan $ +# Maintainer: Felix Yan <felixonmars@archlinux.org> +# Maintainer: Antonio Rojas <arojas@archlinux.org> +# Contributor: Andrea Scarpino <andrea@archlinux.org> + +pkgname=qt5-webkit +_qtver=5.212.0-alpha2 +pkgver=${_qtver/-/} +pkgrel=12 +arch=(x86_64) +url='http://qt-project.org/' +license=(GPL3 LGPL3 FDL custom) +pkgdesc='Classes for a WebKit2 based implementation and a new QML API' +depends=(qt5-location qt5-sensors qt5-webchannel libwebp libxslt libxcomposite gst-plugins-base hyphen) +makedepends=(cmake ruby gperf python2 qt5-doc qt5-tools) +optdepends=('gst-plugins-good: Webm codec support') +conflicts=(qt5-webkit-ng) +replaces=(qt5-webkit-ng) +groups=(qt qt5) +_pkgfqn="${pkgname/5-/}-opensource-src-${_qtver}" +source=("https://github.com/annulen/webkit/releases/download/qtwebkit-$_qtver/qtwebkit-$_qtver.tar.xz" + qt5-webkit-gcc7.patch + qt5-webkit-null-pointer-dereference.patch + qt5-webkit-trojita-1.patch::"https://github.com/annulen/webkit/commit/6faf1121.patch" + qt5-webkit-trojita-2.patch::"https://github.com/annulen/webkit/commit/76420459.patch" + qt5-webkit-cmake3.10.patch::"https://github.com/annulen/webkit/commit/f51554bf.patch") +sha256sums=('f8f901de567e11fc5659402b6b827eac75505ff9c5072d8e919aa306003f8f8a' + 'f108833562d766d4c086026f9202b2ebc8c19e97fddedce952afed78df3c0720' + '510e1f78c2bcd76909703a097dbc1d5c9c6ce4cd94883c26138f09cc10121f43' + 'bd22bd7842d5ad1cb1f5a4b6acb2674509732274d5f9dc51943144dff76996ae' + 'b42b70fd2a4a36b0ff48fc4e0dc386b3dda373e6fec18f3be9f5e2d3b04e0aa3' + 'b4e6c85fcb062e7cc141b0e34977bcc4f9c8677c773fc4b310151b85f51e7189') + +prepare() { + mkdir -p build + +# Fix crashes with GCC7 https://bugs.webkit.org/show_bug.cgi?id=173407 + cd qtwebkit-$_qtver + patch -p1 -i ../qt5-webkit-gcc7.patch +# Fix layout issues in trojita https://github.com/annulen/webkit/issues/511 + patch -p1 -i ../qt5-webkit-trojita-1.patch + patch -p1 -i ../qt5-webkit-trojita-2.patch +# Fix null point dereference (Fedora) https://github.com/annulen/webkit/issues/573 + patch -p1 -i ../qt5-webkit-null-pointer-dereference.patch +# Fix build with cmake 3.10 + patch -p1 -i ../qt5-webkit-cmake3.10.patch +} + +build() { + cd build + + cmake ../qtwebkit-$_qtver \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_BUILD_TYPE=Release \ + -DPORT=Qt \ + -DENABLE_TOOLS=OFF + make +} + +package() { + cd build + make DESTDIR="$pkgdir" install + + install -d "$pkgdir"/usr/share/licenses + ln -s /usr/share/licenses/qt5-base "$pkgdir"/usr/share/licenses/${pkgname} + +# Fix pkgconfig files + sed -e 's|qt/Qt5WebKit|qt/QtWebKit|' -i "$pkgdir"/usr/lib/pkgconfig/Qt5WebKit.pc + sed -e 's|qt/Qt5WebKitWidgets|qt/QtWebKitWidgets|' -i "$pkgdir"/usr/lib/pkgconfig/Qt5WebKitWidgets.pc + sed -e '/Name/a Description: Qt WebKit module' -i "$pkgdir"/usr/lib/pkgconfig/Qt5WebKit.pc + sed -e '/Name/a Description: Qt WebKitWidgets module' -i "$pkgdir"/usr/lib/pkgconfig/Qt5WebKitWidgets.pc +} diff --git a/abs/core/qt5-webkit/qt5-webkit-gcc7.patch b/abs/core/qt5-webkit/qt5-webkit-gcc7.patch new file mode 100644 index 0000000..bddb6fc --- /dev/null +++ b/abs/core/qt5-webkit/qt5-webkit-gcc7.patch @@ -0,0 +1,34 @@ +diff -u -r webkitgtk-2.16.5/Source/WTF/wtf/text/StringImpl.h webkitgtk-2.16.5-gcc7/Source/WTF/wtf/text/StringImpl.h +--- webkitgtk-2.16.5/Source/WTF/wtf/text/StringImpl.h 2017-02-20 17:20:15.000000000 +0100 ++++ webkitgtk-2.16.5-gcc7/Source/WTF/wtf/text/StringImpl.h 2017-06-27 13:13:57.801527350 +0200 +@@ -581,29 +581,7 @@ + // FIXME: Does this really belong in StringImpl? + template <typename T> static void copyChars(T* destination, const T* source, unsigned numCharacters) + { +- if (numCharacters == 1) { +- *destination = *source; +- return; +- } +- +- if (numCharacters <= s_copyCharsInlineCutOff) { +- unsigned i = 0; +-#if (CPU(X86) || CPU(X86_64)) +- const unsigned charsPerInt = sizeof(uint32_t) / sizeof(T); +- +- if (numCharacters > charsPerInt) { +- unsigned stopCount = numCharacters & ~(charsPerInt - 1); +- +- const uint32_t* srcCharacters = reinterpret_cast<const uint32_t*>(source); +- uint32_t* destCharacters = reinterpret_cast<uint32_t*>(destination); +- for (unsigned j = 0; i < stopCount; i += charsPerInt, ++j) +- destCharacters[j] = srcCharacters[j]; +- } +-#endif +- for (; i < numCharacters; ++i) +- destination[i] = source[i]; +- } else +- memcpy(destination, source, numCharacters * sizeof(T)); ++ memcpy(destination, source, numCharacters * sizeof(T)); + } + + ALWAYS_INLINE static void copyChars(UChar* destination, const LChar* source, unsigned numCharacters) diff --git a/abs/core/qt5-webkit/qt5-webkit-null-pointer-dereference.patch b/abs/core/qt5-webkit/qt5-webkit-null-pointer-dereference.patch new file mode 100644 index 0000000..97b9f9e --- /dev/null +++ b/abs/core/qt5-webkit/qt5-webkit-null-pointer-dereference.patch @@ -0,0 +1,17 @@ +diff -ur qtwebkit-5.212.0-alpha2/Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.cpp +qtwebkit-5.212.0-alpha2-fix-null-pointer-dereference/Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.cpp +--- qtwebkit-5.212.0-alpha2/Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.cpp 2017-06-09 16:11:36.000000000 +0200 ++++ qtwebkit-5.212.0-alpha2-fix-null-pointer-dereference/Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.cpp 2017-10-24 21:44:40.504943501 ++0200 +@@ -390,7 +390,10 @@ + + QString QWebPageAdapter::selectedHtml() const + { +- return page->focusController().focusedOrMainFrame().editor().selectedRange()->toHTML(); ++ RefPtr<Range> range = page->focusController().focusedOrMainFrame().editor().selectedRange(); ++ if (!range) ++ return QString(); ++ return range->toHTML(); + } + + bool QWebPageAdapter::isContentEditable() const |