diff options
Diffstat (limited to 'dev-libs/icu')
-rw-r--r-- | dev-libs/icu/Manifest | 2 | ||||
-rw-r--r-- | dev-libs/icu/files/icu-58.1-iterator.patch | 127 | ||||
-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 } |