[arch-commits] Commit in qt5-webkit/repos (4 files)

Antonio Rojas arojas at archlinux.org
Wed Nov 22 18:17:40 UTC 2017


    Date: Wednesday, November 22, 2017 @ 18:17:39
  Author: arojas
Revision: 310678

archrelease: copy trunk to staging-x86_64

Added:
  qt5-webkit/repos/staging-x86_64/
  qt5-webkit/repos/staging-x86_64/PKGBUILD
    (from rev 310677, qt5-webkit/trunk/PKGBUILD)
  qt5-webkit/repos/staging-x86_64/qt5-webkit-gcc7.patch
    (from rev 310677, qt5-webkit/trunk/qt5-webkit-gcc7.patch)
  qt5-webkit/repos/staging-x86_64/qt5-webkit-null-pointer-dereference.patch
    (from rev 310677, 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 310677, qt5-webkit/trunk/PKGBUILD)
===================================================================
--- staging-x86_64/PKGBUILD	                        (rev 0)
+++ staging-x86_64/PKGBUILD	2017-11-22 18:17:39 UTC (rev 310678)
@@ -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=10
+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 310677, qt5-webkit/trunk/qt5-webkit-gcc7.patch)
===================================================================
--- staging-x86_64/qt5-webkit-gcc7.patch	                        (rev 0)
+++ staging-x86_64/qt5-webkit-gcc7.patch	2017-11-22 18:17:39 UTC (rev 310678)
@@ -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 310677, 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	2017-11-22 18:17:39 UTC (rev 310678)
@@ -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