[arch-commits] Commit in libwebkit/trunk (PKGBUILD icu-4.4.patch)

Pierre Schmitz pierre at archlinux.org
Fri Apr 2 21:24:51 UTC 2010


    Date: Friday, April 2, 2010 @ 17:24:51
  Author: pierre
Revision: 75735

upgpkg: libwebkit 1.1.90-2
icu rebuild

Added:
  libwebkit/trunk/icu-4.4.patch
Modified:
  libwebkit/trunk/PKGBUILD

---------------+
 PKGBUILD      |   18 ++++---
 icu-4.4.patch |  141 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 153 insertions(+), 6 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2010-04-02 21:23:48 UTC (rev 75734)
+++ PKGBUILD	2010-04-02 21:24:51 UTC (rev 75735)
@@ -3,28 +3,34 @@
 
 pkgname=libwebkit
 pkgver=1.1.90
-pkgrel=1
+pkgrel=2
 pkgdesc="an opensource web content engine, derived from KHTML and KJS from KDE"
 arch=('i686' 'x86_64')
 url="http://webkitgtk.org/"
 license=('custom')
-depends=('libxt' 'libxslt' 'sqlite3>=3.6.22' 'gtk2>=2.19.7' 'icu>=4.2' 'gstreamer0.10-base>=0.10.26' 'libsoup>=2.29.91' 'enchant>=1.5.0')
-makedepends=('gperf' 'gtk-doc>=1.11' 'gir-repository')
+depends=('libxt' 'libxslt' 'sqlite3' 'gtk2' 'icu' 'gstreamer0.10-base' 'libsoup' 'enchant')
+makedepends=('gperf' 'gtk-doc' 'gir-repository')
 provides=('webkitgtk-svn')
 conflicts=('webkitgtk-svn')
 replaces=('webkitgtk-svn')
 options=('!libtool')
