Fix build with icu-4.4, bug #308699.
authorGilles Dartiguelongue <eva@gentoo.org>
Mon, 29 Mar 2010 22:28:28 +0000 (22:28 +0000)
committerGilles Dartiguelongue <eva@gentoo.org>
Mon, 29 Mar 2010 22:28:28 +0000 (22:28 +0000)
Package-Manager: portage-2.2_rc67/cvs/Linux x86_64

net-libs/webkit-gtk/ChangeLog
net-libs/webkit-gtk/Manifest
net-libs/webkit-gtk/files/webkit-gtk-1.1.15.4-icu44.patch [new file with mode: 0644]
net-libs/webkit-gtk/webkit-gtk-1.1.15.4.ebuild

index 5244e418ae322116a6731c0bd05b4f00f88aae29..bac094c57f5cec581076a641c03bb53d41730d9a 100644 (file)
@@ -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
index 0e4cce223d8ec68948456601f0d79903e98b6896..ddc9451fe07153c5dfaf3f85bb677b20531fc35e 100644 (file)
@@ -1,7 +1,11 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA1
+
 AUX webkit-gtk-0_p40220-gcc44-aliasing.patch 31876 RMD160 19f850df93fd81d1a736dbcc5441d0193929ef35 SHA1 293465980ececa6f2dbdd55787edf2676f628edf SHA256 6aee86b94b443a088502a35d25ffc7f17fa36f6e89dd082dcca11042a7af110f
 AUX webkit-gtk-1.1.10-reduce-gnome-keyring-req.patch 363 RMD160 89f5fb0c5ac6925ba01b2b1eeb67c28784cacbe3 SHA1 ddb49156ffc156930494026195cbfd3d428ae958 SHA256 4824005e4178b78a50b3f0d2bd31f06c8ccc35197f631a60839b613bdc36a491
 AUX webkit-gtk-1.1.15.2-unaligned.patch 4403 RMD160 c9ba117a35e07ed1097787934fdb0750b2baaab5 SHA1 fd1ddaff12705784662002554a76aea67ff70320 SHA256 8b20af7ccad9d91f8d76465843b6a40e80c59c8e9620cf7772ba6f64406b3e68
 AUX webkit-gtk-1.1.15.4-darwin-quartz.patch 2353 RMD160 4293e345e05390cf93b97d381edb7c443ae0cc02 SHA1 f2d67803f59503ff9d408be0a38983ac25439dad SHA256 3aedd95fc50d92b31e6043d1e8df0c50385b96503e94945547b1f65675f21a12
+AUX webkit-gtk-1.1.15.4-icu44.patch 4907 RMD160 aec153a9a9cbeb435a0e28ba567daf215380d870 SHA1 c5366b8f1e65105faa170ef8c90c1d94f739fec2 SHA256 75a6f47728436082b5039f961f3dc5a10888c1c49779c2b4dcbb0321cf65ef8e
 AUX webkit-gtk-CVE-2009-0945.patch 671 RMD160 a51f2326f44e05146eaeea5b3f0fcc973efdaeca SHA1 2a281b7ee69158daf7d088add2f21f99903506dd SHA256 65ccad453b147067725dac0f9ba8f07cd0d04970ab0f8d85f086ef07a6d0b3c3
 DIST WebKit-r40220.tar.bz2 10307835 RMD160 5700977d5a9a23680e58b1e3952ecb2fe1430e9a SHA1 2aa2bd3a9c60f53a1a1ef0bf810ea2c59b0a80e2 SHA256 223154d0e247336cd3cf808b030cfb00739103b7a258050e71703903df922020
 DIST webkit-1.1.10.tar.gz 6343872 RMD160 c3d5a7b9793318d0fc9f4d170b7aeac7a6f30735 SHA1 8f0637c936b4f62fb21c8d0c35298e5c0317fd0a SHA256 4eb4fc4a3f47edbc18c9dc09d54fd2189954ebaa0e521b0ab97e21087d8c9855
@@ -10,6 +14,13 @@ DIST webkit-1.1.15.4.tar.gz 6093252 RMD160 dcfae86f7a2fc63b478741b370ac620d16595
 EBUILD webkit-gtk-0_p40220-r1.ebuild 2017 RMD160 e0c5faca4ae98256b4b964fde174e932aad08d6e SHA1 6de0cd2a6d02773f13d00232ac66aa2073df17db SHA256 1220f0c9faff1820bcb8ddebaf3a3a0e0b133456fd6497f40311463efbffad69
 EBUILD webkit-gtk-1.1.10.ebuild 2976 RMD160 ecc59930e536131d688ce880f367700c5bcd1e47 SHA1 08ea90e8553cd00f3aa1fc2755b8449f5404525f SHA256 e00bdd4a2374365af63e84773cdb312a2f81ad032070ac9e7229b945b3ff460d
 EBUILD webkit-gtk-1.1.15.2.ebuild 2552 RMD160 837dac1f7b95d3572c8ebad053b21b7f5747067f SHA1 ae8639397b29ed382188206c8d1ef247bb034ae0 SHA256 992e770a8e310d72d0d4ea975d9c9e81a16eb0d67e551e64d9618b277fa0c672
-EBUILD webkit-gtk-1.1.15.4.ebuild 2477 RMD160 7c83b117ad54ca67476604ec613a01fc8d3b64b0 SHA1 56eb5d16e454566802c16470ea30da546d2f22dc SHA256 0c70ca039baf3e1b94e4586ed680bb061b1671b89f95bb84aacff467e27b295e
-MISC ChangeLog 14182 RMD160 b8d78d81a6dbf1ae95167c471cef8cfcf18ceeca SHA1 8340e4683c78ae133b7f2781852145f88e5e7299 SHA256 6fa8f89e50e73d6683e2816573c420926bf57ef853b5c910f5607124fe552f57
+EBUILD webkit-gtk-1.1.15.4.ebuild 2550 RMD160 64a87a310fe47ccb336c66f39b3b86a1fa869d14 SHA1 193e316fe1ba246e32c550992782f0afa360bf46 SHA256 bd88cecc6710e5d52954f5c990ee322b1e18b5b47d04164789b346d2f00ff5c3
+MISC ChangeLog 14342 RMD160 ec1f2b107c7a284e34f773304386f443d1fe2c29 SHA1 51141aaec9ab93a102dee79dc4ac6dc06abb190d SHA256 f266c838cbb5ccb1c1fcd74582e25f888b61f8807bc69e312329f5d784e20a92
 MISC metadata.xml 591 RMD160 18f8c12c97d9acfac4f369a8fdec00849d353052 SHA1 621335f7f66103ecd503aa389dd7368c7e1fc82e SHA256 0aa4a85244811bc10d7863b4b2f55d95100f8fa9df55827fb392c2b4c74f281d
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v2.0.14 (GNU/Linux)
+
+iEYEARECAAYFAkuxKZMACgkQ1fmVwcYIWAZ8ugCfevL3p8cf1nwDYp/AdMTCn+Ai
+R94AoK880TRb5nAMao5LuivDXMAVSkwA
+=u8Q/
+-----END PGP SIGNATURE-----
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 (file)
index 0000000..bae2834
--- /dev/null
@@ -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;
+ 
index d2ab8fd58e7c9261f80858b244e571e80e00cf21..7e792f5e911c0238e07c325e48052422cebdaec4 100644 (file)
@@ -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
 }