summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaweł Hajdan <phajdan.jr@gentoo.org>2011-10-12 22:04:09 +0000
committerPaweł Hajdan <phajdan.jr@gentoo.org>2011-10-12 22:04:09 +0000
commit4aef621a5c66fd568f58e938b1005928bd785aa4 (patch)
treea380e9fbd4ec080663cab11de916cc498aba8668
parentRemoved 4.1.4 version (bug #386741) (diff)
downloadhistorical-4aef621a5c66fd568f58e938b1005928bd785aa4.tar.gz
historical-4aef621a5c66fd568f58e938b1005928bd785aa4.tar.bz2
historical-4aef621a5c66fd568f58e938b1005928bd785aa4.zip
Backport an upstream patch to fix Gentoo bug #380827 by Piotr Mitas.
Package-Manager: portage-2.1.10.11/cvs/Linux i686
-rw-r--r--dev-libs/icu/ChangeLog8
-rw-r--r--dev-libs/icu/Manifest16
-rw-r--r--dev-libs/icu/files/icu-4.8.1-fix_nan.patch68
-rw-r--r--dev-libs/icu/icu-4.8.1-r2.ebuild91
4 files changed, 174 insertions, 9 deletions
diff --git a/dev-libs/icu/ChangeLog b/dev-libs/icu/ChangeLog
index e60a53b7d7ba..0fa5897b2df3 100644
--- a/dev-libs/icu/ChangeLog
+++ b/dev-libs/icu/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for dev-libs/icu
# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-libs/icu/ChangeLog,v 1.159 2011/09/05 16:50:52 scarabeus Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/icu/ChangeLog,v 1.160 2011/10/12 22:04:09 phajdan.jr Exp $
+
+*icu-4.8.1-r2 (12 Oct 2011)
+
+ 12 Oct 2011; Pawel Hajdan jr <phajdan.jr@gentoo.org> +icu-4.8.1-r2.ebuild,
+ +files/icu-4.8.1-fix_nan.patch:
+ Backport an upstream patch to fix Gentoo bug #380827 by Piotr Mitas.
*icu-4.8.1-r1 (05 Sep 2011)
diff --git a/dev-libs/icu/Manifest b/dev-libs/icu/Manifest
index 228e33e896ed..e4ad1348aef1 100644
--- a/dev-libs/icu/Manifest
+++ b/dev-libs/icu/Manifest
@@ -1,9 +1,10 @@
-----BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA256
+Hash: SHA512
AUX icu-4.6-pkgdata.patch 4214 RMD160 0cdc3d409dcdedf7ac62cc0a29142d75dbb6aeee SHA1 c0bf9c4ca0767887ef4839e5f7ae31636d01d34a SHA256 643cfce19b2091fee859462a86dac7b6119063ee67abc1132d4700c44a79c271
AUX icu-4.6.1-parallel_installation.patch 1329 RMD160 48b673c8e56d046880340eca0c05cb0e52efde2a SHA1 2c00430f7ac4351a30ef048cf299288ab3735a33 SHA256 03ce917d8211af55ba2833039c90cf957696f6579e9b067ee26aa246363eaac7
AUX icu-4.8.1-fix_binformat_fonts.patch 673 RMD160 b13e5d06ecb2c8b331addc7703f4d4278d5977f1 SHA1 b38a0d0f5b773069b70cae572fa2ffc5b4629547 SHA256 f298ebd4c9334f4855fecec2cb9c2d02a12653ac98b2f4bb31df3030c5b2acf7
+AUX icu-4.8.1-fix_nan.patch 2246 RMD160 289f11b2a260de557c30eb8527c8a0886cfe6ecb SHA1 5964b99936cb2c0c9af2234c02502799d10eb367 SHA256 6e2375c96cfdf87028e6c3d3235ab7bfc6258cd0a505a75f3518611b1caba8e4
DIST icu4c-4_6-docs.zip 4884171 RMD160 ac5bc160bdb0f183ab0c5aa31324fa197b1a43f5 SHA1 c56518ffededdebea15525e1e25499e3e58aaec3 SHA256 863f88a12d63e1cfa449ff4010404610e2c7be4f22f98ac412d15c9e66d8a6d8
DIST icu4c-4_6-src.tgz 15543712 RMD160 1cb84839384af5cba75bda6358c8bdaa82adaa9c SHA1 efc68a73a424d5822565feaf4468336f77294e8e SHA256 b5a1ada8127d8b79187f887903e34a87dbecea2659a139993bf81ad7309ddffc
DIST icu4c-4_8-docs.zip 10750270 RMD160 74149a52b21cdea7b4779bb1585888c82ac4b708 SHA1 c10d4dc711438763631564ace8200e3cef66f190 SHA256 dff1e6d5e674985e89b30a336d1d142cc5cf8e6c70acf398db50223cb837f0e4
@@ -12,15 +13,14 @@ DIST icu4c-4_8_1-docs.zip 5364512 RMD160 bc1794f99be91b7646f13ac06a96b912a1b388f
DIST icu4c-4_8_1-src.tgz 18677882 RMD160 2196dffbc2d074cf56f5dcbb4e2b802c950cfcf0 SHA1 f0252b2b7ad1ef861ac39b177b7a6fcb6c94eb45 SHA256 19a4cd6e94187a03bca7514d694c5a5a666567e2884ce008ca9f14fa400af88f
EBUILD icu-4.6.ebuild 2298 RMD160 6d1c590d0ea65070ad719210284c2d8587523868 SHA1 adb4f653ccbe95464797d7770ef6b62c3f634517 SHA256 e8d571cbfb718379372612180632df65979bb211c6526d1014c28e599d4f8b59
EBUILD icu-4.8.1-r1.ebuild 2364 RMD160 70f23a6b8382c082205f00d05b8ac1980f55aaff SHA1 6e6077f373dfe281bd26b23d79da26fe7813db96 SHA256 6a82e161ff2117d87fc649d1f3c818c9c9063caecca9a9e6ef528ea6d5a56dbf
+EBUILD icu-4.8.1-r2.ebuild 2411 RMD160 f0eebfcf2eade1641145d29a72582890065babdd SHA1 1b787679107886a781114df5c4a51cd5be00d3db SHA256 8b22d2fec5e21db1f8de69956a033e622cf895e8c6d82d470d98951744311eb6
EBUILD icu-4.8.ebuild 2283 RMD160 6ce2edd45c7147e53ff6f91a90846a8f6547de6a SHA1 4ce52186d0e8cfa0c867508300218abdb7bd59bd SHA256 bec58ae299472cdbb5a89d5a416013e21598cf66ae586d78f71a073684331155
-MISC ChangeLog 19731 RMD160 bc3b914fec8cfd25401ef35c92908468ed6ea90f SHA1 57b026b18e779fb637e780a97738137c752a3b81 SHA256 d02a3719fd88e4cfa8c0c18caafb380ace1ab3a655a003ae864b3ff0c9d465fd
+MISC ChangeLog 19944 RMD160 509087c0901dbf046afaf16c69afb894a1e11fc7 SHA1 82dd5d61eb7a8c195833673b141b9a0dcea41b32 SHA256 6aa68db312726597a105b565a1d66f619bd96620826019389415af3783872368
MISC metadata.xml 416 RMD160 a0cb34c06171b26aa6c8327bfbffbded6329bd4c SHA1 6527f1a54252da5ce94a59da162831c360af0287 SHA256 327e9387b2e51e95fb33707787c6a4e3bf2e2fcea2924bd241f4b257951c4c9d
-----BEGIN PGP SIGNATURE-----
-Version: GnuPG v2.0.18 (GNU/Linux)
+Version: GnuPG v2.0.17 (GNU/Linux)
-iJwEAQEIAAYFAk59C6oACgkQfXuS5UK5QB3XswP/Yp3wYkLqcOjD4eDQGcYT3iiw
-rvI0lj8rZD1t3bSqd3P5jr+U6wbIezQPZAIB3Xr51Jaesz+ljPJrcd9Ybijeshsu
-ENkPoIEkRPd7RI/s3AkYE96Eupz49Lv0HQrdYDoHPANaoivpbYiVnYUtDHPh2A+d
-K7HM5MX3vzmuGSAkUQ4=
-=r/XT
+iEYEAREKAAYFAk6WDuMACgkQuUQtlDBCeQJexwCeJFAgOC7Pv8Og2zSobIfRK49E
+yNYAn3v+1IPpicjUm9bx0IBV3Qr3Iosl
+=j9tr
-----END PGP SIGNATURE-----
diff --git a/dev-libs/icu/files/icu-4.8.1-fix_nan.patch b/dev-libs/icu/files/icu-4.8.1-fix_nan.patch
new file mode 100644
index 000000000000..971d66d8bc30
--- /dev/null
+++ b/dev-libs/icu/files/icu-4.8.1-fix_nan.patch
@@ -0,0 +1,68 @@
+https://bugs.gentoo.org/show_bug.cgi?id=380827
+http://bugs.icu-project.org/trac/ticket/8561
+http://bugs.icu-project.org/trac/changeset/30689
+http://code.google.com/p/chromium/issues/detail?id=92847
+
+--- source/i18n/digitlst.cpp.orig 2011-07-19 23:16:00.000000000 +0200
++++ source/i18n/digitlst.cpp 2011-10-12 23:47:08.000000000 +0200
+@@ -60,6 +60,18 @@
+
+ U_NAMESPACE_BEGIN
+
++static void
++loadDecimalChar() {
++ if (gDecimal == 0) {
++ char rep[MAX_DIGITS];
++ // For machines that decide to change the decimal on you,
++ // and try to be too smart with localization.
++ // This normally should be just a '.'.
++ sprintf(rep, "%+1.1f", 1.0);
++ gDecimal = rep[2];
++ }
++}
++
+ // -------------------------------------
+ // default constructor
+
+@@ -408,15 +420,6 @@
+ }
+ DigitList *nonConstThis = const_cast<DigitList *>(this);
+
+- if (gDecimal == 0) {
+- char rep[MAX_DIGITS];
+- // For machines that decide to change the decimal on you,
+- // and try to be too smart with localization.
+- // This normally should be just a '.'.
+- sprintf(rep, "%+1.1f", 1.0);
+- gDecimal = rep[2];
+- }
+-
+ if (isZero()) {
+ nonConstThis->fDouble = 0.0;
+ if (decNumberIsNegative(fDecNumber)) {
+@@ -451,6 +454,7 @@
+ }
+ U_ASSERT(uprv_strlen(&s[0]) < MAX_DBL_DIGITS+18);
+
++ loadDecimalChar();
+ if (gDecimal != '.') {
+ char *decimalPt = strchr(s, '.');
+ if (decimalPt != NULL) {
+@@ -741,6 +745,17 @@
+ sprintf(rep, "%+1.*e", MAX_DBL_DIGITS - 1, source);
+ U_ASSERT(uprv_strlen(rep) < sizeof(rep));
+
++ // uprv_decNumberFromString() will parse the string expecting '.' as a
++ // decimal separator, however sprintf() can use ',' in certain locales.
++ // Overwrite a different decimal separator with '.' here before proceeding.
++ loadDecimalChar();
++ if (gDecimal != '.') {
++ char *decimalPt = strchr(rep, gDecimal);
++ if (decimalPt != NULL) {
++ *decimalPt = '.';
++ }
++ }
++
+ // Create a decNumber from the string.
+ uprv_decNumberFromString(fDecNumber, rep, &fContext);
+ uprv_decNumberTrim(fDecNumber);
diff --git a/dev-libs/icu/icu-4.8.1-r2.ebuild b/dev-libs/icu/icu-4.8.1-r2.ebuild
new file mode 100644
index 000000000000..5cbd8276bad2
--- /dev/null
+++ b/dev-libs/icu/icu-4.8.1-r2.ebuild
@@ -0,0 +1,91 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/icu/icu-4.8.1-r2.ebuild,v 1.1 2011/10/12 22:04:09 phajdan.jr Exp $
+
+EAPI="3"
+
+inherit versionator
+
+MAJOR_VERSION="$(get_version_component_range 1)"
+MINOR_VERSION="$(get_version_component_range 2)"
+if [[ "${PV}" =~ ^[[:digit:]]+\.[[:digit:]]+(_rc[[:digit:]]*)?$ ]]; then
+ MICRO_VERSION="0"
+else
+ MICRO_VERSION="$(get_version_component_range 3)"
+fi
+
+DESCRIPTION="International Components for Unicode"
+HOMEPAGE="http://www.icu-project.org/"
+
+BASE_URI="http://download.icu-project.org/files/icu4c/${PV/_/}"
+SRC_ARCHIVE="icu4c-${PV//./_}-src.tgz"
+DOCS_ARCHIVE="icu4c-${PV//./_}-docs.zip"
+
+SRC_URI="${BASE_URI}/${SRC_ARCHIVE}
+ doc? ( ${BASE_URI}/${DOCS_ARCHIVE} )"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd"
+IUSE="debug doc examples static-libs"
+
+DEPEND="doc? ( app-arch/unzip )"
+RDEPEND=""
+
+S="${WORKDIR}/${PN}/source"
+
+QA_DT_NEEDED="/usr/lib.*/libicudata\.so\.${MAJOR_VERSION}${MINOR_VERSION}\.${MICRO_VERSION}"
+
+src_unpack() {
+ unpack "${SRC_ARCHIVE}"
+ if use doc; then
+ mkdir docs
+ pushd docs > /dev/null
+ unpack "${DOCS_ARCHIVE}"
+ popd > /dev/null
+ fi
+}
+
+src_prepare() {
+ # Do not hardcode flags into icu-config.
+ # https://ssl.icu-project.org/trac/ticket/6102
+ local variable
+ for variable in CFLAGS CPPFLAGS CXXFLAGS FFLAGS LDFLAGS; do
+ sed -i -e "/^${variable} =.*/s:@${variable}@::" config/Makefile.inc.in || die "sed failed"
+ done
+
+ epatch "${FILESDIR}/icu-4.8.1-fix_binformat_fonts.patch"
+ epatch "${FILESDIR}/icu-4.8.1-fix_nan.patch"
+}
+
+src_configure() {
+ econf \
+ $(use_enable debug) \
+ $(use_enable examples samples) \
+ $(use_enable static-libs static)
+}
+
+src_test() {
+ # INTLTEST_OPTS: intltest options
+ # -e: Exhaustive testing
+ # -l: Reporting of memory leaks
+ # -v: Increased verbosity
+ # IOTEST_OPTS: iotest options
+ # -e: Exhaustive testing
+ # -v: Increased verbosity
+ # CINTLTST_OPTS: cintltst options
+ # -e: Exhaustive testing
+ # -v: Increased verbosity
+ emake -j1 check || die "emake check failed"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed"
+
+ dohtml ../readme.html
+ dodoc ../unicode-license.txt
+ if use doc; then
+ insinto /usr/share/doc/${PF}/html/api
+ doins -r "${WORKDIR}/docs/"* || die "doins failed"
+ fi
+}