-source=(http://webkitgtk.org/webkit-${pkgver}.tar.gz)
-md5sums=('839bea95a10119332c8a6574e6aa329b')
+source=("http://webkitgtk.org/webkit-${pkgver}.tar.gz"
+        'icu-4.4.patch')
+md5sums=('839bea95a10119332c8a6574e6aa329b'
+         'ea289da2a03857e946cb835fd9e95097')
 
 build() {
   cd "${srcdir}/webkit-${pkgver}"
+  patch -p2 -i $srcdir/icu-4.4.patch || return 1
   ./configure --prefix=/usr \
       --enable-video --enable-introspection \
       --with-font-backend=freetype --enable-gtk-doc \
       --enable-jit --with-unicode-backend=icu || return 1
   make || return 1
+}
+
+package() {
+  cd "${srcdir}/webkit-${pkgver}"
   make DESTDIR="${pkgdir}" install || return 1
-
   install -Dm644 WebKit/LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" || return 1
 }

Added: icu-4.4.patch
===================================================================
--- icu-4.4.patch	                        (rev 0)
+++ icu-4.4.patch	2010-04-02 21:24:51 UTC (rev 75735)
@@ -0,0 +1,141 @@
+2010-03-22  Darin Adler  <darin at apple.com>
+
+        Reviewed by Dan Bernstein.
+
+        TextBreakIteratorICU.cpp is incompatible with new UBreakIterator type in ICU 4.4
+        https://bugs.webkit.org/show_bug.cgi?id=36381
+
+        * platform/text/TextBreakIteratorICU.cpp:
+        (WebCore::setUpIterator): Use reinterpret_cast instead of static_cast or relying
+        on conversion to void*.
+        (WebCore::textBreakFirst): Ditto.
+        (WebCore::textBreakLast): Ditto.
+        (WebCore::textBreakNext): Ditto.
+        (WebCore::textBreakPrevious): Ditto.
+        (WebCore::textBreakPreceding): Ditto.
+        (WebCore::textBreakFollowing): Ditto.
+        (WebCore::textBreakCurrent): Ditto.
+        (WebCore::isTextBreak): Ditto.
+        (WebCore::setUpIteratorWithRules): Ditto.
+
+ 2010-03-22  Eric Carlson  <eric.carlson at apple.com>
+ 
+Index: /trunk/WebCore/platform/text/TextBreakIteratorICU.cpp
+===================================================================
+--- /trunk/WebCore/platform/text/TextBreakIteratorICU.cpp (revision 50977)
++++ /trunk/WebCore/platform/text/TextBreakIteratorICU.cpp (revision 56345)
+@@ -25,5 +25,4 @@
+ #include "PlatformString.h"
+ #include "TextBreakIteratorInternalICU.h"
+-
+ #include <unicode/ubrk.h>
+ #include <wtf/Assertions.h>
+@@ -39,5 +38,5 @@
+     if (!createdIterator) {
+         UErrorCode openStatus = U_ZERO_ERROR;
+-        iterator = static_cast<TextBreakIterator*>(ubrk_open(type, currentTextBreakLocaleID(), 0, 0, &openStatus));
++        iterator = reinterpret_cast<TextBreakIterator*>(ubrk_open(type, currentTextBreakLocaleID(), 0, 0, &openStatus));
+         createdIterator = true;
+         ASSERT_WITH_MESSAGE(U_SUCCESS(openStatus), "ICU could not open a break iterator: %s (%d)", u_errorName(openStatus), openStatus);
+@@ -47,5 +46,5 @@
+ 
+     UErrorCode setTextStatus = U_ZERO_ERROR;
+-    ubrk_setText(iterator, string, length, &setTextStatus);
++    ubrk_setText(reinterpret_cast<UBreakIterator*>(iterator), string, length, &setTextStatus);
+     if (U_FAILURE(setTextStatus))
+         return 0;
+@@ -86,42 +85,42 @@
+ }
+ 
+-int textBreakFirst(TextBreakIterator* bi)
+-{
+-    return ubrk_first(bi);
+-}
+-
+-int textBreakLast(TextBreakIterator* bi)
+-{
+-    return ubrk_last(bi);
+-}
+-
+-int textBreakNext(TextBreakIterator* bi)
+-{
+-    return ubrk_next(bi);
+-}
+-
+-int textBreakPrevious(TextBreakIterator* bi)
+-{
+-    return ubrk_previous(bi);
+-}
+-
+-int textBreakPreceding(TextBreakIterator* bi, int pos)
+-{
+-    return ubrk_preceding(bi, pos);
+-}
+-
+-int textBreakFollowing(TextBreakIterator* bi, int pos)
+-{
+-    return ubrk_following(bi, pos);
+-}
+-
+-int textBreakCurrent(TextBreakIterator* bi)
+-{
+-    return ubrk_current(bi);
+-}
+-
+-bool isTextBreak(TextBreakIterator* bi, int pos)
+-{
+-    return ubrk_isBoundary(bi, pos);
++int textBreakFirst(TextBreakIterator* iterator)
++{
++    return ubrk_first(reinterpret_cast<UBreakIterator*>(iterator));
++}
++
++int textBreakLast(TextBreakIterator* iterator)
++{
++    return ubrk_last(reinterpret_cast<UBreakIterator*>(iterator));
++}
++
++int textBreakNext(TextBreakIterator* iterator)
++{
++    return ubrk_next(reinterpret_cast<UBreakIterator*>(iterator));
++}
++
++int textBreakPrevious(TextBreakIterator* iterator)
++{
++    return ubrk_previous(reinterpret_cast<UBreakIterator*>(iterator));
++}
++
++int textBreakPreceding(TextBreakIterator* iterator, int pos)
++{
++    return ubrk_preceding(reinterpret_cast<UBreakIterator*>(iterator), pos);
++}
++
++int textBreakFollowing(TextBreakIterator* iterator, int pos)
++{
++    return ubrk_following(reinterpret_cast<UBreakIterator*>(iterator), pos);
++}
++
++int textBreakCurrent(TextBreakIterator* iterator)
++{
++    return ubrk_current(reinterpret_cast<UBreakIterator*>(iterator));
++}
++
++bool isTextBreak(TextBreakIterator* iterator, int position)
++{
++    return ubrk_isBoundary(reinterpret_cast<UBreakIterator*>(iterator), position);
+ }
+ 
+@@ -137,5 +136,5 @@
+         UErrorCode openStatus = U_ZERO_ERROR;
+         String rules(breakRules);
+-        iterator = static_cast<TextBreakIterator*>(ubrk_openRules(rules.characters(), rules.length(), 0, 0, &parseStatus, &openStatus));
++        iterator = reinterpret_cast<TextBreakIterator*>(ubrk_openRules(rules.characters(), rules.length(), 0, 0, &parseStatus, &openStatus));
+         createdIterator = true;
+         ASSERT_WITH_MESSAGE(U_SUCCESS(openStatus), "ICU could not open a break iterator: %s (%d)", u_errorName(openStatus), openStatus);
+@@ -145,5 +144,5 @@
+ 
+     UErrorCode setTextStatus = U_ZERO_ERROR;
+-    ubrk_setText(iterator, string, length, &setTextStatus);
++    ubrk_setText(reinterpret_cast<UBreakIterator*>(iterator), string, length, &setTextStatus);
+     if (U_FAILURE(setTextStatus))
+         return 0;




More information about the arch-commits mailing list