add icu 4.0 for licensed server
git-svn-id: https://svn.disconnected-by-peer.at/svn/linamh/trunk/zarafa@2983 6952d904-891a-0410-993b-d76249ca496b
This commit is contained in:
4
dev-libs/icu/Manifest
Normal file
4
dev-libs/icu/Manifest
Normal file
@@ -0,0 +1,4 @@
|
||||
AUX icu-4.0.1-TestDisplayNamesMeta.patch 8259 RMD160 4eb64876eee0ff21577f8330326ba96010545cc1 SHA1 d8fe22be87fbb99f8c1a0bbb9d94bc2d93ca083a SHA256 cfcedc486f4c530e43b5fffacf4068f76d026ab73dd4aa1dff253fc87c2e462c
|
||||
AUX icu-4.0.1-fix_parallel_building.patch 145 RMD160 d7e74631383b01a7cd9d18f9fda2949e1b3ec198 SHA1 5edcb46b7730b11aeaf5ed2e8e968e588eb1d492 SHA256 244bee4fcabe5c1bcf95af2d9a01d87b2de27407e662f2c1663c5ce15ac8a561
|
||||
DIST icu4c-4_0_1-src.tgz 12356471 RMD160 e40e7ffddd3134a34fe7e7bc98d776c5b67b637c SHA1 65a65e9cd5670e113031def9448f65fb8f84f47a SHA256 fe4d33cc7393c355df7b13080e1c3717ec1acac2f8cfe452b691f33c5f467259
|
||||
EBUILD icu-4.0.1.ebuild 1806 RMD160 15c61a54941d47a93d0bd9126ab6ac4e474f06fb SHA1 77101ae57cd9942cb941fd2a3a2ba57d782f1bed SHA256 f1a7ead02fd141ec03758588771fe525be0b4d22e142651b6538291bce6c7aab
|
||||
177
dev-libs/icu/files/icu-4.0.1-TestDisplayNamesMeta.patch
Normal file
177
dev-libs/icu/files/icu-4.0.1-TestDisplayNamesMeta.patch
Normal file
@@ -0,0 +1,177 @@
|
||||
https://bugs.icu-project.org/trac/ticket/6814
|
||||
https://bugs.icu-project.org/trac/changeset/25681
|
||||
|
||||
--- i18n/olsontz.cpp
|
||||
+++ i18n/olsontz.cpp
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
**********************************************************************
|
||||
-* Copyright (c) 2003-2008, International Business Machines
|
||||
+* Copyright (c) 2003-2009, International Business Machines
|
||||
* Corporation and others. All Rights Reserved.
|
||||
**********************************************************************
|
||||
* Author: Alan Liu
|
||||
@@ -526,8 +526,8 @@
|
||||
if (transitionTimes[i] >= limit) {
|
||||
break;
|
||||
}
|
||||
- if (transitionTimes[i] >= start &&
|
||||
- dstOffset(typeData[i]) != 0) {
|
||||
+ if ((transitionTimes[i] >= start && dstOffset(typeData[i]) != 0)
|
||||
+ || (transitionTimes[i] > start && i > 0 && dstOffset(typeData[i - 1]) != 0)) {
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
--- i18n/timezone.cpp
|
||||
+++ i18n/timezone.cpp
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
*******************************************************************************
|
||||
-* Copyright (C) 1997-2008, International Business Machines Corporation and *
|
||||
+* Copyright (C) 1997-2009, International Business Machines Corporation and *
|
||||
* others. All Rights Reserved. *
|
||||
*******************************************************************************
|
||||
*
|
||||
@@ -1240,6 +1240,8 @@
|
||||
}
|
||||
} else {
|
||||
// The display name for standard time was requested, but currently in DST
|
||||
+ // or display name for daylight saving time was requested, but this zone no longer
|
||||
+ // observes DST.
|
||||
tz = new SimpleTimeZone(rawOffset, tempID);
|
||||
if (U_FAILURE(status) || tz == NULL) {
|
||||
if (U_SUCCESS(status)) {
|
||||
--- test/intltest/tztest.cpp
|
||||
+++ test/intltest/tztest.cpp
|
||||
@@ -34,6 +34,11 @@
|
||||
// class TimeZoneTest
|
||||
// *****************************************************************************
|
||||
|
||||
+// TODO: We should probably read following data at runtime, so we can update
|
||||
+// the these values every release with necessary data changes.
|
||||
+const int32_t TimeZoneTest::REFERENCE_YEAR = 2009;
|
||||
+const char * TimeZoneTest::REFERENCE_DATA_VERSION = "2009d";
|
||||
+
|
||||
void TimeZoneTest::runIndexedTest( int32_t index, UBool exec, const char* &name, char* /*par*/ )
|
||||
{
|
||||
if (exec) logln("TestSuite TestTimeZone");
|
||||
@@ -579,18 +584,13 @@
|
||||
*/
|
||||
void TimeZoneTest::TestShortZoneIDs()
|
||||
{
|
||||
- // TODO: This test case is tzdata sensitive.
|
||||
- // We should actually put the data version in this test code
|
||||
- // at build time. For now, we just hardcode the version string
|
||||
- // and display warning instead of error if non-reference tzdata
|
||||
- // version is used.
|
||||
- const char *REFERENCE_DATA_VERSION = "2008i";
|
||||
-
|
||||
UErrorCode status = U_ZERO_ERROR;
|
||||
+
|
||||
+ // This test case is tzdata version sensitive.
|
||||
UBool isNonReferenceTzdataVersion = FALSE;
|
||||
const char *tzdataVer = TimeZone::getTZDataVersion(status);
|
||||
if (failure(status, "getTZDataVersion")) return;
|
||||
- if (uprv_strcmp(tzdataVer, REFERENCE_DATA_VERSION) != 0) {
|
||||
+ if (uprv_strcmp(tzdataVer, TimeZoneTest::REFERENCE_DATA_VERSION) != 0) {
|
||||
// Note: We want to display a warning message here if
|
||||
// REFERENCE_DATA_VERSION is out of date - so we
|
||||
// do not forget to update the value before GA.
|
||||
@@ -603,11 +603,11 @@
|
||||
// Note: useDaylightTime returns true if DST is observed
|
||||
// in the time zone in the current calendar year. The test
|
||||
// data is valid for the date after the reference year below.
|
||||
- // If system clock is before the year, some test cases may fail.
|
||||
- const int32_t REFERENCE_YEAR = 2009;
|
||||
+ // If system clock is before the year, some test cases may
|
||||
+ // fail.
|
||||
GregorianCalendar cal(*TimeZone::getGMT(), status);
|
||||
if (failure(status, "GregorianCalendar")) return;
|
||||
- cal.set(REFERENCE_YEAR, UCAL_JANUARY, 2); // day 2 in GMT
|
||||
+ cal.set(TimeZoneTest::REFERENCE_YEAR, UCAL_JANUARY, 2); // day 2 in GMT
|
||||
|
||||
UBool isDateBeforeReferenceYear = ucal_getNow() < cal.getTime(status);
|
||||
if (failure(status, "Calendar::getTime")) return;
|
||||
@@ -1898,6 +1898,15 @@
|
||||
};
|
||||
|
||||
void TimeZoneTest::TestDisplayNamesMeta() {
|
||||
+ UErrorCode status = U_ZERO_ERROR;
|
||||
+ GregorianCalendar cal(*TimeZone::getGMT(), status);
|
||||
+ if (failure(status, "GregorianCalendar")) return;
|
||||
+
|
||||
+ UBool isReferenceYear = TRUE;
|
||||
+ if (cal.get(UCAL_YEAR, status) != TimeZoneTest::REFERENCE_YEAR) {
|
||||
+ isReferenceYear = FALSE;
|
||||
+ }
|
||||
+
|
||||
UBool sawAnError = FALSE;
|
||||
for (int testNum = 0; zoneDisplayTestData[testNum].zoneName != NULL; testNum++) {
|
||||
Locale locale = Locale::createFromName(zoneDisplayTestData[testNum].localeName);
|
||||
@@ -1908,20 +1917,33 @@
|
||||
locale,
|
||||
displayName);
|
||||
if (displayName != zoneDisplayTestData[testNum].expectedDisplayName) {
|
||||
- sawAnError = TRUE;
|
||||
char name[100];
|
||||
UErrorCode status = U_ZERO_ERROR;
|
||||
displayName.extract(name, 100, NULL, status);
|
||||
- errln("Incorrect time zone display name. zone = \"%s\",\n"
|
||||
- " locale = \"%s\", style = %s, Summertime = %d\n"
|
||||
- " Expected \"%s\", "
|
||||
- " Got \"%s\"\n", zoneDisplayTestData[testNum].zoneName,
|
||||
- zoneDisplayTestData[testNum].localeName,
|
||||
- zoneDisplayTestData[testNum].style==TimeZone::SHORT ?
|
||||
- "SHORT" : "LONG",
|
||||
- zoneDisplayTestData[testNum].summerTime,
|
||||
- zoneDisplayTestData[testNum].expectedDisplayName,
|
||||
- name);
|
||||
+ if (isReferenceYear) {
|
||||
+ sawAnError = TRUE;
|
||||
+ errln("Incorrect time zone display name. zone = \"%s\",\n"
|
||||
+ " locale = \"%s\", style = %s, Summertime = %d\n"
|
||||
+ " Expected \"%s\", "
|
||||
+ " Got \"%s\"\n", zoneDisplayTestData[testNum].zoneName,
|
||||
+ zoneDisplayTestData[testNum].localeName,
|
||||
+ zoneDisplayTestData[testNum].style==TimeZone::SHORT ?
|
||||
+ "SHORT" : "LONG",
|
||||
+ zoneDisplayTestData[testNum].summerTime,
|
||||
+ zoneDisplayTestData[testNum].expectedDisplayName,
|
||||
+ name);
|
||||
+ } else {
|
||||
+ logln("Incorrect time zone display name. zone = \"%s\",\n"
|
||||
+ " locale = \"%s\", style = %s, Summertime = %d\n"
|
||||
+ " Expected \"%s\", "
|
||||
+ " Got \"%s\"\n", zoneDisplayTestData[testNum].zoneName,
|
||||
+ zoneDisplayTestData[testNum].localeName,
|
||||
+ zoneDisplayTestData[testNum].style==TimeZone::SHORT ?
|
||||
+ "SHORT" : "LONG",
|
||||
+ zoneDisplayTestData[testNum].summerTime,
|
||||
+ zoneDisplayTestData[testNum].expectedDisplayName,
|
||||
+ name);
|
||||
+ }
|
||||
}
|
||||
delete zone;
|
||||
}
|
||||
--- test/intltest/tztest.h
|
||||
+++ test/intltest/tztest.h
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
/********************************************************************
|
||||
- * Copyright (c) 1997-2008, International Business Machines
|
||||
+ * Copyright (c) 1997-2009, International Business Machines
|
||||
* Corporation and others. All Rights Reserved.
|
||||
********************************************************************/
|
||||
|
||||
@@ -98,6 +98,11 @@
|
||||
// internal functions
|
||||
static UnicodeString& formatOffset(int32_t offset, UnicodeString& rv);
|
||||
static UnicodeString& formatTZID(int32_t offset, UnicodeString& rv);
|
||||
+
|
||||
+ // Some test case data is current date/tzdata version sensitive and producing errors
|
||||
+ // when year/rule are changed.
|
||||
+ static const int32_t REFERENCE_YEAR;
|
||||
+ static const char *REFERENCE_DATA_VERSION;
|
||||
};
|
||||
|
||||
#endif /* #if !UCONFIG_NO_FORMATTING */
|
||||
10
dev-libs/icu/files/icu-4.0.1-fix_parallel_building.patch
Normal file
10
dev-libs/icu/files/icu-4.0.1-fix_parallel_building.patch
Normal file
@@ -0,0 +1,10 @@
|
||||
--- data/Makefile.in
|
||||
+++ data/Makefile.in
|
||||
@@ -355,6 +355,7 @@
|
||||
endif
|
||||
endif
|
||||
|
||||
+$(BUILD_DIRS): build-dir
|
||||
|
||||
build-dir:
|
||||
@list='$(BUILD_DIRS)'; \
|
||||
63
dev-libs/icu/icu-4.0.1.ebuild
Normal file
63
dev-libs/icu/icu-4.0.1.ebuild
Normal file
@@ -0,0 +1,63 @@
|
||||
# Copyright 1999-2010 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-libs/icu/Attic/icu-4.0.1.ebuild,v 1.11 2010/10/02 22:30:45 arfrever dead $
|
||||
|
||||
EAPI="2"
|
||||
|
||||
inherit eutils versionator
|
||||
|
||||
DESCRIPTION="International Components for Unicode (4.0 Libs only)"
|
||||
HOMEPAGE="http://www.icu-project.org/ http://ibm.com/software/globalization/icu/"
|
||||
|
||||
BASEURI="http://download.icu-project.org/files/${PN}4c/${PV}"
|
||||
DOCS_PV="$(get_version_component_range 1-2)"
|
||||
DOCS_BASEURI="http://download.icu-project.org/files/${PN}4c/${DOCS_PV}"
|
||||
DOCS_PV="${DOCS_PV/./_}"
|
||||
SRCPKG="${PN}4c-${PV//./_}-src.tgz"
|
||||
|
||||
SRC_URI="${BASEURI}/${SRCPKG}"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="4.0"
|
||||
KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~x86-fbsd"
|
||||
IUSE="debug doc examples"
|
||||
|
||||
DEPEND="doc? ( app-arch/unzip )"
|
||||
RDEPEND=""
|
||||
|
||||
S="${WORKDIR}/${PN}/source"
|
||||
|
||||
src_prepare() {
|
||||
# Do not hardcode used CFLAGS, LDFLAGS etc. into icu-config
|
||||
# Bug 202059
|
||||
# http://bugs.icu-project.org/trac/ticket/6102
|
||||
for x in CFLAGS CXXFLAGS CPPFLAGS LDFLAGS ; do
|
||||
sed -i -e "/^${x} =.*/s:@${x}@::" config/Makefile.inc.in || die "sed failed"
|
||||
done
|
||||
|
||||
# Bug 258377
|
||||
sed -i -e 's:^#elif$:#else:g' ${S}/layoutex/ParagraphLayout.cpp || die 'elif sed failed'
|
||||
|
||||
epatch "${FILESDIR}/${P}-fix_parallel_building.patch"
|
||||
epatch "${FILESDIR}/${P}-TestDisplayNamesMeta.patch"
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
econf \
|
||||
--enable-static \
|
||||
$(use_enable debug) \
|
||||
$(use_enable examples samples)
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake -j1 DESTDIR="${D}" install || die "emake install failed"
|
||||
rm -rf "${D}"/usr/bin
|
||||
rm -rf "${D}"/usr/include
|
||||
rm -rf "${D}"/usr/lib*/*.so
|
||||
rm -rf "${D}"/usr/lib*/*.a
|
||||
rm -rf "${D}"/usr/lib*/icu
|
||||
rm -rf "${D}"/usr/sbin
|
||||
rm -rf "${D}"/usr/share
|
||||
dohtml ../readme.html
|
||||
dodoc ../unicode-license.txt
|
||||
}
|
||||
Reference in New Issue
Block a user