summaryrefslogtreecommitdiff
path: root/dev-libs/icu
diff options
context:
space:
mode:
Diffstat (limited to 'dev-libs/icu')
-rw-r--r--dev-libs/icu/Manifest2
-rw-r--r--dev-libs/icu/files/icu-58.1-iterator.patch127
-rw-r--r--dev-libs/icu/files/icu-58.1-remove-bashisms.patch (renamed from dev-libs/icu/files/icu-remove-bashisms.patch)50
-rw-r--r--dev-libs/icu/icu-58.1-r1.ebuild (renamed from dev-libs/icu/icu-55.1.ebuild)32
4 files changed, 170 insertions, 41 deletions
diff --git a/dev-libs/icu/Manifest b/dev-libs/icu/Manifest
index f600c9f2..18f5e73c 100644
--- a/dev-libs/icu/Manifest
+++ b/dev-libs/icu/Manifest
@@ -1 +1 @@
-DIST icu4c-55_1-src.tgz 25600847 SHA256 e16b22cbefdd354bec114541f7849a12f8fc2015320ca5282ee4fd787571457b SHA512 21a3eb2c3678cd27b659eed073f8f1bd99c9751291d077820e9a370fd90b7d9b3bf414cc03dec4acb7fa61087e02d04f9f40e91a32c5180c718e2102fbd0cd35 WHIRLPOOL 8c5221c82ee2c8a02beafd0fdf91e0038e49912cc8b05fb7437dd4d0a0204b97ea62c45c2dd9dde0f658620b772d706e795821865c567d2e1eb91f8b83a12c4a
+DIST icu4c-58_1-src.tgz 23366443 SHA256 0eb46ba3746a9c2092c8ad347a29b1a1b4941144772d13a88667a7b11ea30309 SHA512 59b2a76834192a35125fda326587e613ef4486152cf0278c6f22568d4ae02c4b2d897efcea2654ef2b11bd1c3154aecd38cb68a70f69430736f343689f94c155 WHIRLPOOL faf2624a83f0d6f874166b328522dc9c89088db2690433ab05e96371722b635b81fd5210c7e87fe8e5df6681e881cf10204832925b448552affe8c2f6c851e37
diff --git a/dev-libs/icu/files/icu-58.1-iterator.patch b/dev-libs/icu/files/icu-58.1-iterator.patch
new file mode 100644
index 00000000..6f52375e
--- /dev/null
+++ b/dev-libs/icu/files/icu-58.1-iterator.patch
@@ -0,0 +1,127 @@
+source: http://bugs.icu-project.org/trac/changeset/39484/
+
+
+Index: icu/common/ulist.c
+===================================================================
+--- icu/common/ulist.c (revision 39483)
++++ icu/common/ulist.c (revision 39484)
+@@ -30,5 +30,4 @@
+
+ int32_t size;
+- int32_t currentIndex;
+ };
+
+@@ -52,5 +51,4 @@
+ newList->tail = NULL;
+ newList->size = 0;
+- newList->currentIndex = -1;
+
+ return newList;
+@@ -81,6 +79,7 @@
+ p->next->previous = p->previous;
+ }
+- list->curr = NULL;
+- list->currentIndex = 0;
++ if (p == list->curr) {
++ list->curr = p->next;
++ }
+ --list->size;
+ if (p->forceDelete) {
+@@ -151,5 +150,4 @@
+ list->head->previous = newItem;
+ list->head = newItem;
+- list->currentIndex++;
+ }
+
+@@ -194,5 +192,4 @@
+ curr = list->curr;
+ list->curr = curr->next;
+- list->currentIndex++;
+
+ return curr->data;
+@@ -210,5 +207,4 @@
+ if (list != NULL) {
+ list->curr = list->head;
+- list->currentIndex = 0;
+ }
+ }
+@@ -273,3 +269,2 @@
+ return (UList *)(en->context);
+ }
+-
+Index: icu/i18n/ucol_res.cpp
+===================================================================
+--- icu/i18n/ucol_res.cpp (revision 39483)
++++ icu/i18n/ucol_res.cpp (revision 39484)
+@@ -681,4 +681,5 @@
+ }
+ memcpy(en, &defaultKeywordValues, sizeof(UEnumeration));
++ ulist_resetList(sink.values); // Initialize the iterator.
+ en->context = sink.values;
+ sink.values = NULL; // Avoid deletion in the sink destructor.
+Index: icu/test/intltest/apicoll.cpp
+===================================================================
+--- icu/test/intltest/apicoll.cpp (revision 39483)
++++ icu/test/intltest/apicoll.cpp (revision 39484)
+@@ -82,14 +82,7 @@
+ col = Collator::createInstance(Locale::getEnglish(), success);
+ if (U_FAILURE(success)){
+- errcheckln(success, "Default Collator creation failed. - %s", u_errorName(success));
+- return;
+- }
+-
+- StringEnumeration* kwEnum = col->getKeywordValuesForLocale("", Locale::getEnglish(),true,success);
+- if (U_FAILURE(success)){
+- errcheckln(success, "Get Keyword Values for Locale failed. - %s", u_errorName(success));
+- return;
+- }
+- delete kwEnum;
++ errcheckln(success, "English Collator creation failed. - %s", u_errorName(success));
++ return;
++ }
+
+ col->getVersion(versionArray);
+@@ -230,4 +223,27 @@
+ delete aFrCol;
+ delete junk;
++}
++
++void CollationAPITest::TestKeywordValues() {
++ IcuTestErrorCode errorCode(*this, "TestKeywordValues");
++ LocalPointer<Collator> col(Collator::createInstance(Locale::getEnglish(), errorCode));
++ if (errorCode.logIfFailureAndReset("English Collator creation failed")) {
++ return;
++ }
++
++ LocalPointer<StringEnumeration> kwEnum(
++ col->getKeywordValuesForLocale("collation", Locale::getEnglish(), TRUE, errorCode));
++ if (errorCode.logIfFailureAndReset("Get Keyword Values for English Collator failed")) {
++ return;
++ }
++ assertTrue("expect at least one collation tailoring for English", kwEnum->count(errorCode) > 0);
++ const char *kw;
++ UBool hasStandard = FALSE;
++ while ((kw = kwEnum->next(NULL, errorCode)) != NULL) {
++ if (strcmp(kw, "standard") == 0) {
++ hasStandard = TRUE;
++ }
++ }
++ assertTrue("expect at least the 'standard' collation tailoring for English", hasStandard);
+ }
+
+@@ -2467,4 +2483,5 @@
+ TESTCASE_AUTO_BEGIN;
+ TESTCASE_AUTO(TestProperty);
++ TESTCASE_AUTO(TestKeywordValues);
+ TESTCASE_AUTO(TestOperators);
+ TESTCASE_AUTO(TestDuplicate);
+Index: icu/test/intltest/apicoll.h
+===================================================================
+--- icu/test/intltest/apicoll.h (revision 39483)
++++ icu/test/intltest/apicoll.h (revision 39484)
+@@ -36,4 +36,5 @@
+ */
+ void TestProperty(/* char* par */);
++ void TestKeywordValues();
+
+ /**
diff --git a/dev-libs/icu/files/icu-remove-bashisms.patch b/dev-libs/icu/files/icu-58.1-remove-bashisms.patch
index 980d84b7..ef60ce45 100644
--- a/dev-libs/icu/files/icu-remove-bashisms.patch
+++ b/dev-libs/icu/files/icu-58.1-remove-bashisms.patch
@@ -1,8 +1,7 @@
-Index: config/Makefile.inc.in
-===================================================================
---- config/Makefile.inc.in (revision 36912)
-+++ config/Makefile.inc.in (working copy)
-@@ -125,12 +125,6 @@
+diff -ruN a/config/Makefile.inc.in b/config/Makefile.inc.in
+--- a/config/Makefile.inc.in 2016-09-09 23:28:18.000000000 +0200
++++ b/config/Makefile.inc.in 2016-11-05 19:43:07.688466668 +0100
+@@ -124,12 +124,6 @@
# with usually. Many applications will want to add $(ICULIBS_I18N) as well.
ICULIBS = $(ICULIBS_BASE) $(ICULIBS_I18N) $(ICULIBS_COMMON) $(ICULIBS_DATA)
@@ -15,11 +14,10 @@ Index: config/Makefile.inc.in
##################################################################
##################################################################
#
-Index: config/icu-config-bottom
-===================================================================
---- config/icu-config-bottom (revision 36912)
-+++ config/icu-config-bottom (working copy)
-@@ -217,73 +217,73 @@
+diff -ruN a/config/icu-config-bottom b/config/icu-config-bottom
+--- a/config/icu-config-bottom 2016-09-09 23:28:18.000000000 +0200
++++ b/config/icu-config-bottom 2016-11-05 19:49:00.854481361 +0100
+@@ -218,65 +218,65 @@
;;
--cflags)
@@ -100,8 +98,7 @@ Index: config/icu-config-bottom
;;
--ldflags-layout)
-- echo $ECHO_N "${ICULIBS_LAYOUT} ${ICULIBS_LAYOUTEX} ${ECHO_C}"
-+ printf "%s" "${ICULIBS_LAYOUT} ${ICULIBS_LAYOUTEX} "
+@@ -285,7 +285,7 @@
;;
--ldflags-searchpath)
@@ -110,7 +107,7 @@ Index: config/icu-config-bottom
;;
--detect-prefix)
-@@ -319,47 +319,47 @@
+@@ -321,47 +321,47 @@
;;
--shared-datadir)
@@ -169,11 +166,10 @@ Index: config/icu-config-bottom
;;
--host)
-Index: configure.ac
-===================================================================
---- configure.ac (revision 36912)
-+++ configure.ac (working copy)
-@@ -19,24 +19,6 @@
+diff -ruN a/configure.ac b/configure.ac
+--- a/configure.ac 2016-10-04 21:30:20.000000000 +0200
++++ b/configure.ac 2016-11-05 19:43:07.688466668 +0100
+@@ -22,24 +22,6 @@
PACKAGE="icu"
AC_SUBST(PACKAGE)
@@ -198,11 +194,10 @@ Index: configure.ac
AC_MSG_CHECKING(for ICU version numbers)
# Get the ICU version from uversion.h or other headers
-Index: icudefs.mk.in
-===================================================================
---- icudefs.mk.in (revision 36912)
-+++ icudefs.mk.in (working copy)
-@@ -155,11 +155,6 @@
+diff -ruN a/icudefs.mk.in b/icudefs.mk.in
+--- a/icudefs.mk.in 2016-09-09 23:28:18.000000000 +0200
++++ b/icudefs.mk.in 2016-11-05 19:43:07.688466668 +0100
+@@ -157,11 +157,6 @@
ENABLE_STATIC = @ENABLE_STATIC@
ENABLE_SHARED = @ENABLE_SHARED@
@@ -214,11 +209,10 @@ Index: icudefs.mk.in
# Commands to compile
COMPILE.c= $(CC) $(CPPFLAGS) $(DEFS) $(CFLAGS) -c
COMPILE.cc= $(CXX) $(CPPFLAGS) $(DEFS) $(CXXFLAGS) -c
-Index: test/hdrtst/Makefile.in
-===================================================================
---- test/hdrtst/Makefile.in (revision 36912)
-+++ test/hdrtst/Makefile.in (working copy)
-@@ -33,9 +33,6 @@
+diff -ruN a/test/hdrtst/Makefile.in b/test/hdrtst/Makefile.in
+--- a/test/hdrtst/Makefile.in 2016-09-28 06:17:24.000000000 +0200
++++ b/test/hdrtst/Makefile.in 2016-11-05 19:43:07.688466668 +0100
+@@ -35,9 +35,6 @@
include $(shell icu-config --incfile)
DIRS=$(prefix)/include/unicode
LDIRS=$(prefix)/include/layout
diff --git a/dev-libs/icu/icu-55.1.ebuild b/dev-libs/icu/icu-58.1-r1.ebuild
index 896fda0d..98327a18 100644
--- a/dev-libs/icu/icu-55.1.ebuild
+++ b/dev-libs/icu/icu-58.1-r1.ebuild
@@ -1,8 +1,8 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
-EAPI=5
+EAPI=6
inherit eutils flag-o-matic toolchain-funcs autotools multilib-minimal
@@ -12,9 +12,9 @@ SRC_URI="http://download.icu-project.org/files/icu4c/${PV/_/}/icu4c-${PV//./_}-s
LICENSE="BSD"
-SLOT="0/55"
+SLOT="0/${PV}"
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd"
IUSE="debug doc examples static-libs"
DEPEND="
@@ -30,13 +30,18 @@ MULTILIB_CHOST_TOOLS=(
/usr/bin/icu-config
)
+PATCHES=(
+ "${FILESDIR}/${PN}-58.1-remove-bashisms.patch"
+ "${FILESDIR}/${PN}-58.1-iterator.patch"
+)
+
src_prepare() {
- local variable
+ # apply patches
+ default
- epatch "${FILESDIR}/${PN}-remove-bashisms.patch"
- epatch_user
+ local variable
- # Disable renaming as it is stupind thing to do
+ # Disable renaming as it is stupid thing to do
sed -i \
-e "s/#define U_DISABLE_RENAMING 0/#define U_DISABLE_RENAMING 1/" \
common/unicode/uconfig.h || die
@@ -55,8 +60,8 @@ src_prepare() {
}
src_configure() {
- # Do _not_ use C++11 yet, make sure to force GNU C++ 98 standard.
- append-cxxflags -std=gnu++98
+ # Use C++14
+ append-cxxflags -std=c++14
if tc-is-cross-compiler; then
mkdir "${WORKDIR}"/host || die
@@ -79,6 +84,7 @@ multilib_src_configure() {
local myeconfargs=(
--disable-renaming
--disable-samples
+ --disable-layoutex
$(use_enable debug)
$(use_enable static-libs static)
)
@@ -124,11 +130,13 @@ multilib_src_install() {
default
if multilib_is_native_abi && use doc; then
- dohtml -p api -r doc/html/
+ docinto html
+ dodoc -r doc/html/*
fi
}
multilib_src_install_all() {
einstalldocs
- dohtml ../readme.html
+ docinto html
+ dodoc ../readme.html
}