[arch-commits] Commit in qt5-webkit/repos (4 files)
Felix Yan
felixonmars at archlinux.org
Mon Aug 6 19:06:29 UTC 2018
Date: Monday, August 6, 2018 @ 19:06:29
Author: felixonmars
Revision: 331031
archrelease: copy trunk to staging-x86_64
Added:
qt5-webkit/repos/staging-x86_64/
qt5-webkit/repos/staging-x86_64/PKGBUILD
(from rev 331030, qt5-webkit/trunk/PKGBUILD)
qt5-webkit/repos/staging-x86_64/qt5-webkit-gcc7.patch
(from rev 331030, qt5-webkit/trunk/qt5-webkit-gcc7.patch)
qt5-webkit/repos/staging-x86_64/qt5-webkit-null-pointer-dereference.patch
(from rev 331030, qt5-webkit/trunk/qt5-webkit-null-pointer-dereference.patch)
-------------------------------------------+
PKGBUILD | 72 ++++++++++++++++++++++++++++
qt5-webkit-gcc7.patch | 34 +++++++++++++
qt5-webkit-null-pointer-dereference.patch | 17 ++++++
3 files changed, 123 insertions(+)
Copied: qt5-webkit/repos/staging-x86_64/PKGBUILD (from rev 331030, qt5-webkit/trunk/PKGBUILD)
===================================================================
--- staging-x86_64/PKGBUILD (rev 0)
+++ staging-x86_64/PKGBUILD 2018-08-06 19:06:29 UTC (rev 331031)
@@ -0,0 +1,72 @@
+# $Id: PKGBUILD 240297 2015-06-03 10:22:03Z fyan $
+# Maintainer: Felix Yan <felixonmars at archlinux.org>
+# Maintainer: Antonio Rojas <arojas at archlinux.org>
+# Contributor: Andrea Scarpino <andrea at archlinux.org>
+
+pkgname=qt5-webkit
+_qtver=5.212.0-alpha2
+pkgver=${_qtver/-/}
+pkgrel=19
+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
+}
Copied: qt5-webkit/repos/staging-x86_64/qt5-webkit-gcc7.patch (from rev 331030, qt5-webkit/trunk/qt5-webkit-gcc7.patch)
===================================================================
--- staging-x86_64/qt5-webkit-gcc7.patch (rev 0)
+++ staging-x86_64/qt5-webkit-gcc7.patch 2018-08-06 19:06:29 UTC (rev 331031)
@@ -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)
Copied: qt5-webkit/repos/staging-x86_64/qt5-webkit-null-pointer-dereference.patch (from rev 331030, qt5-webkit/trunk/qt5-webkit-null-pointer-dereference.patch)
===================================================================
--- staging-x86_64/qt5-webkit-null-pointer-dereference.patch (rev 0)
+++ staging-x86_64/qt5-webkit-null-pointer-dereference.patch 2018-08-06 19:06:29 UTC (rev 331031)
@@ -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
More information about the arch-commits
mailing list