summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGilles Dartiguelongue <eva@gentoo.org>2010-03-29 22:28:28 +0000
committerGilles Dartiguelongue <eva@gentoo.org>2010-03-29 22:28:28 +0000
commit90a18ee28d2ccb8c2bf4b4d1ec563333cc8c5f45 (patch)
tree932d9c8475824b2dc63e63e5f42d89102a4e40fe /net-libs/webkit-gtk
parentUpdate my first name. (diff)
downloadgentoo-2-90a18ee28d2ccb8c2bf4b4d1ec563333cc8c5f45.tar.gz
gentoo-2-90a18ee28d2ccb8c2bf4b4d1ec563333cc8c5f45.tar.bz2
gentoo-2-90a18ee28d2ccb8c2bf4b4d1ec563333cc8c5f45.zip
Fix build with icu-4.4, bug #308699.
(Portage version: 2.2_rc67/cvs/Linux x86_64)
Diffstat (limited to 'net-libs/webkit-gtk')
-rw-r--r--net-libs/webkit-gtk/ChangeLog6
-rw-r--r--net-libs/webkit-gtk/files/webkit-gtk-1.1.15.4-icu44.patch115
-rw-r--r--net-libs/webkit-gtk/webkit-gtk-1.1.15.4.ebuild8
3 files changed, 126 insertions, 3 deletions
diff --git a/net-libs/webkit-gtk/ChangeLog b/net-libs/webkit-gtk/ChangeLog
index 5244e418ae32..bac094c57f5c 100644
--- a/net-libs/webkit-gtk/ChangeLog
+++ b/net-libs/webkit-gtk/ChangeLog
@@ -1,6 +1,10 @@
# ChangeLog for net-libs/webkit-gtk
# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-libs/webkit-gtk/ChangeLog,v 1.69 2010/03/24 18:25:26 armin76 Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-libs/webkit-gtk/ChangeLog,v 1.70 2010/03/29 22:28:28 eva Exp $
+
+ 29 Mar 2010; Gilles Dartiguelongue <eva@gentoo.org>
+ webkit-gtk-1.1.15.4.ebuild, +files/webkit-gtk-1.1.15.4-icu44.patch:
+ Fix build with icu-4.4, bug #308699.
24 Mar 2010; Raúl Porcel <armin76@gentoo.org> webkit-gtk-1.1.15.4.ebuild:
alpha/arm/ia64/sparc stable wrt #304775
diff --git a/net-libs/webkit-gtk/files/webkit-gtk-1.1.15.4-icu44.patch b/net-libs/webkit-gtk/files/webkit-gtk-1.1.15.4-icu44.patch
new file mode 100644
index 000000000000..bae28344704b
--- /dev/null
+++ b/net-libs/webkit-gtk/files/webkit-gtk-1.1.15.4-icu44.patch
@@ -0,0 +1,115 @@
+Backport of upstream revision 56345 (2010-03-22 Darin Adler <darin@apple.com>)
+to webkit-gtk-1.1.15.4
+
+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, platform/text/TextBoundariesICU.cpp:
+Use reinterpret_cast instead of static_cast or relying on conversion to void*.
+
+diff -ru webkit-1.1.15.4-orig//WebCore/platform/text/TextBoundariesICU.cpp webkit-1.1.15.4/WebCore/platform/text/TextBoundariesICU.cpp
+--- webkit-1.1.15.4-orig//WebCore/platform/text/TextBoundariesICU.cpp 2009-09-22 11:29:21.000000000 -0400
++++ webkit-1.1.15.4/WebCore/platform/text/TextBoundariesICU.cpp 2010-03-26 03:19:14.852055685 -0400
+@@ -36,7 +36,7 @@
+
+ int findNextWordFromIndex(const UChar* chars, int len, int position, bool forward)
+ {
+- UBreakIterator* it = wordBreakIterator(chars, len);
++ UBreakIterator* it = reinterpret_cast<UBreakIterator*>(wordBreakIterator(chars, len));
+
+ if (forward) {
+ position = ubrk_following(it, position);
+@@ -67,7 +67,7 @@
+
+ void findWordBoundary(const UChar* chars, int len, int position, int* start, int* end)
+ {
+- UBreakIterator* it = wordBreakIterator(chars, len);
++ UBreakIterator* it = reinterpret_cast<UBreakIterator*>(wordBreakIterator(chars, len));
+ *end = ubrk_following(it, position);
+ if (*end < 0)
+ *end = ubrk_last(it);
+diff -ru webkit-1.1.15.4-orig//WebCore/platform/text/TextBreakIteratorICU.cpp webkit-1.1.15.4/WebCore/platform/text/TextBreakIteratorICU.cpp
+--- webkit-1.1.15.4-orig//WebCore/platform/text/TextBreakIteratorICU.cpp 2009-09-22 11:29:21.000000000 -0400
++++ webkit-1.1.15.4/WebCore/platform/text/TextBreakIteratorICU.cpp 2010-03-26 02:44:51.934479159 -0400
+@@ -38,7 +38,7 @@
+
+ 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);
+ }
+@@ -46,7 +46,7 @@
+ return 0;
+
+ 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;
+
+@@ -85,34 +85,34 @@
+ staticSentenceBreakIterator, UBRK_SENTENCE, string, length);
+ }
+
+-int textBreakFirst(TextBreakIterator* bi)
++int textBreakFirst(TextBreakIterator* iterator)
+ {
+- return ubrk_first(bi);
++ return ubrk_first(reinterpret_cast<UBreakIterator*>(iterator));
+ }
+
+-int textBreakNext(TextBreakIterator* bi)
++int textBreakNext(TextBreakIterator* iterator)
+ {
+- return ubrk_next(bi);
++ return ubrk_next(reinterpret_cast<UBreakIterator*>(iterator));
+ }
+
+-int textBreakPreceding(TextBreakIterator* bi, int pos)
++int textBreakPreceding(TextBreakIterator* iterator, int pos)
+ {
+- return ubrk_preceding(bi, pos);
++ return ubrk_preceding(reinterpret_cast<UBreakIterator*>(iterator), pos);
+ }
+
+-int textBreakFollowing(TextBreakIterator* bi, int pos)
++int textBreakFollowing(TextBreakIterator* iterator, int pos)
+ {
+- return ubrk_following(bi, pos);
++ return ubrk_following(reinterpret_cast<UBreakIterator*>(iterator), pos);
+ }
+
+-int textBreakCurrent(TextBreakIterator* bi)
++int textBreakCurrent(TextBreakIterator* iterator)
+ {
+- return ubrk_current(bi);
++ return ubrk_current(reinterpret_cast<UBreakIterator*>(iterator));
+ }
+
+-bool isTextBreak(TextBreakIterator* bi, int pos)
++bool isTextBreak(TextBreakIterator* iterator, int position)
+ {
+- return ubrk_isBoundary(bi, pos);
++ return ubrk_isBoundary(reinterpret_cast<UBreakIterator*>(iterator), position);
+ }
+
+ #ifndef BUILDING_ON_TIGER
+@@ -126,7 +126,7 @@
+ UParseError parseStatus;
+ 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);
+ }
+@@ -134,7 +134,7 @@
+ return 0;
+
+ 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;
+
diff --git a/net-libs/webkit-gtk/webkit-gtk-1.1.15.4.ebuild b/net-libs/webkit-gtk/webkit-gtk-1.1.15.4.ebuild
index d2ab8fd58e7c..7e792f5e911c 100644
--- a/net-libs/webkit-gtk/webkit-gtk-1.1.15.4.ebuild
+++ b/net-libs/webkit-gtk/webkit-gtk-1.1.15.4.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-libs/webkit-gtk/webkit-gtk-1.1.15.4.ebuild,v 1.12 2010/03/24 18:25:26 armin76 Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-libs/webkit-gtk/webkit-gtk-1.1.15.4.ebuild,v 1.13 2010/03/29 22:28:28 eva Exp $
EAPI="2"
@@ -49,18 +49,22 @@ DEPEND="${RDEPEND}
S="${WORKDIR}/${MY_P}"
src_prepare() {
-
# FIXME: Fix unaligned accesses on ARM, IA64 and SPARC
use sparc && epatch "${FILESDIR}"/webkit-gtk-1.1.15.2-unaligned.patch
# Darwin/Aqua build is broken, needs autoreconf
epatch "${FILESDIR}"/${P}-darwin-quartz.patch
+ # Fix build with icu-4.4
+ epatch "${FILESDIR}/${PN}-1.1.15.4-icu44.patch"
+
# Make it libtool-1 compatible
rm -v autotools/lt* autotools/libtool.m4 \
|| die "removing libtool macros failed"
+
# Don't force -O2
sed -i 's/-O2//g' "${S}"/configure.ac || die "sed failed"
+
# Prevent maintainer mode from being triggered during make
AT_M4DIR=autotools eautoreconf
}