[arch-commits] Commit in webkit2gtk/trunk (PKGBUILD gcc7-memcpy.patch)

Jan Steffens heftig at archlinux.org
Wed Jun 21 11:32:44 UTC 2017


    Date: Wednesday, June 21, 2017 @ 11:32:42
  Author: heftig
Revision: 299114

2.16.4-1

Added:
  webkit2gtk/trunk/gcc7-memcpy.patch
Modified:
  webkit2gtk/trunk/PKGBUILD

-------------------+
 PKGBUILD          |   16 +++++++++-------
 gcc7-memcpy.patch |   34 ++++++++++++++++++++++++++++++++++
 2 files changed, 43 insertions(+), 7 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2017-06-21 10:40:14 UTC (rev 299113)
+++ PKGBUILD	2017-06-21 11:32:42 UTC (rev 299114)
@@ -2,7 +2,7 @@
 # Contributor: Eric Bélanger <eric at archlinux.org>
 
 pkgname=webkit2gtk
-pkgver=2.16.3
+pkgver=2.16.4
 pkgrel=1
 pkgdesc="GTK+ Web content engine library"
 arch=(i686 x86_64)
@@ -17,20 +17,22 @@
             'gst-libav: nonfree media decoding')
 options=(!emptydirs)
 source=(https://webkitgtk.org/releases/webkitgtk-${pkgver}.tar.xz{,.asc}
-        icu59.patch)
-sha256sums=('204e9131da0101b9bc8765716e70a897121af04b964d9827cd9f20816a77b512'
+        icu59.patch gcc7-memcpy.patch)
+sha256sums=('f9aba4338319bd539785345144e28c8027dc8cb526b2e443e0c8f2c0239f5128'
             'SKIP'
-            'eb791b9c8dcb84996904846dedf8c3ddf1a5fde32330177f3f0071510bd8ca6d')
+            'eb791b9c8dcb84996904846dedf8c3ddf1a5fde32330177f3f0071510bd8ca6d'
+            '025e36bef353f850598a9bd9d91bc1aa2e2f75db9f46c252ec2f861726299189')
 validpgpkeys=('D7FCF61CF9A2DEAB31D81BD3F3D322D0EC4582C3')
 
 prepare() {
   mkdir build
+  cd webkitgtk-$pkgver
 
-  cd webkitgtk-$pkgver
+  patch -Np1 -i ../icu59.patch
+  patch -Np1 -i ../gcc7-memcpy.patch  # https://bugs.webkit.org/show_bug.cgi?id=173407
+
   sed -i '1s/python$/&2/' Tools/gtk/generate-gtkdoc
   rm -r Source/ThirdParty/gtest/
-  #rm -r Source/ThirdParty/qunit/
-  patch -Np1 -i ../icu59.patch
 }
 
 build() {

Added: gcc7-memcpy.patch
===================================================================
--- gcc7-memcpy.patch	                        (rev 0)
+++ gcc7-memcpy.patch	2017-06-21 11:32:42 UTC (rev 299114)
@@ -0,0 +1,34 @@
+diff -u -r webkitgtk-2.16.4/Source/WTF/wtf/text/StringImpl.h webkitgtk-2.16.4-memcpy/Source/WTF/wtf/text/StringImpl.h
+--- webkitgtk-2.16.4/Source/WTF/wtf/text/StringImpl.h	2017-02-20 17:20:15.000000000 +0100
++++ webkitgtk-2.16.4-memcpy/Source/WTF/wtf/text/StringImpl.h	2017-06-21 09:45:07.835653812 +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)



More information about the arch-commits mailing list