diff options
author | Fabian Groffen <grobian@gentoo.org> | 2017-12-03 15:39:22 +0100 |
---|---|---|
committer | Fabian Groffen <grobian@gentoo.org> | 2017-12-03 15:39:22 +0100 |
commit | 48fd26ecc502d239477c753687539222f5e1d7ee (patch) | |
tree | f7cbacc0bb4f7354b91d272193a31576d11fa14f | |
parent | hashgen: don't generate Manifest.gz for all subdirs (diff) | |
download | prefix-48fd26ecc502d239477c753687539222f5e1d7ee.tar.gz prefix-48fd26ecc502d239477c753687539222f5e1d7ee.tar.bz2 prefix-48fd26ecc502d239477c753687539222f5e1d7ee.zip |
dev-libs/icu: cleanup
Package-Manager: Portage-2.3.13-prefix, Repoman-2.3.4
33 files changed, 0 insertions, 3863 deletions
diff --git a/dev-libs/icu/Manifest b/dev-libs/icu/Manifest index 7992659570..dc6f8971f7 100644 --- a/dev-libs/icu/Manifest +++ b/dev-libs/icu/Manifest @@ -1,3 +1 @@ -DIST icu4c-54_1-src.tgz 25485678 SHA256 d42bc9a8ca6a91c55eb0925c279f49e5b508d51ef26ac9850d9be55de5bb8ab3 SHA512 d54d4cd826e1aef62a574595a04f9fec0a42c4445ed0a166a6bb5c5f3c9f692bf3273756f350233f50b2a1ad32c437dedfeeac96d6dc814d27bfd9159b7a651c WHIRLPOOL 1ae01eb26824ca591ff76ea040f703023f24975ad4177d49b1dd60f7e7f96f60884745d6c6e5e2bdf17fc8e104e97ed814f6c0ca051d1807814e324eb24e94dd -DIST icu4c-55_1-src.tgz 25600847 SHA256 e16b22cbefdd354bec114541f7849a12f8fc2015320ca5282ee4fd787571457b SHA512 21a3eb2c3678cd27b659eed073f8f1bd99c9751291d077820e9a370fd90b7d9b3bf414cc03dec4acb7fa61087e02d04f9f40e91a32c5180c718e2102fbd0cd35 WHIRLPOOL 8c5221c82ee2c8a02beafd0fdf91e0038e49912cc8b05fb7437dd4d0a0204b97ea62c45c2dd9dde0f658620b772d706e795821865c567d2e1eb91f8b83a12c4a DIST icu4c-58_2-src.tgz 23369902 SHA256 2b0a4410153a9b20de0e20c7d8b66049a72aef244b53683d0d7521371683da0c SHA512 5c21af748f48b392e6c0412bd0aee92162ea931820dcbfab4ec6e0299868504b303d88f7586cc95de55c777ac0dca3a29d6c8ca0892c646ebc864c8a5b5a162a WHIRLPOOL 25829f8ee870b703fd604ae5b9b584390a142f5011e2a5db18332453e2f1640d81270086f243318eeb93f187b04ea23dab14901ab81c8d924c8d47b1f77aee5a diff --git a/dev-libs/icu/files/icu-3.6-darwin.patch b/dev-libs/icu/files/icu-3.6-darwin.patch deleted file mode 100644 index cf28e70d0d..0000000000 --- a/dev-libs/icu/files/icu-3.6-darwin.patch +++ /dev/null @@ -1,66 +0,0 @@ ---- config/mh-darwin -+++ config/mh-darwin -@@ -4,6 +4,13 @@ - ## Copyright (c) 1999-2006 International Business Machines Corporation and - ## others. All Rights Reserved. - -+ -+SO_TARGET = $(LIBDIR)/$(LIBICU)$(TARGET_STUBNAME)$(ICULIBSUFFIX).$(SO) -+FINAL_SO_TARGET = $(LIBDIR)/$(LIBICU)$(TARGET_STUBNAME)$(ICULIBSUFFIX).$(SO_TARGET_VERSION).$(SO) -+MIDDLE_SO_TARGET = $(LIBDIR)/$(LIBICU)$(TARGET_STUBNAME)$(ICULIBSUFFIX).$(SO_TARGET_VERSION_MAJOR).$(SO) -+ -+IS_DARWIN = yes -+ - ## Flags for position independent code - SHAREDLIBCFLAGS = -dynamic - SHAREDLIBCXXFLAGS = -dynamic -@@ -25,7 +34,7 @@ - SHLIB.cc= $(CXX) -dynamiclib -dynamic $(CXXFLAGS) $(LDFLAGS) - - ## Compiler switches to embed a library name and version information --LD_SONAME = -Wl,-compatibility_version -Wl,$(SO_TARGET_VERSION_MAJOR) -Wl,-current_version -Wl,$(SO_TARGET_VERSION) -install_name $(notdir $(MIDDLE_SO_TARGET)) -+LD_SONAME = -Wl,-compatibility_version -Wl,$(SO_TARGET_VERSION_MAJOR) -Wl,-current_version -Wl,$(SO_TARGET_VERSION) -install_name $(libdir)/$(notdir $(MIDDLE_SO_TARGET)) - - ## Compiler switch to embed a runtime search path - LD_RPATH= -@@ -72,9 +81,9 @@ - - ## Versioned libraries rules - --%.$(SO).$(SO_TARGET_VERSION_MAJOR): %.$(SO).$(SO_TARGET_VERSION) -+%.$(SO_TARGET_VERSION_MAJOR).$(SO): %.$(SO_TARGET_VERSION).$(SO) - $(RM) $@ && ln -s ${<F} $@ --%.$(SO): %.$(SO).$(SO_TARGET_VERSION_MAJOR) -- $(RM) $@ && ln -s ${*F}.$(SO).$(SO_TARGET_VERSION) $@ -+%.$(SO): %.$(SO_TARGET_VERSION_MAJOR).$(SO) -+ $(RM) $@ && ln -s ${*F}.$(SO_TARGET_VERSION).$(SO) $@ - - ## End Darwin-specific setup ---- tools/ctestfw/Makefile.in -+++ tools/ctestfw/Makefile.in -@@ -31,7 +31,11 @@ - endif - - ifneq ($(ENABLE_SHARED),) -+ifeq ($(IS_DARWIN),) - SO_TARGET = $(LIBICU)$(TARGET_STUBNAME)$(ICULIBSUFFIX).$(SO) -+else -+SO_TARGET = $(LIBDIR)/$(LIBICU)$(TARGET_STUBNAME)$(ICULIBSUFFIX).$(SO) -+endif - ALL_SO_TARGETS = $(SO_TARGET) $(MIDDLE_SO_TARGET) $(FINAL_SO_TARGET) $(SHARED_OBJECT) - endif - ---- stubdata/Makefile.in -+++ stubdata/Makefile.in -@@ -32,7 +32,11 @@ - - - ifneq ($(ENABLE_SHARED),) -+ifeq ($(IS_DARWIN),) - SO_TARGET = $(STUBDATA_LIBDIR)$(LIBICU)$(TARGET_STUBNAME)$(ICULIBSUFFIX)$(STUB_SUFFIX).$(SO) -+else -+SO_TARGET = $(LIBDIR)/$(STUBDATA_LIBDIR)$(LIBICU)$(TARGET_STUBNAME)$(ICULIBSUFFIX)$(STUB_SUFFIX).$(SO) -+endif - ALL_SO_TARGETS = $(FINAL_SO_TARGET) $(MIDDLE_SO_TARGET) $(SO_TARGET) $(BATCH_STUB_TARGET) $(SHARED_OBJECT) - endif - diff --git a/dev-libs/icu/files/icu-3.6-regexp-CVE-2007-4770+4771.diff b/dev-libs/icu/files/icu-3.6-regexp-CVE-2007-4770+4771.diff deleted file mode 100644 index 07979a4531..0000000000 --- a/dev-libs/icu/files/icu-3.6-regexp-CVE-2007-4770+4771.diff +++ /dev/null @@ -1,309 +0,0 @@ -# borrowed from redhat -- https://bugzilla.redhat.com/show_bug.cgi?id=429023 - -diff -ru icu.orig/source/common/uvectr32.cpp icu/source/common/uvectr32.cpp ---- icu.orig/source/common/uvectr32.cpp 2003-08-27 02:01:30.000000000 +0100 -+++ icu/source/common/uvectr32.cpp 2008-01-22 08:37:06.000000000 +0000 -@@ -1,6 +1,6 @@ - /* - ****************************************************************************** --* Copyright (C) 1999-2003, International Business Machines Corporation and * -+* Copyright (C) 1999-2008, International Business Machines Corporation and * - * others. All Rights Reserved. * - ****************************************************************************** - * Date Name Description -@@ -26,6 +26,7 @@ - UVector32::UVector32(UErrorCode &status) : - count(0), - capacity(0), -+ maxCapacity(0), - elements(NULL) - { - _init(DEFUALT_CAPACITY, status); -@@ -34,6 +35,7 @@ - UVector32::UVector32(int32_t initialCapacity, UErrorCode &status) : - count(0), - capacity(0), -+ maxCapacity(0), - elements(0) - { - _init(initialCapacity, status); -@@ -46,6 +48,9 @@ - if (initialCapacity < 1) { - initialCapacity = DEFUALT_CAPACITY; - } -+ if (maxCapacity>0 && maxCapacity<initialCapacity) { -+ initialCapacity = maxCapacity; -+ } - elements = (int32_t *)uprv_malloc(sizeof(int32_t)*initialCapacity); - if (elements == 0) { - status = U_MEMORY_ALLOCATION_ERROR; -@@ -189,21 +194,35 @@ - UBool UVector32::expandCapacity(int32_t minimumCapacity, UErrorCode &status) { - if (capacity >= minimumCapacity) { - return TRUE; -- } else { -- int32_t newCap = capacity * 2; -- if (newCap < minimumCapacity) { -- newCap = minimumCapacity; -- } -- int32_t* newElems = (int32_t *)uprv_malloc(sizeof(int32_t)*newCap); -- if (newElems == 0) { -- status = U_MEMORY_ALLOCATION_ERROR; -- return FALSE; -- } -- uprv_memcpy(newElems, elements, sizeof(elements[0]) * count); -- uprv_free(elements); -- elements = newElems; -- capacity = newCap; -- return TRUE; -+ } -+ if (maxCapacity>0 && minimumCapacity>maxCapacity) { -+ status = U_BUFFER_OVERFLOW_ERROR; -+ return FALSE; -+ } -+ int32_t newCap = capacity * 2; -+ if (newCap < minimumCapacity) { -+ newCap = minimumCapacity; -+ } -+ if (maxCapacity > 0 && newCap > maxCapacity) { -+ newCap = maxCapacity; -+ } -+ int32_t* newElems = (int32_t *)uprv_malloc(sizeof(int32_t)*newCap); -+ if (newElems == 0) { -+ status = U_MEMORY_ALLOCATION_ERROR; -+ return FALSE; -+ } -+ uprv_memcpy(newElems, elements, sizeof(elements[0]) * count); -+ uprv_free(elements); -+ elements = newElems; -+ capacity = newCap; -+ return TRUE; -+} -+ -+void UVector32::setMaxCapacity(int32_t limit) { -+ U_ASSERT(limit >= 0); -+ maxCapacity = limit; -+ if (maxCapacity < 0) { -+ maxCapacity = 0; - } - } - -diff -ru icu.orig/source/common/uvectr32.h icu/source/common/uvectr32.h ---- icu.orig/source/common/uvectr32.h 2006-01-18 03:52:04.000000000 +0000 -+++ icu/source/common/uvectr32.h 2008-01-22 08:37:07.000000000 +0000 -@@ -1,6 +1,6 @@ - /* - ********************************************************************** --* Copyright (C) 1999-2006, International Business Machines -+* Copyright (C) 1999-2008, International Business Machines - * Corporation and others. All Rights Reserved. - ********************************************************************** - */ -@@ -61,6 +61,8 @@ - int32_t count; - - int32_t capacity; -+ -+ int32_t maxCapacity; // Limit beyond which capacity is not permitted to grow. - - int32_t* elements; - -@@ -162,6 +164,14 @@ - int32_t *getBuffer() const; - - /** -+ * Set the maximum allowed buffer capacity for this vector/stack. -+ * Default with no limit set is unlimited, go until malloc() fails. -+ * A Limit of zero means unlimited capacity. -+ * Units are vector elements (32 bits each), not bytes. -+ */ -+ void setMaxCapacity(int32_t limit); -+ -+ /** - * ICU "poor man's RTTI", returns a UClassID for this class. - */ - static UClassID U_EXPORT2 getStaticClassID(); -@@ -221,7 +231,9 @@ - } - - inline int32_t *UVector32::reserveBlock(int32_t size, UErrorCode &status) { -- ensureCapacity(count+size, status); -+ if (ensureCapacity(count+size, status) == FALSE) { -+ return NULL; -+ } - int32_t *rp = elements+count; - count += size; - return rp; -diff -ru icu.orig/source/i18n/regexcmp.cpp icu/source/i18n/regexcmp.cpp ---- icu.orig/source/i18n/regexcmp.cpp 2006-02-02 04:37:14.000000000 +0000 -+++ icu/source/i18n/regexcmp.cpp 2008-01-22 08:37:06.000000000 +0000 -@@ -1187,14 +1187,17 @@ - // Because capture groups can be forward-referenced by back-references, - // we fill the operand with the capture group number. At the end - // of compilation, it will be changed to the variable's location. -- U_ASSERT(groupNum > 0); -- int32_t op; -- if (fModeFlags & UREGEX_CASE_INSENSITIVE) { -- op = URX_BUILD(URX_BACKREF_I, groupNum); -+ if (groupNum < 1) { -+ error(U_REGEX_INVALID_BACK_REF); - } else { -- op = URX_BUILD(URX_BACKREF, groupNum); -+ int32_t op; -+ if (fModeFlags & UREGEX_CASE_INSENSITIVE) { -+ op = URX_BUILD(URX_BACKREF_I, groupNum); -+ } else { -+ op = URX_BUILD(URX_BACKREF, groupNum); -+ } -+ fRXPat->fCompiledPat->addElement(op, *fStatus); - } -- fRXPat->fCompiledPat->addElement(op, *fStatus); - } - break; - -diff -ru icu.orig/source/i18n/rematch.cpp icu/source/i18n/rematch.cpp ---- icu.orig/source/i18n/rematch.cpp 2005-08-25 19:02:20.000000000 +0100 -+++ icu/source/i18n/rematch.cpp 2008-01-22 08:37:44.000000000 +0000 -@@ -30,6 +30,15 @@ - - U_NAMESPACE_BEGIN - -+// Limit the size of the back track stack, to avoid system failures caused -+// by heap exhaustion. Units are in 32 bit words, not bytes. -+// This value puts ICU's limits higher than most other regexp implementations, -+// which use recursion rather than the heap, and take more storage per -+// backtrack point. -+// This constant is _temporary_. Proper API to control the value will added. -+// -+static const int32_t BACKTRACK_STACK_CAPACITY = 8000000; -+ - //----------------------------------------------------------------------------- - // - // Constructor and Destructor -@@ -53,6 +62,8 @@ - } - if (fStack == NULL || fData == NULL) { - fDeferredStatus = U_MEMORY_ALLOCATION_ERROR; -+ } else { -+ fStack->setMaxCapacity(BACKTRACK_STACK_CAPACITY); - } - - reset(*RegexStaticSets::gStaticSets->fEmptyString); -@@ -78,6 +89,8 @@ - } - if (fStack == NULL || fData == NULL) { - status = U_MEMORY_ALLOCATION_ERROR; -+ } else { -+ fStack->setMaxCapacity(BACKTRACK_STACK_CAPACITY); - } - reset(input); - } -@@ -102,6 +115,8 @@ - } - if (fStack == NULL || fData == NULL) { - status = U_MEMORY_ALLOCATION_ERROR; -+ } else { -+ fStack->setMaxCapacity(BACKTRACK_STACK_CAPACITY); - } - reset(*RegexStaticSets::gStaticSets->fEmptyString); - } -@@ -1015,6 +1030,14 @@ - inline REStackFrame *RegexMatcher::StateSave(REStackFrame *fp, int32_t savePatIdx, int32_t frameSize, UErrorCode &status) { - // push storage for a new frame. - int32_t *newFP = fStack->reserveBlock(frameSize, status); -+ if (newFP == NULL) { -+ // Heap allocation error on attempted stack expansion. -+ // We need to return a writable stack frame, so just return the -+ // previous frame. The match operation will stop quickly -+ // becuase of the error status, after which the frame will never -+ // be looked at again. -+ return fp; -+ } - fp = (REStackFrame *)(newFP - frameSize); // in case of realloc of stack. - - // New stack frame = copy of old top frame. -@@ -1030,8 +1053,8 @@ - fp->fPatIdx = savePatIdx; - return (REStackFrame *)newFP; - } -- -- -+ -+ - //-------------------------------------------------------------------------------- - // - // MatchAt This is the actual matching engine. -@@ -2262,6 +2285,7 @@ - } - - if (U_FAILURE(status)) { -+ isMatch = FALSE; - break; - } - } -diff -ru icu.orig/source/test/intltest/regextst.cpp icu/source/test/intltest/regextst.cpp ---- icu.orig/source/test/intltest/regextst.cpp 2005-07-05 19:39:00.000000000 +0100 -+++ icu/source/test/intltest/regextst.cpp 2008-01-22 08:38:21.000000000 +0000 -@@ -66,6 +66,10 @@ - case 6: name = "PerlTests"; - if (exec) PerlTests(); - break; -+ case 7: name = "Bug 6149"; -+ if (exec) Bug6149(); -+ break; -+ - - - default: name = ""; -@@ -1637,6 +1641,13 @@ - // UnicodeSet containing a string - REGEX_ERR("abc[{def}]xyz", 1, 10, U_REGEX_SET_CONTAINS_STRING); - -+ -+ // Invalid Back Reference \0 -+ // For ICU 3.8 and earlier -+ // For ICU versions newer than 3.8, \0 introduces an octal escape. -+ // -+ REGEX_ERR("(ab)\\0", 1, 6, U_REGEX_INVALID_BACK_REF); -+ - } - - -@@ -2119,6 +2130,26 @@ - } - - -+//-------------------------------------------------------------- -+// -+// Bug6149 Verify limits to heap expansion for backtrack stack. -+// Use this pattern, -+// "(a?){1,}" -+// The zero-length match will repeat forever. -+// (That this goes into a loop is another bug) -+// -+//--------------------------------------------------------------- -+void RegexTest::Bug6149() { -+ UnicodeString pattern("(a?){1,}"); -+ UnicodeString s("xyz"); -+ uint32_t flags = 0; -+ UErrorCode status = U_ZERO_ERROR; -+ -+ RegexMatcher matcher(pattern, s, flags, status); -+ UBool result = false; -+ REGEX_ASSERT_FAIL(result=matcher.matches(status), U_BUFFER_OVERFLOW_ERROR); -+ REGEX_ASSERT(result == FALSE); -+ } - - #endif /* !UCONFIG_NO_REGULAR_EXPRESSIONS */ - -diff -ru icu.orig/source/test/intltest/regextst.h icu/source/test/intltest/regextst.h ---- icu.orig/source/test/intltest/regextst.h 2003-12-03 06:58:28.000000000 +0000 -+++ icu/source/test/intltest/regextst.h 2008-01-22 08:37:06.000000000 +0000 -@@ -30,6 +30,7 @@ - virtual void Extended(); - virtual void Errors(); - virtual void PerlTests(); -+ virtual void Bug6149(); - - // The following functions are internal to the regexp tests. - virtual UBool doRegexLMTest(const char *pat, const char *text, UBool looking, UBool match, int line); diff --git a/dev-libs/icu/files/icu-3.8-regexp-CVE-2007-4770+4771.diff b/dev-libs/icu/files/icu-3.8-regexp-CVE-2007-4770+4771.diff deleted file mode 100644 index 545540a4cf..0000000000 --- a/dev-libs/icu/files/icu-3.8-regexp-CVE-2007-4770+4771.diff +++ /dev/null @@ -1,305 +0,0 @@ -Index: /icu/branches/maint/maint-3-8/source/i18n/regexcmp.cpp -=================================================================== ---- i18n/regexcmp.cpp (revision 21805) -+++ i18n/regexcmp.cpp (revision 23292) -@@ -3,5 +3,5 @@ - // file: regexcmp.cpp - // --// Copyright (C) 2002-2007 International Business Machines Corporation and others. -+// Copyright (C) 2002-2008 International Business Machines Corporation and others. - // All Rights Reserved. - // -@@ -1187,12 +1187,15 @@ - // we fill the operand with the capture group number. At the end - // of compilation, it will be changed to the variable's location. -- U_ASSERT(groupNum > 0); -- int32_t op; -- if (fModeFlags & UREGEX_CASE_INSENSITIVE) { -- op = URX_BUILD(URX_BACKREF_I, groupNum); -+ if (groupNum < 1) { -+ error(U_REGEX_INVALID_BACK_REF); - } else { -- op = URX_BUILD(URX_BACKREF, groupNum); -- } -- fRXPat->fCompiledPat->addElement(op, *fStatus); -+ int32_t op; -+ if (fModeFlags & UREGEX_CASE_INSENSITIVE) { -+ op = URX_BUILD(URX_BACKREF_I, groupNum); -+ } else { -+ op = URX_BUILD(URX_BACKREF, groupNum); -+ } -+ fRXPat->fCompiledPat->addElement(op, *fStatus); -+ } - } - break; -Index: /icu/branches/maint/maint-3-8/source/i18n/rematch.cpp -=================================================================== ---- i18n/rematch.cpp (revision 21973) -+++ i18n/rematch.cpp (revision 23292) -@@ -1,5 +1,5 @@ - /* - ************************************************************************** --* Copyright (C) 2002-2007 International Business Machines Corporation * -+* Copyright (C) 2002-2008 International Business Machines Corporation * - * and others. All rights reserved. * - ************************************************************************** -@@ -30,4 +30,13 @@ - - U_NAMESPACE_BEGIN -+ -+// Limit the size of the back track stack, to avoid system failures caused -+// by heap exhaustion. Units are in 32 bit words, not bytes. -+// This value puts ICU's limits higher than most other regexp implementations, -+// which use recursion rather than the heap, and take more storage per -+// backtrack point. -+// This constant is _temporary_. Proper API to control the value will added. -+// -+static const int32_t BACKTRACK_STACK_CAPACITY = 8000000; - - //----------------------------------------------------------------------------- -@@ -54,6 +63,7 @@ - if (fStack == NULL || fData == NULL) { - fDeferredStatus = U_MEMORY_ALLOCATION_ERROR; -- } -- -+ } else { -+ fStack->setMaxCapacity(BACKTRACK_STACK_CAPACITY); -+ } - reset(RegexStaticSets::gStaticSets->fEmptyString); - } -@@ -79,4 +89,6 @@ - if (fStack == NULL || fData == NULL) { - status = U_MEMORY_ALLOCATION_ERROR; -+ } else { -+ fStack->setMaxCapacity(BACKTRACK_STACK_CAPACITY); - } - reset(input); -@@ -103,4 +115,6 @@ - if (fStack == NULL || fData == NULL) { - status = U_MEMORY_ALLOCATION_ERROR; -+ } else { -+ fStack->setMaxCapacity(BACKTRACK_STACK_CAPACITY); - } - reset(RegexStaticSets::gStaticSets->fEmptyString); -@@ -1015,4 +1029,12 @@ - // push storage for a new frame. - int32_t *newFP = fStack->reserveBlock(frameSize, status); -+ if (newFP == NULL) { -+ // Heap allocation error on attempted stack expansion. -+ // We need to return a writable stack frame, so just return the -+ // previous frame. The match operation will stop quickly -+ // becuase of the error status, after which the frame will never -+ // be looked at again. -+ return fp; -+ } - fp = (REStackFrame *)(newFP - frameSize); // in case of realloc of stack. - -@@ -1030,6 +1052,6 @@ - return (REStackFrame *)newFP; - } -- -- -+ -+ - //-------------------------------------------------------------------------------- - // -@@ -2262,4 +2284,5 @@ - - if (U_FAILURE(status)) { -+ isMatch = FALSE; - break; - } -Index: /icu/branches/maint/maint-3-8/source/test/intltest/regextst.h -=================================================================== ---- test/intltest/regextst.h (revision 22001) -+++ test/intltest/regextst.h (revision 23292) -@@ -1,5 +1,5 @@ - /******************************************************************** - * COPYRIGHT: -- * Copyright (c) 2002-2007, International Business Machines Corporation and -+ * Copyright (c) 2002-2008, International Business Machines Corporation and - * others. All Rights Reserved. - ********************************************************************/ -@@ -31,4 +31,5 @@ - virtual void Errors(); - virtual void PerlTests(); -+ virtual void Bug6149(); - - // The following functions are internal to the regexp tests. -Index: /icu/branches/maint/maint-3-8/source/test/intltest/regextst.cpp -=================================================================== ---- test/intltest/regextst.cpp (revision 22057) -+++ test/intltest/regextst.cpp (revision 23292) -@@ -1,5 +1,5 @@ - /******************************************************************** - * COPYRIGHT: -- * Copyright (c) 2002-2007, International Business Machines Corporation and -+ * Copyright (c) 2002-2008, International Business Machines Corporation and - * others. All Rights Reserved. - ********************************************************************/ -@@ -67,4 +67,8 @@ - if (exec) PerlTests(); - break; -+ case 7: name = "Bug 6149"; -+ if (exec) Bug6149(); -+ break; -+ - - -@@ -1640,4 +1644,10 @@ - // Ticket 5389 - REGEX_ERR("*c", 1, 1, U_REGEX_RULE_SYNTAX); -+ -+ // Invalid Back Reference \0 -+ // For ICU 3.8 and earlier -+ // For ICU versions newer than 3.8, \0 introduces an octal escape. -+ // -+ REGEX_ERR("(ab)\\0", 1, 6, U_REGEX_INVALID_BACK_REF); - - } -@@ -2123,4 +2133,24 @@ - - -+//-------------------------------------------------------------- -+// -+// Bug6149 Verify limits to heap expansion for backtrack stack. -+// Use this pattern, -+// "(a?){1,}" -+// The zero-length match will repeat forever. -+// (That this goes into a loop is another bug) -+// -+//--------------------------------------------------------------- -+void RegexTest::Bug6149() { -+ UnicodeString pattern("(a?){1,}"); -+ UnicodeString s("xyz"); -+ uint32_t flags = 0; -+ UErrorCode status = U_ZERO_ERROR; -+ -+ RegexMatcher matcher(pattern, s, flags, status); -+ UBool result = false; -+ REGEX_ASSERT_FAIL(result=matcher.matches(status), U_BUFFER_OVERFLOW_ERROR); -+ REGEX_ASSERT(result == FALSE); -+ } - - #endif /* !UCONFIG_NO_REGULAR_EXPRESSIONS */ -Index: /icu/branches/maint/maint-3-8/source/common/uvectr32.cpp -=================================================================== ---- common/uvectr32.cpp (revision 12958) -+++ common/uvectr32.cpp (revision 23292) -@@ -1,5 +1,5 @@ - /* - ****************************************************************************** --* Copyright (C) 1999-2003, International Business Machines Corporation and * -+* Copyright (C) 1999-2008, International Business Machines Corporation and * - * others. All Rights Reserved. * - ****************************************************************************** -@@ -27,4 +27,5 @@ - count(0), - capacity(0), -+ maxCapacity(0), - elements(NULL) - { -@@ -35,4 +36,5 @@ - count(0), - capacity(0), -+ maxCapacity(0), - elements(0) - { -@@ -46,4 +48,7 @@ - if (initialCapacity < 1) { - initialCapacity = DEFUALT_CAPACITY; -+ } -+ if (maxCapacity>0 && maxCapacity<initialCapacity) { -+ initialCapacity = maxCapacity; - } - elements = (int32_t *)uprv_malloc(sizeof(int32_t)*initialCapacity); -@@ -190,19 +195,33 @@ - if (capacity >= minimumCapacity) { - return TRUE; -- } else { -- int32_t newCap = capacity * 2; -- if (newCap < minimumCapacity) { -- newCap = minimumCapacity; -- } -- int32_t* newElems = (int32_t *)uprv_malloc(sizeof(int32_t)*newCap); -- if (newElems == 0) { -- status = U_MEMORY_ALLOCATION_ERROR; -- return FALSE; -- } -- uprv_memcpy(newElems, elements, sizeof(elements[0]) * count); -- uprv_free(elements); -- elements = newElems; -- capacity = newCap; -- return TRUE; -+ } -+ if (maxCapacity>0 && minimumCapacity>maxCapacity) { -+ status = U_BUFFER_OVERFLOW_ERROR; -+ return FALSE; -+ } -+ int32_t newCap = capacity * 2; -+ if (newCap < minimumCapacity) { -+ newCap = minimumCapacity; -+ } -+ if (maxCapacity > 0 && newCap > maxCapacity) { -+ newCap = maxCapacity; -+ } -+ int32_t* newElems = (int32_t *)uprv_malloc(sizeof(int32_t)*newCap); -+ if (newElems == 0) { -+ status = U_MEMORY_ALLOCATION_ERROR; -+ return FALSE; -+ } -+ uprv_memcpy(newElems, elements, sizeof(elements[0]) * count); -+ uprv_free(elements); -+ elements = newElems; -+ capacity = newCap; -+ return TRUE; -+} -+ -+void UVector32::setMaxCapacity(int32_t limit) { -+ U_ASSERT(limit >= 0); -+ maxCapacity = limit; -+ if (maxCapacity < 0) { -+ maxCapacity = 0; - } - } -Index: /icu/branches/maint/maint-3-8/source/common/uvectr32.h -=================================================================== ---- common/uvectr32.h (revision 19000) -+++ common/uvectr32.h (revision 23292) -@@ -1,5 +1,5 @@ - /* - ********************************************************************** --* Copyright (C) 1999-2006, International Business Machines -+* Copyright (C) 1999-2008, International Business Machines - * Corporation and others. All Rights Reserved. - ********************************************************************** -@@ -62,4 +62,6 @@ - - int32_t capacity; -+ -+ int32_t maxCapacity; // Limit beyond which capacity is not permitted to grow. - - int32_t* elements; -@@ -161,4 +163,12 @@ - */ - int32_t *getBuffer() const; -+ -+ /** -+ * Set the maximum allowed buffer capacity for this vector/stack. -+ * Default with no limit set is unlimited, go until malloc() fails. -+ * A Limit of zero means unlimited capacity. -+ * Units are vector elements (32 bits each), not bytes. -+ */ -+ void setMaxCapacity(int32_t limit); - - /** -@@ -222,5 +232,7 @@ - - inline int32_t *UVector32::reserveBlock(int32_t size, UErrorCode &status) { -- ensureCapacity(count+size, status); -+ if (ensureCapacity(count+size, status) == FALSE) { -+ return NULL; -+ } - int32_t *rp = elements+count; - count += size; - diff --git a/dev-libs/icu/files/icu-3.8-setBreakType-public.diff b/dev-libs/icu/files/icu-3.8-setBreakType-public.diff deleted file mode 100644 index 3320b92282..0000000000 --- a/dev-libs/icu/files/icu-3.8-setBreakType-public.diff +++ /dev/null @@ -1,24 +0,0 @@ -This patch makes setBreakType public (needed for OO.org), -pending a better upstream solution in 4.0. For details, see: -http://qa.openoffice.org/issues/show_bug.cgi?id=83146 -http://bugs.icu-project.org/trac/ticket/5498 -http://bugs.gentoo.org/show_bug.cgi?id=200010 -http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=448745 -diff -Nau common/unicode.rbbi.h.orig common/unicode/rbbi.h ---- common/unicode/rbbi.h.orig 2007-10-31 15:52:08.000000000 +0100 -+++ common/unicode/rbbi.h 2007-10-31 15:52:47.000000000 +0100 -@@ -611,12 +611,14 @@ - virtual int32_t getBreakType() const; - #endif - -+public: - /** - * Set the type of the break iterator. - * @internal - */ - virtual void setBreakType(int32_t type); - -+protected: - /** - * Common initialization function, used by constructors and bufferClone. - * (Also used by DictionaryBasedBreakIterator::createBufferClone().) diff --git a/dev-libs/icu/files/icu-3.8.1-darwin.patch b/dev-libs/icu/files/icu-3.8.1-darwin.patch deleted file mode 100644 index faf102f80a..0000000000 --- a/dev-libs/icu/files/icu-3.8.1-darwin.patch +++ /dev/null @@ -1,56 +0,0 @@ -diff -ur icu.orig/source/config/mh-darwin icu/source/config/mh-darwin ---- icu.orig/source/config/mh-darwin 2007-12-12 19:57:36 +0100 -+++ icu/source/config/mh-darwin 2008-01-25 22:32:46 +0100 -@@ -4,6 +4,13 @@ - ## Copyright (c) 1999-2007 International Business Machines Corporation and - ## others. All Rights Reserved. - -+ -+SO_TARGET = $(LIBDIR)/$(LIBICU)$(TARGET_STUBNAME)$(ICULIBSUFFIX).$(SO) -+FINAL_SO_TARGET = $(LIBDIR)/$(LIBICU)$(TARGET_STUBNAME)$(ICULIBSUFFIX).$(SO_TARGET_VERSION).$(SO) -+MIDDLE_SO_TARGET = $(LIBDIR)/$(LIBICU)$(TARGET_STUBNAME)$(ICULIBSUFFIX).$(SO_TARGET_VERSION_MAJOR).$(SO) -+ -+IS_DARWIN = yes -+ - ## Flags for position independent code - SHAREDLIBCFLAGS = -dynamic - SHAREDLIBCXXFLAGS = -dynamic -@@ -25,7 +32,7 @@ - SHLIB.cc= $(CXX) -dynamiclib -dynamic $(CXXFLAGS) $(LDFLAGS) - - ## Compiler switches to embed a library name and version information --LD_SONAME = -Wl,-compatibility_version -Wl,$(SO_TARGET_VERSION_MAJOR) -Wl,-current_version -Wl,$(SO_TARGET_VERSION) -install_name $(notdir $(MIDDLE_SO_TARGET)) -+LD_SONAME = -Wl,-compatibility_version -Wl,$(SO_TARGET_VERSION_MAJOR) -Wl,-current_version -Wl,$(SO_TARGET_VERSION) -install_name $(libdir)/$(notdir $(MIDDLE_SO_TARGET)) - - ## Compiler switch to embed a runtime search path - LD_RPATH= -diff -ur icu.orig/source/stubdata/Makefile.in icu/source/stubdata/Makefile.in ---- icu.orig/source/stubdata/Makefile.in 2007-12-12 19:57:36 +0100 -+++ icu/source/stubdata/Makefile.in 2008-01-25 22:32:46 +0100 -@@ -32,7 +32,11 @@ - - - ifneq ($(ENABLE_SHARED),) -+ifeq ($(IS_DARWIN),) - SO_TARGET = $(STUBDATA_LIBDIR)$(LIBICU)$(TARGET_STUBNAME)$(ICULIBSUFFIX)$(STUB_SUFFIX).$(SO) -+else -+SO_TARGET = $(LIBDIR)/$(STUBDATA_LIBDIR)$(LIBICU)$(TARGET_STUBNAME)$(ICULIBSUFFIX)$(STUB_SUFFIX).$(SO) -+endif - ALL_SO_TARGETS = $(FINAL_SO_TARGET) $(MIDDLE_SO_TARGET) $(SO_TARGET) $(BATCH_STUB_TARGET) $(SHARED_OBJECT) - endif - -diff -ur icu.orig/source/tools/ctestfw/Makefile.in icu/source/tools/ctestfw/Makefile.in ---- icu.orig/source/tools/ctestfw/Makefile.in 2007-12-12 19:57:26 +0100 -+++ icu/source/tools/ctestfw/Makefile.in 2008-01-25 22:32:46 +0100 -@@ -31,7 +31,11 @@ - endif - - ifneq ($(ENABLE_SHARED),) -+ifeq ($(IS_DARWIN),) - SO_TARGET = $(LIBICU)$(TARGET_STUBNAME)$(ICULIBSUFFIX).$(SO) -+else -+SO_TARGET = $(LIBDIR)/$(LIBICU)$(TARGET_STUBNAME)$(ICULIBSUFFIX).$(SO) -+endif - ALL_SO_TARGETS = $(SO_TARGET) $(MIDDLE_SO_TARGET) $(FINAL_SO_TARGET) $(SHARED_OBJECT) - endif - diff --git a/dev-libs/icu/files/icu-3.8.1-static-names.patch b/dev-libs/icu/files/icu-3.8.1-static-names.patch deleted file mode 100644 index f608cf2887..0000000000 --- a/dev-libs/icu/files/icu-3.8.1-static-names.patch +++ /dev/null @@ -1,18 +0,0 @@ ---- icu/source/icudefs.mk.in.weg 2009-06-08 16:38:33 +0200 -+++ icu/source/icudefs.mk.in 2009-06-08 16:38:43 +0200 -@@ -173,13 +173,13 @@ - - ## If we can't use the shared libraries, use the static libraries - ifneq ($(ENABLE_SHARED),YES) --STATIC_PREFIX_WHEN_USED = s -+STATIC_PREFIX_WHEN_USED = - else - STATIC_PREFIX_WHEN_USED = - endif - - # Static library prefix and file extension --STATIC_PREFIX = s -+STATIC_PREFIX = - LIBSICU = $(LIBPREFIX)$(STATIC_PREFIX)$(ICUPREFIX) - A = a - SOBJ = $(SO) diff --git a/dev-libs/icu/files/icu-3.8.1-winnt-basic.patch b/dev-libs/icu/files/icu-3.8.1-winnt-basic.patch deleted file mode 100644 index 80e5309011..0000000000 --- a/dev-libs/icu/files/icu-3.8.1-winnt-basic.patch +++ /dev/null @@ -1,93 +0,0 @@ -diff -ruN icu.orig/source/aclocal.m4 icu/source/aclocal.m4 ---- icu.orig/source/aclocal.m4 2008-08-28 10:38:15 +0200 -+++ icu/source/aclocal.m4 2008-08-28 10:38:56 +0200 -@@ -31,6 +31,7 @@ - icu_cv_host_frag=mh-linux-va - fi ;; - *-*-linux*|*-pc-gnu) icu_cv_host_frag=mh-linux ;; -+*-*-winnt*) icu_cv_host_frag=mh-winnt ;; - *-*-cygwin|*-*-mingw32) - if test "$GCC" = yes; then - AC_TRY_COMPILE([ -diff -ruN icu.orig/source/config/mh-winnt icu/source/config/mh-winnt ---- icu.orig/source/config/mh-winnt 1970-01-01 01:00:00 +0100 -+++ icu/source/config/mh-winnt 2008-08-28 10:39:52 +0200 -@@ -0,0 +1,78 @@ -+## -*-makefile-*- -+## Windows specific setup (through parity) -+## Copyright (c) 1999-2006, International Business Machines Corporation and -+## others. All Rights Reserved. -+ -+## Commands to generate dependency files -+GEN_DEPS.c= $(CC) -E -MM $(DEFS) $(CPPFLAGS) -+GEN_DEPS.cc= $(CXX) -E -MM $(DEFS) $(CPPFLAGS) -+ -+## Flags for position independent code -+SHAREDLIBCFLAGS = -fPIC -+SHAREDLIBCXXFLAGS = -fPIC -+SHAREDLIBCPPFLAGS = -DPIC -+ -+## Additional flags when building libraries and with threads -+THREADSCPPFLAGS = -D_REENTRANT -+LIBCPPFLAGS = -+ -+## Compiler switch to embed a runtime search path -+LD_RPATH= -+LD_RPATH_PRE = -Wl,-rpath, -+ -+## These are the library specific LDFLAGS -+LDFLAGSICUDT= -+ -+## Compiler switch to embed a library name -+# The initial tab in the next line is to prevent icu-config from reading it. -+ #LD_SONAME = -Wl,-soname -Wl,$(notdir $(MIDDLE_SO_TARGET)) -+#SH# # We can't depend on MIDDLE_SO_TARGET being set. -+#SH# LD_SONAME= -+ -+## Shared object suffix -+SO = so -+## Non-shared intermediate object suffix -+STATIC_O = ao -+ -+## Compilation rules -+%.$(STATIC_O): $(srcdir)/%.c -+ $(COMPILE.c) $(STATICCPPFLAGS) $(STATICCFLAGS) -o $@ $< -+%.o: $(srcdir)/%.c -+ $(COMPILE.c) $(DYNAMICCPPFLAGS) $(DYNAMICCFLAGS) -o $@ $< -+ -+%.$(STATIC_O): $(srcdir)/%.cpp -+ $(COMPILE.cc) $(STATICCPPFLAGS) $(STATICCXXFLAGS) -o $@ $< -+%.o: $(srcdir)/%.cpp -+ $(COMPILE.cc) $(DYNAMICCPPFLAGS) $(DYNAMICCXXFLAGS) -o $@ $< -+ -+ -+## Dependency rules -+%.d: $(srcdir)/%.c -+ @echo "generating dependency information for $<" -+ @$(SHELL) -ec '$(GEN_DEPS.c) $< \ -+ | sed '\''s%\($*\)\.o[ :]*%\1.o $@ : %g'\'' > $@; \ -+ [ -s $@ ] || rm -f $@' -+ -+%.d: $(srcdir)/%.cpp -+ @echo "generating dependency information for $<" -+ @$(SHELL) -ec '$(GEN_DEPS.cc) $< \ -+ | sed '\''s%\($*\)\.o[ :]*%\1.o $@ : %g'\'' > $@; \ -+ [ -s $@ ] || rm -f $@' -+ -+## Versioned libraries rules -+ -+%.$(SO).$(SO_TARGET_VERSION_MAJOR): %.$(SO).$(SO_TARGET_VERSION) -+ $(RM) $@ && ln -s ${<F} $@ -+%.$(SO): %.$(SO).$(SO_TARGET_VERSION_MAJOR) -+ $(RM) $@ && ln -s ${*F}.$(SO).$(SO_TARGET_VERSION) $@ -+ -+## Bind internal references -+ -+# LDflags that pkgdata will use -+BIR_LDFLAGS= -+ -+# Dependencies [i.e. map files] for the final library -+BIR_DEPS= -+ -+## End Windows-specific setup -+ diff --git a/dev-libs/icu/files/icu-3.8.1-winnt.patch b/dev-libs/icu/files/icu-3.8.1-winnt.patch deleted file mode 100644 index a62d5cc25e..0000000000 --- a/dev-libs/icu/files/icu-3.8.1-winnt.patch +++ /dev/null @@ -1,230 +0,0 @@ -diff -ru -x icu-config -x config.log -x icudefs.mk -x Makefile icu.orig/source/common/Makefile.in icu/source/common/Makefile.in ---- icu.orig/source/common/Makefile.in 2008-08-29 09:23:02 +0200 -+++ icu/source/common/Makefile.in 2008-08-29 09:48:46 +0200 -@@ -132,6 +132,9 @@ - cd $(DESTDIR)$(libdir) && $(RM) $(notdir $(MIDDLE_SO_TARGET)) && ln -s $(notdir $(FINAL_SO_TARGET)) $(notdir $(MIDDLE_SO_TARGET)) - endif - endif -+ if test -f $(FINAL_SO_TARGET).dll; then \ -+ $(INSTALL-L) $(FINAL_SO_TARGET).dll $(DESTDIR)$(libdir); \ -+ fi - ifneq ($(IMPORT_LIB_EXT),) - $(INSTALL-L) $(FINAL_IMPORT_LIB) $(DESTDIR)$(libdir) - ifneq ($(IMPORT_LIB),$(FINAL_IMPORT_LIB)) -diff -ru -x icu-config -x config.log -x icudefs.mk -x Makefile icu.orig/source/common/unicode/umachine.h icu/source/common/unicode/umachine.h ---- icu.orig/source/common/unicode/umachine.h 2008-08-29 10:10:19 +0200 -+++ icu/source/common/unicode/umachine.h 2008-08-29 08:34:43 +0200 -@@ -44,6 +44,12 @@ - #if defined(U_PALMOS) - # include "unicode/ppalmos.h" - #elif defined(WIN32) || defined(_WIN32) || defined(WIN64) || defined(_WIN64) -+# if defined(__PARITY__) -+# define U_MAKE "gmake" -+ /* can do dllimport _always_ with parity. parity will -+ * change it to the correct sort of symbol request. */ -+# define PARITY_IMPORT __declspec(dllimport) -+# endif - # include "unicode/pwin32.h" - #else - # include "unicode/platform.h" -diff -ru -x icu-config -x config.log -x icudefs.mk -x Makefile icu.orig/source/common/unicode/utypes.h icu/source/common/unicode/utypes.h ---- icu.orig/source/common/unicode/utypes.h 2008-08-29 10:10:19 +0200 -+++ icu/source/common/unicode/utypes.h 2008-08-29 08:34:43 +0200 -@@ -451,6 +451,12 @@ - #define U_TOOLUTIL_API U_IMPORT - #endif - -+#ifdef __PARITY__ -+/* always use the PARITY_IMPORT setting... */ -+#undef U_DATA_API -+#define U_DATA_API PARITY_IMPORT -+#endif -+ - /** - * \def U_STANDARD_CPP_NAMESPACE - * Control of C++ Namespace -diff -ru -x icu-config -x config.log -x icudefs.mk -x Makefile icu.orig/source/extra/uconv/uconv.cpp icu/source/extra/uconv/uconv.cpp ---- icu.orig/source/extra/uconv/uconv.cpp 2008-08-29 10:10:19 +0200 -+++ icu/source/extra/uconv/uconv.cpp 2008-08-29 08:34:43 +0200 -@@ -46,6 +46,7 @@ - #if defined(U_WINDOWS) - #define USE_FILENO_BINARY_MODE 1 - /* Windows likes to rename Unix-like functions */ -+#ifndef __PARITY__ - #ifndef fileno - #define fileno _fileno - #endif -@@ -55,6 +56,7 @@ - #ifndef O_BINARY - #define O_BINARY _O_BINARY - #endif -+#endif /* __PARITY__ */ - #endif - #endif - -diff -ru -x icu-config -x config.log -x icudefs.mk -x Makefile icu.orig/source/i18n/Makefile.in icu/source/i18n/Makefile.in ---- icu.orig/source/i18n/Makefile.in 2008-08-29 09:23:55 +0200 -+++ icu/source/i18n/Makefile.in 2008-08-29 10:03:14 +0200 -@@ -122,6 +122,9 @@ - cd $(DESTDIR)$(libdir) && $(RM) $(notdir $(MIDDLE_SO_TARGET)) && ln -s $(notdir $(FINAL_SO_TARGET)) $(notdir $(MIDDLE_SO_TARGET)) - endif - endif -+ if test -f $(FINAL_SO_TARGET).dll; then \ -+ $(INSTALL-L) $(FINAL_SO_TARGET).dll $(DESTDIR)$(libdir); \ -+ fi - ifneq ($(IMPORT_LIB_EXT),) - $(INSTALL-L) $(FINAL_IMPORT_LIB) $(DESTDIR)$(libdir) - ifneq ($(IMPORT_LIB),$(FINAL_IMPORT_LIB)) -diff -ru -x icu-config -x config.log -x icudefs.mk -x Makefile icu.orig/source/io/Makefile.in icu/source/io/Makefile.in ---- icu.orig/source/io/Makefile.in 2008-08-29 09:24:03 +0200 -+++ icu/source/io/Makefile.in 2008-08-29 10:04:19 +0200 -@@ -107,6 +107,9 @@ - cd $(DESTDIR)$(libdir) && $(RM) $(notdir $(MIDDLE_SO_TARGET)) && ln -s $(notdir $(FINAL_SO_TARGET)) $(notdir $(MIDDLE_SO_TARGET)) - endif - endif -+ if test -f $(FINAL_SO_TARGET).dll; then \ -+ $(INSTALL-L) $(FINAL_SO_TARGET).dll $(DESTDIR)$(libdir); \ -+ fi - ifneq ($(IMPORT_LIB_EXT),) - $(INSTALL-L) $(FINAL_IMPORT_LIB) $(DESTDIR)$(libdir) - ifneq ($(IMPORT_LIB),$(FINAL_IMPORT_LIB)) -diff -ru -x icu-config -x config.log -x icudefs.mk -x Makefile icu.orig/source/layout/Makefile.in icu/source/layout/Makefile.in ---- icu.orig/source/layout/Makefile.in 2008-08-29 09:24:07 +0200 -+++ icu/source/layout/Makefile.in 2008-08-29 10:05:37 +0200 -@@ -177,6 +177,9 @@ - cd $(DESTDIR)$(libdir) && $(RM) $(notdir $(MIDDLE_SO_TARGET)) && ln -s $(notdir $(FINAL_SO_TARGET)) $(notdir $(MIDDLE_SO_TARGET)) - endif - endif -+ if test -f $(FINAL_SO_TARGET).dll; then \ -+ $(INSTALL-L) $(FINAL_SO_TARGET).dll $(DESTDIR)$(libdir); \ -+ fi - ifneq ($(IMPORT_LIB_EXT),) - $(INSTALL-L) $(FINAL_IMPORT_LIB) $(DESTDIR)$(libdir) - ifneq ($(IMPORT_LIB),$(FINAL_IMPORT_LIB)) -diff -ru -x icu-config -x config.log -x icudefs.mk -x Makefile icu.orig/source/layoutex/Makefile.in icu/source/layoutex/Makefile.in ---- icu.orig/source/layoutex/Makefile.in 2008-08-29 09:24:09 +0200 -+++ icu/source/layoutex/Makefile.in 2008-08-29 10:06:15 +0200 -@@ -108,6 +108,9 @@ - cd $(DESTDIR)$(libdir) && $(RM) $(notdir $(MIDDLE_SO_TARGET)) && ln -s $(notdir $(FINAL_SO_TARGET)) $(notdir $(MIDDLE_SO_TARGET)) - endif - endif -+ if test -f $(FINAL_SO_TARGET).dll; then \ -+ $(INSTALL-L) $(FINAL_SO_TARGET).dll $(DESTDIR)$(libdir); \ -+ fi - ifneq ($(IMPORT_LIB_EXT),) - $(INSTALL-L) $(FINAL_IMPORT_LIB) $(DESTDIR)$(libdir) - ifneq ($(IMPORT_LIB),$(FINAL_IMPORT_LIB)) -diff -ru -x icu-config -x config.log -x icudefs.mk -x Makefile icu.orig/source/tools/genccode/genccode.c icu/source/tools/genccode/genccode.c ---- icu.orig/source/tools/genccode/genccode.c 2008-08-29 10:10:19 +0200 -+++ icu/source/tools/genccode/genccode.c 2008-08-29 08:34:43 +0200 -@@ -878,8 +878,12 @@ - */ - entry[0]='_'; - -+#ifndef __PARITY__ - newSuffix=".obj"; - #else -+ newSuffix=".o"; -+#endif -+#else - # error "Unknown platform for CAN_GENERATE_OBJECTS." - #endif - -diff -ru -x icu-config -x config.log -x icudefs.mk -x Makefile icu.orig/source/tools/pkgdata/dllmode.c icu/source/tools/pkgdata/dllmode.c ---- icu.orig/source/tools/pkgdata/dllmode.c 2008-08-29 09:25:05 +0200 -+++ icu/source/tools/pkgdata/dllmode.c 2008-08-29 10:00:28 +0200 -@@ -266,6 +266,9 @@ - T_FileStream_writeLine(makefile, "\tcd $(INSTALLTO) && $(RM) $(MIDDLE_SO_TARGET) && ln -s $(FINAL_SO_TARGET) $(MIDDLE_SO_TARGET)\n"); - T_FileStream_writeLine(makefile, "endif\n"); - T_FileStream_writeLine(makefile, "endif\n"); -+ T_FileStream_writeLine(makefile, "\tif test -f $(TARGETDIR)/$(FINAL_SO_TARGET).dll; then \\\n"); -+ T_FileStream_writeLine(makefile, "\t\t$(INSTALL-L) $(TARGETDIR)/$(FINAL_SO_TARGET).dll $(INSTALLTO)/$(FINAL_SO_TARGET).dll; \\\n"); -+ T_FileStream_writeLine(makefile, "\tfi"); - - #ifdef OS390 - T_FileStream_writeLine(makefile, "ifneq ($(IMPORT_LIB_EXT),)\n"); -diff -ru -x icu-config -x config.log -x icudefs.mk -x Makefile icu.orig/source/tools/pkgdata/pkgdata.c icu/source/tools/pkgdata/pkgdata.c ---- icu.orig/source/tools/pkgdata/pkgdata.c 2008-08-29 10:10:19 +0200 -+++ icu/source/tools/pkgdata/pkgdata.c 2008-08-29 08:34:43 +0200 -@@ -37,7 +37,7 @@ - #include "uoptions.h" - #include "putilimp.h" - --#if U_HAVE_POPEN -+#if U_HAVE_POPEN || defined (__PARITY__) - # include <unistd.h> - #endif - #include <stdio.h> -@@ -476,6 +476,26 @@ - o->makeArgs && *o->makeArgs ? "'" : "", - o->makeArgs && *o->makeArgs ? o->makeArgs : "", - o->makeArgs && *o->makeArgs ? "'" : ""); -+#elif defined(__PARITY__) -+ { -+ const char * p = NULL; -+ if(access("C:\\Windows\\posix.exe", X_OK) == 0) -+ p = "C:\\Windows\\posix.exe"; -+ else -+ p = "C:\\Windows\\system32\\posix.exe"; -+ -+ /* need to call through posix subsystem to reach make */ -+ sprintf(cmd, "%s /u /c %s %s%s -f %s %s %s %s %s", -+ p, -+ make, -+ o->install ? "INSTALLTO=" : "", -+ o->install ? o->install : "", -+ o->makeFile, -+ o->clean ? "clean" : "", -+ o->rebuild ? "rebuild" : "", -+ o->install ? "install" : "", -+ o->makeArgs); -+ } - #else - sprintf(cmd, "%s %s%s -f %s %s %s %s %s", - make, -diff -ru -x icu-config -x config.log -x icudefs.mk -x Makefile icu.orig/source/tools/pkgdata/pkgtypes.h icu/source/tools/pkgdata/pkgtypes.h ---- icu.orig/source/tools/pkgdata/pkgtypes.h 2008-08-29 10:10:19 +0200 -+++ icu/source/tools/pkgdata/pkgtypes.h 2008-08-29 08:34:43 +0200 -@@ -140,13 +140,23 @@ - /* set up common defines for library naming */ - - #ifdef U_WINDOWS --# ifndef UDATA_SO_SUFFIX --# define UDATA_SO_SUFFIX ".dll" -+# ifndef __PARITY__ -+# ifndef UDATA_SO_SUFFIX -+# define UDATA_SO_SUFFIX ".dll" -+# endif -+# define LIB_PREFIX "" -+# define LIB_STATIC_PREFIX "" -+# define OBJ_SUFFIX ".obj" -+# define UDATA_LIB_SUFFIX ".lib" -+# else -+# ifndef UDATA_SO_SUFFIX -+# define UDATA_SO_SUFFIX ".so" -+# endif -+# define LIB_PREFIX "lib" -+# define LIB_STATIC_PREFIX "lib" -+# define OBJ_SUFFIX ".o" -+# define UDATA_LIB_SUFFIX ".a" - # endif --# define LIB_PREFIX "" --# define LIB_STATIC_PREFIX "" --# define OBJ_SUFFIX ".obj" --# define UDATA_LIB_SUFFIX ".lib" - - #elif defined(U_CYGWIN) - # define LIB_PREFIX "cyg" -diff -ru -x icu-config -x config.log -x icudefs.mk -x Makefile icu.orig/source/tools/toolutil/Makefile.in icu/source/tools/toolutil/Makefile.in ---- icu.orig/source/tools/toolutil/Makefile.in 2008-08-29 09:25:05 +0200 -+++ icu/source/tools/toolutil/Makefile.in 2008-08-29 10:08:06 +0200 -@@ -91,6 +91,9 @@ - cd $(DESTDIR)$(libdir) && $(RM) $(notdir $(MIDDLE_SO_TARGET)) && ln -s $(notdir $(FINAL_SO_TARGET)) $(notdir $(MIDDLE_SO_TARGET)) - endif - endif -+ if test -f $(FINAL_SO_TARGET).dll; then \ -+ $(INSTALL-L) $(FINAL_SO_TARGET).dll $(DESTDIR)$(libdir); \ -+ fi - endif - - dist-local: diff --git a/dev-libs/icu/files/icu-4.0.1-TestDisplayNamesMeta.patch b/dev-libs/icu/files/icu-4.0.1-TestDisplayNamesMeta.patch deleted file mode 100644 index be1f7ec59f..0000000000 --- a/dev-libs/icu/files/icu-4.0.1-TestDisplayNamesMeta.patch +++ /dev/null @@ -1,177 +0,0 @@ -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 */ diff --git a/dev-libs/icu/files/icu-4.0.1-fix_parallel_building.patch b/dev-libs/icu/files/icu-4.0.1-fix_parallel_building.patch deleted file mode 100644 index 0e09fd9eda..0000000000 --- a/dev-libs/icu/files/icu-4.0.1-fix_parallel_building.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- data/Makefile.in -+++ data/Makefile.in -@@ -355,6 +355,7 @@ - endif - endif - -+$(BUILD_DIRS): build-dir - - build-dir: - @list='$(BUILD_DIRS)'; \ diff --git a/dev-libs/icu/files/icu-4.0.1-ia64-as.patch b/dev-libs/icu/files/icu-4.0.1-ia64-as.patch deleted file mode 100644 index ef6807467d..0000000000 --- a/dev-libs/icu/files/icu-4.0.1-ia64-as.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- icu/source/tools/genccode/genccode.c.orig 2007-10-17 23:03:50.771468000 +0200 -+++ icu/source/tools/genccode/genccode.c 2007-10-17 23:04:00.851163000 +0200 -@@ -209,7 +209,7 @@ - "\t.type %s,@object\n" - "\t.global %s\n" - "\t.secalias .abe$0.rodata, \".rodata\"\n" -- "\t.section .abe$0.rodata = \"a\", \"progbits\"\n" -+ "\t.section .abe$0.rodata, \"a\", \"progbits\"\n" - "\t.align 16\n" - "%s::\t", - diff --git a/dev-libs/icu/files/icu-4.2.1-fix_misoptimizations.patch b/dev-libs/icu/files/icu-4.2.1-fix_misoptimizations.patch deleted file mode 100644 index 10838240e7..0000000000 --- a/dev-libs/icu/files/icu-4.2.1-fix_misoptimizations.patch +++ /dev/null @@ -1,25 +0,0 @@ -https://bugs.icu-project.org/trac/ticket/7039 - ---- common/unicode/unistr.h -+++ common/unicode/unistr.h -@@ -4048,7 +4048,8 @@ - - { - // This dstSize value will be checked explicitly -- return extract(start, _length, dst, dst!=0 ? 0xffffffff : 0, codepage); -+ // Ticket #7039: Clip length to the maximum valid length to the end of addressable memory given the starting address -+ return extract(start, _length, dst, dst!=0 ? ((dst >= (char*)((size_t)-1) - UINT32_MAX) ? (((char*)UINT32_MAX) - dst) : UINT32_MAX) : 0, codepage); - } - - #endif ---- runConfigureICU -+++ runConfigureICU -@@ -318,7 +318,7 @@ - then - case $CXX in - g++|*/g++|*-g++-*|*/*-g++-*) -- RELEASE_CXXFLAGS=-O -+ RELEASE_CXXFLAGS=-O3 - ;; - esac - fi diff --git a/dev-libs/icu/files/icu-4.2.1-pkgdata-build_data_without_assembly.patch b/dev-libs/icu/files/icu-4.2.1-pkgdata-build_data_without_assembly.patch deleted file mode 100644 index 9edab456dd..0000000000 --- a/dev-libs/icu/files/icu-4.2.1-pkgdata-build_data_without_assembly.patch +++ /dev/null @@ -1,16 +0,0 @@ -https://bugs.gentoo.org/show_bug.cgi?id=275769 - ---- tools/pkgdata/pkgdata.cpp -+++ tools/pkgdata/pkgdata.cpp -@@ -77,6 +77,11 @@ - #define CAN_WRITE_OBJ_CODE - #endif - -+#ifdef CAN_WRITE_OBJ_CODE -+#undef CAN_WRITE_OBJ_CODE -+#define BUILD_DATA_WITHOUT_ASSEMBLY -+#endif -+ - /* - * When building the data library without assembly, - * some platforms use a single c code file for all of diff --git a/dev-libs/icu/files/icu-4.2.1-pkgdata.patch b/dev-libs/icu/files/icu-4.2.1-pkgdata.patch deleted file mode 100644 index a66b0ff461..0000000000 --- a/dev-libs/icu/files/icu-4.2.1-pkgdata.patch +++ /dev/null @@ -1,188 +0,0 @@ -https://bugs.icu-project.org/trac/ticket/6969 -https://bugs.icu-project.org/trac/changeset/26210 - ---- tools/pkgdata/pkgdata.cpp -+++ tools/pkgdata/pkgdata.cpp -@@ -118,6 +118,7 @@ - static void createFileNames(const char *version_major, const char *version, const char *libName, const UBool reverseExt); - - static int32_t pkg_getOptionsFromICUConfig(UOption *option); -+static int runCommand(const char* command); - - enum { - NAME, -@@ -461,6 +462,15 @@ - return result; - } - -+static int runCommand(const char* command) { -+ printf("pkgdata: %s\n", command); -+ int result = system(command); -+ if (result != 0) { -+ printf("-- return status = %d\n", result); -+ } -+ return result; -+} -+ - #define LN_CMD "ln -s" - #define RM_CMD "rm -f" - -@@ -724,7 +734,7 @@ - LN_CMD, - libFileNames[LIB_FILE_VERSION], - libFileNames[LIB_FILE_VERSION_MAJOR]); -- result = system(cmd); -+ result = runCommand(cmd); - if (result != 0) { - return result; - } -@@ -737,7 +747,7 @@ - libFileNames[LIB_FILE_VERSION], - libFileNames[LIB_FILE], pkgDataFlags[SO_EXT]); - -- result = system(cmd); -+ result = runCommand(cmd); - - return result; - } -@@ -753,7 +763,7 @@ - installDir, PKGDATA_FILE_SEP_STRING, libFileNames[LIB_FILE_VERSION] - ); - -- result = system(cmd); -+ result = runCommand(cmd); - - if (result != 0) { - return result; -@@ -795,7 +805,7 @@ - srcDir, PKGDATA_FILE_SEP_STRING, buffer, - installDir, PKGDATA_FILE_SEP_STRING, buffer); - -- result = system(cmd); -+ result = runCommand(cmd); - if (result != 0) { - fprintf(stderr, "Failed to install data file with command: %s\n", cmd); - break; -@@ -815,7 +825,7 @@ - } - #else - sprintf(cmd, "%s %s %s %s", WIN_INSTALL_CMD, srcDir, installDir, WIN_INSTALL_CMD_FLAGS); -- result = system(cmd); -+ result = runCommand(cmd); - if (result != 0) { - fprintf(stderr, "Failed to install data file with command: %s\n", cmd); - } -@@ -849,7 +859,17 @@ - targetDir, - libFileNames[LIB_FILE_VERSION_TMP]); - -- result = system(cmd); -+ result = runCommand(cmd); -+ if (result != 0) { -+ return result; -+ } -+ -+ sprintf(cmd, "%s %s%s", -+ pkgDataFlags[RANLIB], -+ targetDir, -+ libFileNames[LIB_FILE_VERSION]); -+ -+ result = runCommand(cmd); - if (result != 0) { - return result; - } -@@ -860,7 +880,7 @@ - targetDir, - libFileNames[LIB_FILE_VERSION_TMP]); - -- result = system(cmd); -+ result = runCommand(cmd); - if (result != 0) { - return result; - } -@@ -908,7 +928,21 @@ - pkgDataFlags[A_EXT], - objectFile); - -- result = system(cmd); -+ result = runCommand(cmd); -+ if (result == 0) -+ { -+#ifdef OS400 -+ sprintf(cmd, "QSH CMD('%s %s%s.%s')", -+#else -+ sprintf(cmd, "%s %s%s.%s", -+#endif -+ pkgDataFlags[RANLIB], -+ targetDir, -+ libFileNames[LIB_FILE], -+ pkgDataFlags[A_EXT]); -+ -+ result = runCommand(cmd); -+ } - } else /* if (mode == MODE_DLL) */ { - #ifdef U_CYGWIN - sprintf(cmd, "%s%s%s %s -o %s%s %s %s%s %s %s", -@@ -935,7 +969,7 @@ - pkgDataFlags[BIR_FLAGS]); - - /* Generate the library file. */ -- result = system(cmd); -+ result = runCommand(cmd); - } - - if (freeCmd) { -@@ -961,7 +995,7 @@ - tempObjectFile, - gencFilePath); - -- result = system(cmd); -+ result = runCommand(cmd); - if (result != 0) { - return result; - } -@@ -1043,7 +1077,7 @@ - tempObjectFile, - gencmnFile); - -- result = system(cmd); -+ result = runCommand(cmd); - if (result != 0) { - break; - } -@@ -1094,7 +1128,7 @@ - sprintf(cmd, "cat %s >> %s", gencmnFile, icudtAll); - #endif - -- result = system(cmd); -+ result = runCommand(cmd); - if (result != 0) { - break; - } -@@ -1110,7 +1144,7 @@ - pkgDataFlags[LIBFLAGS], - tempObjectFile, - gencmnFile); -- result = system(cmd); -+ result = runCommand(cmd); - if (result != 0) { - break; - } -@@ -1139,7 +1173,7 @@ - tempObjectFile, - icudtAll); - -- result = system(cmd); -+ result = runCommand(cmd); - if (result == 0) { - sprintf(buffer, "%s %s", - buffer, -@@ -1222,7 +1256,7 @@ - ); - } - -- return system(cmd); -+ return runCommand(cmd); - } - #endif - diff --git a/dev-libs/icu/files/icu-4.4.1-arm.patch b/dev-libs/icu/files/icu-4.4.1-arm.patch deleted file mode 100644 index 20f4852ea6..0000000000 --- a/dev-libs/icu/files/icu-4.4.1-arm.patch +++ /dev/null @@ -1,26 +0,0 @@ -https://bugs.gentoo.org/show_bug.cgi?id=329439 -https://bugs.icu-project.org/trac/ticket/7664 -https://bugs.icu-project.org/trac/changeset/28107 - ---- tools/toolutil/pkg_genc.c -+++ tools/toolutil/pkg_genc.c -@@ -1,5 +1,5 @@ - /****************************************************************************** -- * Copyright (C) 2009, International Business Machines -+ * Copyright (C) 2009-2010, International Business Machines - * Corporation and others. All Rights Reserved. - ******************************************************************************* - */ -@@ -118,10 +118,10 @@ - } assemblyHeader[] = { - {"gcc", - ".globl %s\n" -- "\t.section .note.GNU-stack,\"\",@progbits\n" -+ "\t.section .note.GNU-stack,\"\",%%progbits\n" - "\t.section .rodata\n" - "\t.align 8\n" /* Either align 8 bytes or 2^8 (256) bytes. 8 bytes is needed. */ -- "\t.type %s,@object\n" -+ "\t.type %s,%%object\n" - "%s:\n\n", - - ".long ","",HEX_0X diff --git a/dev-libs/icu/files/icu-4.4.1-et_EE.patch b/dev-libs/icu/files/icu-4.4.1-et_EE.patch deleted file mode 100644 index 25f2106688..0000000000 --- a/dev-libs/icu/files/icu-4.4.1-et_EE.patch +++ /dev/null @@ -1,17 +0,0 @@ -https://bugs.gentoo.org/show_bug.cgi?id=260127 -https://bugs.icu-project.org/trac/ticket/6934 -https://bugs.icu-project.org/trac/changeset/28160 - ---- Makefile.in -+++ Makefile.in -@@ -219,8 +219,8 @@ - $(INSTALL_SCRIPT) $(top_srcdir)/config/icu-config-top $@ - chmod u+w $@ - @echo "# Following from @platform_make_fragment@" >> $@ -- sed -f $(top_srcdir)/config/make2sh.sed < $(top_builddir)/config/Makefile.inc | grep -v '#M#' | uniq >> $@ -- sed -f $(top_srcdir)/config/make2sh.sed < @platform_make_fragment@ | grep -v '#M#' | uniq >> $@ -+ LC_ALL=C sed -f $(top_srcdir)/config/make2sh.sed < $(top_builddir)/config/Makefile.inc | grep -v '#M#' | uniq >> $@ -+ LC_ALL=C sed -f $(top_srcdir)/config/make2sh.sed < @platform_make_fragment@ | grep -v '#M#' | uniq >> $@ - cat $(top_srcdir)/config/icu-config-bottom >> $@ - echo "# Rebuilt on "`date` >> $@ - chmod u-w $@ diff --git a/dev-libs/icu/files/icu-4.4.1-pkgdata.patch b/dev-libs/icu/files/icu-4.4.1-pkgdata.patch deleted file mode 100644 index 8a1a5bc688..0000000000 --- a/dev-libs/icu/files/icu-4.4.1-pkgdata.patch +++ /dev/null @@ -1,80 +0,0 @@ -https://bugs.icu-project.org/trac/ticket/7663 -https://bugs.icu-project.org/trac/changeset/28002 -https://bugs.icu-project.org/trac/ticket/7680 -https://bugs.icu-project.org/trac/changeset/28124 - ---- source/tools/pkgdata/pkgdata.cpp -+++ source/tools/pkgdata/pkgdata.cpp -@@ -98,6 +98,7 @@ - #endif - - #define LARGE_BUFFER_MAX_SIZE 2048 -+#define MEDIUM_BUFFER_MAX_SIZE 1024 - #define SMALL_BUFFER_MAX_SIZE 512 - - static void loadLists(UPKGOptions *o, UErrorCode *status); -@@ -472,29 +473,48 @@ - } - - static int runCommand(const char* command, UBool specialHandling) { -- char cmd[SMALL_BUFFER_MAX_SIZE]; -+ char *cmd = NULL; -+ char cmdBuffer[SMALL_BUFFER_MAX_SIZE]; -+ int32_t len = strlen(command); -+ -+ if (len == 0) { -+ return 0; -+ } - - if (!specialHandling) { -+#if defined(USING_CYGWIN) || defined(OS400) -+#define CMD_PADDING_SIZE 20 -+ if ((len + CMD_PADDING_SIZE) >= SMALL_BUFFER_MAX_SIZE) { -+ cmd = (char *)uprv_malloc(len + CMD_PADDING_SIZE); -+ } else { -+ cmd = cmdBuffer; -+ } - #ifdef USING_CYGWIN - sprintf(cmd, "bash -c \"%s\"", command); - - #elif defined(OS400) - sprintf(cmd, "QSH CMD('%s')", command); -+#endif - #else - goto normal_command_mode; - #endif - } else { - normal_command_mode: -- sprintf(cmd, "%s", command); -+ cmd = (char *)command; - } -- -+ - printf("pkgdata: %s\n", cmd); - int result = system(cmd); -- if (result != 0) { -- printf("-- return status = %d\n", result); -+ if (result != 0) { -+ printf("-- return status = %d\n", result); - } -- return result; --} -+ -+ if (cmd != cmdBuffer && cmd != command) { -+ uprv_free(cmd); -+ } -+ -+ return result; -+} - - #define LN_CMD "ln -s" - #define RM_CMD "rm -f" -@@ -586,7 +606,7 @@ - pkgDataFlags = (char**)uprv_malloc(sizeof(char*) * PKGDATA_FLAGS_SIZE); - if (pkgDataFlags != NULL) { - for (int32_t i = 0; i < PKGDATA_FLAGS_SIZE; i++) { -- pkgDataFlags[i] = (char*)uprv_malloc(sizeof(char) * SMALL_BUFFER_MAX_SIZE); -+ pkgDataFlags[i] = (char*)uprv_malloc(sizeof(char) * MEDIUM_BUFFER_MAX_SIZE); - if (pkgDataFlags[i] != NULL) { - pkgDataFlags[i][0] = 0; - } else { diff --git a/dev-libs/icu/files/icu-4.6-echo_t.patch b/dev-libs/icu/files/icu-4.6-echo_t.patch deleted file mode 100644 index 72c9534dec..0000000000 --- a/dev-libs/icu/files/icu-4.6-echo_t.patch +++ /dev/null @@ -1,28 +0,0 @@ ---- a/source/configure.ac -+++ b/source/configure.ac -@@ -20,9 +20,9 @@ - # for icu-config - # This may be removed later - mow (June 17, 2010) - ICU_ECHO_C= ICU_ECHO_N= ICU_ECHO_T= --case `/bin/sh -c "echo -n x"` in -+case `${CONFIG_SHELL} -c "echo -n x"` in - -n*) -- case `/bin/sh -c "echo 'x\c'"` in -+ case `${CONFIG_SHELL} -c "echo 'x\c'"` in - *c*) ICU_ECHO_T=' ';; # ECHO_T is single tab character. - *) ICU_ECHO_C='\c';; - esac;; ---- a/source/configure -+++ b/source/configure -@@ -20,9 +20,9 @@ - # for icu-config - # This may be removed later - mow (June 17, 2010) - ICU_ECHO_C= ICU_ECHO_N= ICU_ECHO_T= --case `/bin/sh -c "echo -n x"` in -+case `${CONFIG_SHELL} -c "echo -n x"` in - -n*) -- case `/bin/sh -c "echo 'x\c'"` in -+ case `${CONFIG_SHELL} -c "echo 'x\c'"` in - *c*) ICU_ECHO_T=' ';; # ECHO_T is single tab character. - *) ICU_ECHO_C='\c';; - esac;; diff --git a/dev-libs/icu/files/icu-4.6-pkgdata.patch b/dev-libs/icu/files/icu-4.6-pkgdata.patch deleted file mode 100644 index df9b4045fa..0000000000 --- a/dev-libs/icu/files/icu-4.6-pkgdata.patch +++ /dev/null @@ -1,98 +0,0 @@ -https://bugs.gentoo.org/show_bug.cgi?id=326021 -https://ssl.icu-project.org/trac/ticket/8281 -https://ssl.icu-project.org/trac/changeset/29332 -https://ssl.icu-project.org/trac/changeset/29333 - ---- tools/pkgdata/pkgdata.cpp -+++ tools/pkgdata/pkgdata.cpp -@@ -1,5 +1,5 @@ - /****************************************************************************** -- * Copyright (C) 2000-2010, International Business Machines -+ * Copyright (C) 2000-2011, International Business Machines - * Corporation and others. All Rights Reserved. - ******************************************************************************* - * file name: pkgdata.c -@@ -99,6 +99,7 @@ - - #define LARGE_BUFFER_MAX_SIZE 2048 - #define SMALL_BUFFER_MAX_SIZE 512 -+#define BUFFER_PADDING_SIZE 20 - - static void loadLists(UPKGOptions *o, UErrorCode *status); - -@@ -484,9 +485,8 @@ - - if (!specialHandling) { - #if defined(USING_CYGWIN) || defined(OS400) --#define CMD_PADDING_SIZE 20 -- if ((len + CMD_PADDING_SIZE) >= SMALL_BUFFER_MAX_SIZE) { -- cmd = (char *)uprv_malloc(len + CMD_PADDING_SIZE); -+ if ((len + BUFFER_PADDING_SIZE) >= SMALL_BUFFER_MAX_SIZE) { -+ cmd = (char *)uprv_malloc(len + BUFFER_PADDING_SIZE); - } else { - cmd = cmdBuffer; - } -@@ -1133,6 +1133,7 @@ - int32_t result = 0; - char *cmd = NULL; - UBool freeCmd = FALSE; -+ int32_t length = 0; - - /* This is necessary because if packaging is done without assembly code, objectFile might be extremely large - * containing many object files and so the calling function should supply a command buffer that is large -@@ -1140,15 +1141,18 @@ - */ - if (command != NULL) { - cmd = command; -- } else { -- if ((cmd = (char *)uprv_malloc(sizeof(char) * LARGE_BUFFER_MAX_SIZE)) == NULL) { -- fprintf(stderr, "Unable to allocate memory for command.\n"); -- return -1; -- } -- freeCmd = TRUE; - } - - if (mode == MODE_STATIC) { -+ if (cmd == NULL) { -+ length = uprv_strlen(pkgDataFlags[AR]) + uprv_strlen(pkgDataFlags[ARFLAGS]) + uprv_strlen(targetDir) + -+ uprv_strlen(libFileNames[LIB_FILE_VERSION]) + uprv_strlen(objectFile) + uprv_strlen(pkgDataFlags[RANLIB]) + BUFFER_PADDING_SIZE; -+ if ((cmd = (char *)uprv_malloc(sizeof(char) * length)) == NULL) { -+ fprintf(stderr, "Unable to allocate memory for command.\n"); -+ return -1; -+ } -+ freeCmd = TRUE; -+ } - sprintf(cmd, "%s %s %s%s %s", - pkgDataFlags[AR], - pkgDataFlags[ARFLAGS], -@@ -1166,6 +1170,21 @@ - result = runCommand(cmd); - } - } else /* if (mode == MODE_DLL) */ { -+ if (cmd == NULL) { -+ length = uprv_strlen(pkgDataFlags[GENLIB]) + uprv_strlen(pkgDataFlags[LDICUDTFLAGS]) + -+ uprv_strlen(targetDir) + uprv_strlen(libFileNames[LIB_FILE_VERSION_TMP]) + -+ uprv_strlen(objectFile) + uprv_strlen(pkgDataFlags[LD_SONAME]) + -+ uprv_strlen(pkgDataFlags[LD_SONAME][0] == 0 ? "" : libFileNames[LIB_FILE_VERSION_MAJOR]) + -+ uprv_strlen(pkgDataFlags[RPATH_FLAGS]) + uprv_strlen(pkgDataFlags[BIR_FLAGS]) + BUFFER_PADDING_SIZE; -+#ifdef U_CYGWIN -+ length += uprv_strlen(targetDir) + uprv_strlen(libFileNames[LIB_FILE_CYGWIN_VERSION]); -+#endif -+ if ((cmd = (char *)uprv_malloc(sizeof(char) * length)) == NULL) { -+ fprintf(stderr, "Unable to allocate memory for command.\n"); -+ return -1; -+ } -+ freeCmd = TRUE; -+ } - #ifdef U_CYGWIN - sprintf(cmd, "%s%s%s %s -o %s%s %s %s%s %s %s", - pkgDataFlags[GENLIB], -@@ -1209,7 +1228,7 @@ - tempObjectFile[uprv_strlen(tempObjectFile)-1] = 'o'; - - length = uprv_strlen(pkgDataFlags[COMPILER]) + uprv_strlen(pkgDataFlags[LIBFLAGS]) -- + uprv_strlen(tempObjectFile) + uprv_strlen(gencFilePath) + 10; -+ + uprv_strlen(tempObjectFile) + uprv_strlen(gencFilePath) + BUFFER_PADDING_SIZE; - - cmd = (char *)uprv_malloc(sizeof(char) * length); - if (cmd == NULL) { diff --git a/dev-libs/icu/files/icu-4.8.1-darwin.patch b/dev-libs/icu/files/icu-4.8.1-darwin.patch deleted file mode 100644 index 3e0eb2b57c..0000000000 --- a/dev-libs/icu/files/icu-4.8.1-darwin.patch +++ /dev/null @@ -1,56 +0,0 @@ -diff -ur icu.orig/source/config/mh-darwin icu/source/config/mh-darwin ---- icu.orig/source/config/mh-darwin 2011-10-19 01:13:00.000000000 +0200 -+++ icu/source/config/mh-darwin 2011-11-27 20:51:08.000000000 +0100 -@@ -4,6 +4,13 @@ - ## Copyright (c) 1999-2011 International Business Machines Corporation and - ## others. All Rights Reserved. - -+ -+SO_TARGET = $(LIBDIR)/$(LIBICU)$(TARGET_STUBNAME)$(ICULIBSUFFIX).$(SO) -+FINAL_SO_TARGET = $(LIBDIR)/$(LIBICU)$(TARGET_STUBNAME)$(ICULIBSUFFIX).$(SO_TARGET_VERSION).$(SO) -+MIDDLE_SO_TARGET = $(LIBDIR)/$(LIBICU)$(TARGET_STUBNAME)$(ICULIBSUFFIX).$(SO_TARGET_VERSION_MAJOR).$(SO) -+ -+IS_DARWIN = yes -+ - ## Flags for position independent code - SHAREDLIBCFLAGS = -dynamic - SHAREDLIBCXXFLAGS = -dynamic -@@ -28,7 +35,7 @@ - ifeq ($(ENABLE_RPATH),YES) - LD_SONAME = -Wl,-compatibility_version -Wl,$(SO_TARGET_VERSION_MAJOR) -Wl,-current_version -Wl,$(SO_TARGET_VERSION) -install_name $(libdir)/$(notdir $(MIDDLE_SO_TARGET)) - else --LD_SONAME = -Wl,-compatibility_version -Wl,$(SO_TARGET_VERSION_MAJOR) -Wl,-current_version -Wl,$(SO_TARGET_VERSION) -install_name $(notdir $(MIDDLE_SO_TARGET)) -+LD_SONAME = -Wl,-compatibility_version -Wl,$(SO_TARGET_VERSION_MAJOR) -Wl,-current_version -Wl,$(SO_TARGET_VERSION) -install_name $(libdir)/$(notdir $(MIDDLE_SO_TARGET)) - endif - - ## Compiler switch to embed a runtime search path -diff -ur icu.orig/source/stubdata/Makefile.in icu/source/stubdata/Makefile.in ---- icu.orig/source/stubdata/Makefile.in 2011-10-19 01:13:00.000000000 +0200 -+++ icu/source/stubdata/Makefile.in 2011-11-27 20:49:45.000000000 +0100 -@@ -32,7 +32,11 @@ - - - ifneq ($(ENABLE_SHARED),) -+ifeq ($(IS_DARWIN),) - SO_TARGET = $(STUBDATA_LIBDIR)$(LIBICU)$(TARGET_STUBNAME)$(ICULIBSUFFIX)$(STUB_SUFFIX).$(SO) -+else -+SO_TARGET = $(LIBDIR)/$(STUBDATA_LIBDIR)$(LIBICU)$(TARGET_STUBNAME)$(ICULIBSUFFIX)$(STUB_SUFFIX).$(SO) -+endif - ALL_SO_TARGETS = $(FINAL_SO_TARGET) $(MIDDLE_SO_TARGET) $(SO_TARGET) $(BATCH_STUB_TARGET) $(SHARED_OBJECT) - endif - -diff -ur icu.orig/source/tools/ctestfw/Makefile.in icu/source/tools/ctestfw/Makefile.in ---- icu.orig/source/tools/ctestfw/Makefile.in 2011-10-19 01:12:44.000000000 +0200 -+++ icu/source/tools/ctestfw/Makefile.in 2011-11-27 20:49:45.000000000 +0100 -@@ -31,7 +31,11 @@ - endif - - ifneq ($(ENABLE_SHARED),) -+ifeq ($(IS_DARWIN),) - SO_TARGET = $(LIBICU)$(TARGET_STUBNAME)$(ICULIBSUFFIX).$(SO) -+else -+SO_TARGET = $(LIBDIR)/$(LIBICU)$(TARGET_STUBNAME)$(ICULIBSUFFIX).$(SO) -+endif - ALL_SO_TARGETS = $(SO_TARGET) $(MIDDLE_SO_TARGET) $(FINAL_SO_TARGET) $(SHARED_OBJECT) - endif - diff --git a/dev-libs/icu/files/icu-4.8.1-fix_binformat_fonts.patch b/dev-libs/icu/files/icu-4.8.1-fix_binformat_fonts.patch deleted file mode 100644 index 6e1a6870ba..0000000000 --- a/dev-libs/icu/files/icu-4.8.1-fix_binformat_fonts.patch +++ /dev/null @@ -1,14 +0,0 @@ -https://ssl.icu-project.org/trac/ticket/8800 ---- layout/LookupProcessor.cpp -+++ layout/LookupProcessor.cpp -@@ -201,7 +201,9 @@ - - if (requiredFeatureIndex != 0xFFFF) { - requiredFeatureTable = featureListTable->getFeatureTable(requiredFeatureIndex, &requiredFeatureTag); -- featureReferences += SWAPW(featureTable->lookupCount); -+ if (requiredFeatureTable) { -+ featureReferences += SWAPW(requiredFeatureTable->lookupCount); -+ } - } - - lookupOrderArray = LE_NEW_ARRAY(le_uint16, featureReferences); 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 deleted file mode 100644 index 971d66d8bc..0000000000 --- a/dev-libs/icu/files/icu-4.8.1-fix_nan.patch +++ /dev/null @@ -1,68 +0,0 @@ -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/files/icu-4.8.1.1-fix_ltr.patch b/dev-libs/icu/files/icu-4.8.1.1-fix_ltr.patch deleted file mode 100644 index 15df6e2dda..0000000000 --- a/dev-libs/icu/files/icu-4.8.1.1-fix_ltr.patch +++ /dev/null @@ -1,61 +0,0 @@ -https://ssl.icu-project.org/trac/ticket/8764 ---- layout/LESwaps.h -+++ layout/LESwaps.h -@@ -45,8 +45,8 @@ - public: - - /** -- * Reads a big-endian 16-bit word and returns a native-endian value. -- * No-op on a big-endian platform, byte-swaps on a little-endian platform. -+ * This method does the byte swap required on little endian platforms -+ * to correctly access a (16-bit) word. - * - * @param value - the word to be byte swapped - * -@@ -56,21 +56,12 @@ - */ - static le_uint16 swapWord(le_uint16 value) - { --#if (defined(U_IS_BIG_ENDIAN) && U_IS_BIG_ENDIAN) || \ -- (defined(BYTE_ORDER) && defined(BIG_ENDIAN) && (BYTE_ORDER == BIG_ENDIAN)) || \ -- defined(__BIG_ENDIAN__) -- // Fastpath when we know that the platform is big-endian. -- return value; --#else -- // Reads a big-endian value on any platform. -- const le_uint8 *p = reinterpret_cast<const le_uint8 *>(&value); -- return (le_uint16)((p[0] << 8) | p[1]); --#endif -+ return (le_uint16)((value << 8) | (value >> 8)); - }; - - /** -- * Reads a big-endian 32-bit word and returns a native-endian value. -- * No-op on a big-endian platform, byte-swaps on a little-endian platform. -+ * This method does the byte swapping required on little endian platforms -+ * to correctly access a (32-bit) long. - * - * @param value - the long to be byte swapped - * -@@ -80,16 +71,11 @@ - */ - static le_uint32 swapLong(le_uint32 value) - { --#if (defined(U_IS_BIG_ENDIAN) && U_IS_BIG_ENDIAN) || \ -- (defined(BYTE_ORDER) && defined(BIG_ENDIAN) && (BYTE_ORDER == BIG_ENDIAN)) || \ -- defined(__BIG_ENDIAN__) -- // Fastpath when we know that the platform is big-endian. -- return value; --#else -- // Reads a big-endian value on any platform. -- const le_uint8 *p = reinterpret_cast<const le_uint8 *>(&value); -- return (le_uint32)((p[0] << 24) | (p[1] << 16) | (p[2] << 8) | p[3]); --#endif -+ return (le_uint32)( -+ (value << 24) | -+ ((value << 8) & 0xff0000) | -+ ((value >> 8) & 0xff00) | -+ (value >> 24)); - }; - - private: diff --git a/dev-libs/icu/files/icu-49.1.1-bsd.patch b/dev-libs/icu/files/icu-49.1.1-bsd.patch deleted file mode 100644 index 665087f97b..0000000000 --- a/dev-libs/icu/files/icu-49.1.1-bsd.patch +++ /dev/null @@ -1,25 +0,0 @@ -https://ssl.icu-project.org/trac/ticket/9286 -https://ssl.icu-project.org/trac/changeset/31780 - ---- common/putilimp.h -+++ common/putilimp.h -@@ -116,6 +116,8 @@ - # define U_TIMEZONE __timezone - #elif U_PLATFORM_USES_ONLY_WIN32_API - # define U_TIMEZONE _timezone -+#elif U_PLATFORM == U_PF_BSD && !defined(__NetBSD__) -+ /* not defined */ - #elif U_PLATFORM == U_PF_OS400 - /* not defined */ - #else ---- common/unicode/platform.h -+++ common/unicode/platform.h -@@ -131,7 +131,7 @@ - # include <android/api-level.h> - #elif defined(linux) || defined(__linux__) || defined(__linux) - # define U_PLATFORM U_PF_LINUX --#elif defined(BSD) || defined(__FreeBSD__) || defined(__FreeBSD_kernel__) -+#elif defined(BSD) || defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__NetBSD__) || defined(__OpenBSD__) - # define U_PLATFORM U_PF_BSD - #elif defined(sun) || defined(__sun) - /* Check defined(__SVR4) || defined(__svr4__) to distinguish Solaris from SunOS? */ diff --git a/dev-libs/icu/files/icu-49.1.1-regex.patch b/dev-libs/icu/files/icu-49.1.1-regex.patch deleted file mode 100644 index 0ff59b958d..0000000000 --- a/dev-libs/icu/files/icu-49.1.1-regex.patch +++ /dev/null @@ -1,128 +0,0 @@ -https://ssl.icu-project.org/trac/ticket/9283 -https://ssl.icu-project.org/trac/changeset/31782 - ---- i18n/regexcmp.cpp -+++ i18n/regexcmp.cpp -@@ -3306,10 +3306,31 @@ - } - - case URX_STRING_I: -- // TODO: Is the case-folded string the longest? -- // If so we can optimize this the same as URX_STRING. -- loc++; -- currentLen = INT32_MAX; -+ // TODO: This code assumes that any user string that matches will be no longer -+ // than our compiled string, with case insensitive matching. -+ // Our compiled string has been case-folded already. -+ // -+ // Any matching user string will have no more code points than our -+ // compiled (folded) string. Folding may add code points, but -+ // not remove them. -+ // -+ // There is a potential problem if a supplemental code point -+ // case-folds to a BMP code point. In this case our compiled string -+ // could be shorter (in code units) than a matching user string. -+ // -+ // At this time (Unicode 6.1) there are no such characters, and this case -+ // is not being handled. A test, intltest regex/Bug9283, will fail if -+ // any problematic characters are added to Unicode. -+ // -+ // If this happens, we can make a set of the BMP chars that the -+ // troublesome supplementals fold to, scan our string, and bump the -+ // currentLen one extra for each that is found. -+ // -+ { -+ loc++; -+ int32_t stringLenOp = (int32_t)fRXPat->fCompiledPat->elementAti(loc); -+ currentLen = safeIncrement(currentLen, URX_VAL(stringLenOp)); -+ } - break; - - case URX_CTR_INIT: ---- test/intltest/regextst.cpp -+++ test/intltest/regextst.cpp -@@ -26,6 +26,7 @@ - #include "unicode/regex.h" - #include "unicode/uchar.h" - #include "unicode/ucnv.h" -+#include "unicode/uniset.h" - #include "unicode/ustring.h" - #include "regextst.h" - #include "uvector.h" -@@ -127,6 +128,9 @@ - case 20: name = "CheckInvBufSize"; - if (exec) CheckInvBufSize(); - break; -+ case 21: name = "Bug 9283"; -+ if (exec) Bug9283(); -+ break; - - default: name = ""; - break; //needed to end loop -@@ -5184,6 +5188,34 @@ - delete pMatcher; - } - -+// Bug 9283 -+// This test is checking for the existance of any supplemental characters that case-fold -+// to a bmp character. -+// -+// At the time of this writing there are none. If any should appear in a subsequent release -+// of Unicode, the code in regular expressions compilation that determines the longest -+// posssible match for a literal string will need to be enhanced. -+// -+// See file regexcmp.cpp, case URX_STRING_I in RegexCompile::maxMatchLength() -+// for details on what to do in case of a failure of this test. -+// -+void RegexTest::Bug9283() { -+ UErrorCode status = U_ZERO_ERROR; -+ UnicodeSet supplementalsWithCaseFolding("[[:CWCF:]&[\\U00010000-\\U0010FFFF]]", status); -+ REGEX_CHECK_STATUS; -+ int32_t index; -+ UChar32 c; -+ for (index=0; ; index++) { -+ c = supplementalsWithCaseFolding.charAt(index); -+ if (c == -1) { -+ break; -+ } -+ UnicodeString cf = UnicodeString(c).foldCase(); -+ REGEX_ASSERT(cf.length() >= 2); -+ } -+} -+ -+ - void RegexTest::CheckInvBufSize() { - if(inv_next>=INV_BUFSIZ) { - errln("%s: increase #define of INV_BUFSIZ ( is %d but needs to be at least %d )\n", ---- test/intltest/regextst.h -+++ test/intltest/regextst.h -@@ -1,6 +1,6 @@ - /******************************************************************** - * COPYRIGHT: -- * Copyright (c) 2002-2011, International Business Machines Corporation and -+ * Copyright (c) 2002-2012, International Business Machines Corporation and - * others. All Rights Reserved. - ********************************************************************/ - -@@ -45,6 +45,7 @@ - virtual void Bug7740(); - virtual void Bug8479(); - virtual void Bug7029(); -+ virtual void Bug9283(); - virtual void CheckInvBufSize(); - - // The following functions are internal to the regexp tests. ---- test/testdata/regextst.txt -+++ test/testdata/regextst.txt -@@ -1141,6 +1141,11 @@ - "[\w]+" " <0>abc\u200cdef\u200dghi</0> " - "[\w]+" i " <0>abc\u200cdef\u200dghi</0> " - -+# Bug 9283 -+# uregex_open fails for look-behind assertion + case-insensitive -+ -+"(ab)?(?<=ab)cd|ef" i "<0><1>ab</1>cd</0>" -+ - # Random debugging, Temporary - # - #"^(?:a?b?)*$" "a--" diff --git a/dev-libs/icu/files/icu-49.1.2-platforms.patch b/dev-libs/icu/files/icu-49.1.2-platforms.patch deleted file mode 100644 index 1aaf58034b..0000000000 --- a/dev-libs/icu/files/icu-49.1.2-platforms.patch +++ /dev/null @@ -1,59 +0,0 @@ -https://ssl.icu-project.org/trac/ticket/9286 -https://ssl.icu-project.org/trac/ticket/9365 -https://ssl.icu-project.org/trac/changeset/31780 -https://ssl.icu-project.org/trac/changeset/31971 -https://ssl.icu-project.org/trac/changeset/32020 -https://ssl.icu-project.org/trac/changeset/32023 - ---- common/putilimp.h -+++ common/putilimp.h -@@ -117,6 +117,8 @@ - # define U_TIMEZONE __timezone - #elif U_PLATFORM_USES_ONLY_WIN32_API - # define U_TIMEZONE _timezone -+#elif U_PLATFORM == U_PF_BSD && !defined(__NetBSD__) -+ /* not defined */ - #elif U_PLATFORM == U_PF_OS400 - /* not defined */ - #else ---- common/unicode/platform.h -+++ common/unicode/platform.h -@@ -131,7 +131,7 @@ - # include <android/api-level.h> - #elif defined(linux) || defined(__linux__) || defined(__linux) - # define U_PLATFORM U_PF_LINUX --#elif defined(BSD) || defined(__FreeBSD__) || defined(__FreeBSD_kernel__) -+#elif defined(BSD) || defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__MirBSD__) - # define U_PLATFORM U_PF_BSD - #elif defined(sun) || defined(__sun) - /* Check defined(__SVR4) || defined(__svr4__) to distinguish Solaris from SunOS? */ -@@ -268,6 +268,9 @@ - #elif U_PLATFORM == U_PF_SOLARIS - /* Solaris has inttypes.h but not stdint.h. */ - # define U_HAVE_STDINT_H 0 -+#elif U_PLATFORM == U_PF_AIX && !defined(_AIX51) && defined(_POWER) -+ /* PPC AIX <= 4.3 has inttypes.h but not stdint.h. */ -+# define U_HAVE_STDINT_H 0 - #else - # define U_HAVE_STDINT_H 1 - #endif -@@ -283,6 +286,9 @@ - #elif U_PLATFORM == U_PF_SOLARIS - /* Solaris has inttypes.h but not stdint.h. */ - # define U_HAVE_INTTYPES_H 1 -+#elif U_PLATFORM == U_PF_AIX && !defined(_AIX51) && defined(_POWER) -+ /* PPC AIX <= 4.3 has inttypes.h but not stdint.h. */ -+# define U_HAVE_INTTYPES_H 1 - #else - /* Most platforms have both inttypes.h and stdint.h, or neither. */ - # define U_HAVE_INTTYPES_H U_HAVE_STDINT_H -@@ -352,6 +358,9 @@ - #elif defined(_PA_RISC1_0) || defined(_PA_RISC1_1) || defined(_PA_RISC2_0) - /* HPPA do not appear to predefine any endianness macros. */ - # define U_IS_BIG_ENDIAN 1 -+#elif defined(sparc) || defined(__sparc) || defined(__sparc__) -+ /* Some sparc based systems (e.g. Linux) do not predefine any endianness macros. */ -+# define U_IS_BIG_ENDIAN 1 - #else - # define U_IS_BIG_ENDIAN 0 - #endif diff --git a/dev-libs/icu/files/icu-51.1-CVE-2013-2924.patch b/dev-libs/icu/files/icu-51.1-CVE-2013-2924.patch deleted file mode 100644 index 65e734c7b3..0000000000 --- a/dev-libs/icu/files/icu-51.1-CVE-2013-2924.patch +++ /dev/null @@ -1,36 +0,0 @@ -Index: /icu/trunk/source/i18n/csrucode.cpp
-===================================================================
---- /icu/trunk/source/i18n/csrucode.cpp (revision 34075)
-+++ /icu/trunk/source/i18n/csrucode.cpp (revision 34076)
-@@ -1,5 +1,5 @@
- /*
- **********************************************************************
-- * Copyright (C) 2005-2012, International Business Machines
-+ * Copyright (C) 2005-2013, International Business Machines
- * Corporation and others. All Rights Reserved.
- **********************************************************************
-@@ -34,6 +34,7 @@
- const uint8_t *input = textIn->fRawInput;
- int32_t confidence = 0;
-+ int32_t length = textIn->fRawLength;
-
-- if (input[0] == 0xFE && input[1] == 0xFF) {
-+ if (length >=2 && input[0] == 0xFE && input[1] == 0xFF) {
- confidence = 100;
- }
-@@ -58,6 +59,7 @@
- const uint8_t *input = textIn->fRawInput;
- int32_t confidence = 0;
-+ int32_t length = textIn->fRawLength;
-
-- if (input[0] == 0xFF && input[1] == 0xFE && (input[2] != 0x00 || input[3] != 0x00)) {
-+ if (length >= 4 && input[0] == 0xFF && input[1] == 0xFE && (input[2] != 0x00 || input[3] != 0x00)) {
- confidence = 100;
- }
-@@ -82,5 +84,5 @@
- int32_t confidence = 0;
-
-- if (getChar(input, 0) == 0x0000FEFFUL) {
-+ if (limit > 0 && getChar(input, 0) == 0x0000FEFFUL) {
- hasBOM = TRUE;
- }
diff --git a/dev-libs/icu/files/icu-54.1-CVE-2014-9654.patch b/dev-libs/icu/files/icu-54.1-CVE-2014-9654.patch deleted file mode 100644 index db86c921bc..0000000000 --- a/dev-libs/icu/files/icu-54.1-CVE-2014-9654.patch +++ /dev/null @@ -1,1105 +0,0 @@ -Index: /icu/trunk/source/common/unicode/utypes.h
-===================================================================
---- /icu/trunk/source/common/unicode/utypes.h (revision 36800)
-+++ /icu/trunk/source/common/unicode/utypes.h (revision 36801)
-@@ -648,4 +648,5 @@
- U_REGEX_TIME_OUT, /**< Maximum allowed match time exceeded */
- U_REGEX_STOPPED_BY_CALLER, /**< Matching operation aborted by user callback fn. */
-+ U_REGEX_PATTERN_TOO_BIG, /**< Pattern exceeds limits on size or complexity. @draft ICU 55 */
- U_REGEX_ERROR_LIMIT, /**< This must always be the last value to indicate the limit for regexp errors */
-
-Index: /icu/trunk/source/common/utypes.c
-===================================================================
---- /icu/trunk/source/common/utypes.c (revision 36800)
-+++ /icu/trunk/source/common/utypes.c (revision 36801)
-@@ -2,5 +2,5 @@
- ******************************************************************************
- *
--* Copyright (C) 1997-2011, International Business Machines
-+* Copyright (C) 1997-2014, International Business Machines
- * Corporation and others. All Rights Reserved.
- *
-@@ -166,5 +166,6 @@
- "U_REGEX_STACK_OVERFLOW",
- "U_REGEX_TIME_OUT",
-- "U_REGEX_STOPPED_BY_CALLER"
-+ "U_REGEX_STOPPED_BY_CALLER",
-+ "U_REGEX_PATTERN_TOO_BIG"
- };
-
-Index: /icu/trunk/source/i18n/regexcmp.cpp
-===================================================================
---- /icu/trunk/source/i18n/regexcmp.cpp (revision 36800)
-+++ /icu/trunk/source/i18n/regexcmp.cpp (revision 36801)
-@@ -305,5 +305,5 @@
- // the position in the compiled pattern.
- //
-- fRXPat->fFrameSize+=RESTACKFRAME_HDRCOUNT;
-+ allocateStackData(RESTACKFRAME_HDRCOUNT);
-
- //
-@@ -371,7 +371,7 @@
- //4 NOP Resreved, will be replaced by a save if there are
- // OR | operators at the top level
-- fRXPat->fCompiledPat->addElement(URX_BUILD(URX_STATE_SAVE, 2), *fStatus);
-- fRXPat->fCompiledPat->addElement(URX_BUILD(URX_JMP, 3), *fStatus);
-- fRXPat->fCompiledPat->addElement(URX_BUILD(URX_FAIL, 0), *fStatus);
-+ appendOp(URX_STATE_SAVE, 2);
-+ appendOp(URX_JMP, 3);
-+ appendOp(URX_FAIL, 0);
-
- // Standard open nonCapture paren action emits the two NOPs and
-@@ -396,5 +396,5 @@
-
- // add the END operation to the compiled pattern.
-- fRXPat->fCompiledPat->addElement(URX_BUILD(URX_END, 0), *fStatus);
-+ appendOp(URX_END, 0);
-
- // Terminate the pattern compilation state machine.
-@@ -418,5 +418,5 @@
- int32_t op = (int32_t)fRXPat->fCompiledPat->elementAti(savePosition);
- U_ASSERT(URX_TYPE(op) == URX_NOP); // original contents of reserved location
-- op = URX_BUILD(URX_STATE_SAVE, fRXPat->fCompiledPat->size()+1);
-+ op = buildOp(URX_STATE_SAVE, fRXPat->fCompiledPat->size()+1);
- fRXPat->fCompiledPat->setElementAt(op, savePosition);
-
-@@ -424,6 +424,5 @@
- // the JMP will eventually be the location following the ')' for the
- // group. This will be patched in later, when the ')' is encountered.
-- op = URX_BUILD(URX_JMP, 0);
-- fRXPat->fCompiledPat->addElement(op, *fStatus);
-+ appendOp(URX_JMP, 0);
-
- // Push the position of the newly added JMP op onto the parentheses stack.
-@@ -434,5 +433,5 @@
- // for a SAVE in the event that there is yet another '|' following
- // this one.
-- fRXPat->fCompiledPat->addElement(URX_BUILD(URX_NOP, 0), *fStatus);
-+ appendOp(URX_NOP, 0);
- fParenStack.push(fRXPat->fCompiledPat->size()-1, *fStatus);
- }
-@@ -460,10 +459,8 @@
- {
- fixLiterals();
-- fRXPat->fCompiledPat->addElement(URX_BUILD(URX_NOP, 0), *fStatus);
-- int32_t varsLoc = fRXPat->fFrameSize; // Reserve three slots in match stack frame.
-- fRXPat->fFrameSize += 3;
-- int32_t cop = URX_BUILD(URX_START_CAPTURE, varsLoc);
-- fRXPat->fCompiledPat->addElement(cop, *fStatus);
-- fRXPat->fCompiledPat->addElement(URX_BUILD(URX_NOP, 0), *fStatus);
-+ appendOp(URX_NOP, 0);
-+ int32_t varsLoc = allocateStackData(3); // Reserve three slots in match stack frame.
-+ appendOp(URX_START_CAPTURE, varsLoc);
-+ appendOp(URX_NOP, 0);
-
- // On the Parentheses stack, start a new frame and add the postions
-@@ -490,6 +487,6 @@
- {
- fixLiterals();
-- fRXPat->fCompiledPat->addElement(URX_BUILD(URX_NOP, 0), *fStatus);
-- fRXPat->fCompiledPat->addElement(URX_BUILD(URX_NOP, 0), *fStatus);
-+ appendOp(URX_NOP, 0);
-+ appendOp(URX_NOP, 0);
-
- // On the Parentheses stack, start a new frame and add the postions
-@@ -513,10 +510,8 @@
- {
- fixLiterals();
-- fRXPat->fCompiledPat->addElement(URX_BUILD(URX_NOP, 0), *fStatus);
-- int32_t varLoc = fRXPat->fDataSize; // Reserve a data location for saving the
-- fRXPat->fDataSize += 1; // state stack ptr.
-- int32_t stoOp = URX_BUILD(URX_STO_SP, varLoc);
-- fRXPat->fCompiledPat->addElement(stoOp, *fStatus);
-- fRXPat->fCompiledPat->addElement(URX_BUILD(URX_NOP, 0), *fStatus);
-+ appendOp(URX_NOP, 0);
-+ int32_t varLoc = allocateData(1); // Reserve a data location for saving the state stack ptr.
-+ appendOp(URX_STO_SP, varLoc);
-+ appendOp(URX_NOP, 0);
-
- // On the Parentheses stack, start a new frame and add the postions
-@@ -561,24 +556,12 @@
- {
- fixLiterals();
-- int32_t dataLoc = fRXPat->fDataSize;
-- fRXPat->fDataSize += 2;
-- int32_t op = URX_BUILD(URX_LA_START, dataLoc);
-- fRXPat->fCompiledPat->addElement(op, *fStatus);
--
-- op = URX_BUILD(URX_STATE_SAVE, fRXPat->fCompiledPat->size()+ 2);
-- fRXPat->fCompiledPat->addElement(op, *fStatus);
--
-- op = URX_BUILD(URX_JMP, fRXPat->fCompiledPat->size()+ 3);
-- fRXPat->fCompiledPat->addElement(op, *fStatus);
--
-- op = URX_BUILD(URX_LA_END, dataLoc);
-- fRXPat->fCompiledPat->addElement(op, *fStatus);
--
-- op = URX_BUILD(URX_BACKTRACK, 0);
-- fRXPat->fCompiledPat->addElement(op, *fStatus);
--
-- op = URX_BUILD(URX_NOP, 0);
-- fRXPat->fCompiledPat->addElement(op, *fStatus);
-- fRXPat->fCompiledPat->addElement(op, *fStatus);
-+ int32_t dataLoc = allocateData(2);
-+ appendOp(URX_LA_START, dataLoc);
-+ appendOp(URX_STATE_SAVE, fRXPat->fCompiledPat->size()+ 2);
-+ appendOp(URX_JMP, fRXPat->fCompiledPat->size()+ 3);
-+ appendOp(URX_LA_END, dataLoc);
-+ appendOp(URX_BACKTRACK, 0);
-+ appendOp(URX_NOP, 0);
-+ appendOp(URX_NOP, 0);
-
- // On the Parentheses stack, start a new frame and add the postions
-@@ -605,14 +588,8 @@
- {
- fixLiterals();
-- int32_t dataLoc = fRXPat->fDataSize;
-- fRXPat->fDataSize += 2;
-- int32_t op = URX_BUILD(URX_LA_START, dataLoc);
-- fRXPat->fCompiledPat->addElement(op, *fStatus);
--
-- op = URX_BUILD(URX_STATE_SAVE, 0); // dest address will be patched later.
-- fRXPat->fCompiledPat->addElement(op, *fStatus);
--
-- op = URX_BUILD(URX_NOP, 0);
-- fRXPat->fCompiledPat->addElement(op, *fStatus);
-+ int32_t dataLoc = allocateData(2);
-+ appendOp(URX_LA_START, dataLoc);
-+ appendOp(URX_STATE_SAVE, 0); // dest address will be patched later.
-+ appendOp(URX_NOP, 0);
-
- // On the Parentheses stack, start a new frame and add the postions
-@@ -652,21 +629,17 @@
-
- // Allocate data space
-- int32_t dataLoc = fRXPat->fDataSize;
-- fRXPat->fDataSize += 4;
-+ int32_t dataLoc = allocateData(4);
-
- // Emit URX_LB_START
-- int32_t op = URX_BUILD(URX_LB_START, dataLoc);
-- fRXPat->fCompiledPat->addElement(op, *fStatus);
-+ appendOp(URX_LB_START, dataLoc);
-
- // Emit URX_LB_CONT
-- op = URX_BUILD(URX_LB_CONT, dataLoc);
-- fRXPat->fCompiledPat->addElement(op, *fStatus);
-- fRXPat->fCompiledPat->addElement(0, *fStatus); // MinMatchLength. To be filled later.
-- fRXPat->fCompiledPat->addElement(0, *fStatus); // MaxMatchLength. To be filled later.
--
-- // Emit the NOP
-- op = URX_BUILD(URX_NOP, 0);
-- fRXPat->fCompiledPat->addElement(op, *fStatus);
-- fRXPat->fCompiledPat->addElement(op, *fStatus);
-+ appendOp(URX_LB_CONT, dataLoc);
-+ appendOp(URX_RESERVED_OP, 0); // MinMatchLength. To be filled later.
-+ appendOp(URX_RESERVED_OP, 0); // MaxMatchLength. To be filled later.
-+
-+ // Emit the NOPs
-+ appendOp(URX_NOP, 0);
-+ appendOp(URX_NOP, 0);
-
- // On the Parentheses stack, start a new frame and add the postions
-@@ -708,22 +681,18 @@
-
- // Allocate data space
-- int32_t dataLoc = fRXPat->fDataSize;
-- fRXPat->fDataSize += 4;
-+ int32_t dataLoc = allocateData(4);
-
- // Emit URX_LB_START
-- int32_t op = URX_BUILD(URX_LB_START, dataLoc);
-- fRXPat->fCompiledPat->addElement(op, *fStatus);
-+ appendOp(URX_LB_START, dataLoc);
-
- // Emit URX_LBN_CONT
-- op = URX_BUILD(URX_LBN_CONT, dataLoc);
-- fRXPat->fCompiledPat->addElement(op, *fStatus);
-- fRXPat->fCompiledPat->addElement(0, *fStatus); // MinMatchLength. To be filled later.
-- fRXPat->fCompiledPat->addElement(0, *fStatus); // MaxMatchLength. To be filled later.
-- fRXPat->fCompiledPat->addElement(0, *fStatus); // Continue Loc. To be filled later.
--
-- // Emit the NOP
-- op = URX_BUILD(URX_NOP, 0);
-- fRXPat->fCompiledPat->addElement(op, *fStatus);
-- fRXPat->fCompiledPat->addElement(op, *fStatus);
-+ appendOp(URX_LBN_CONT, dataLoc);
-+ appendOp(URX_RESERVED_OP, 0); // MinMatchLength. To be filled later.
-+ appendOp(URX_RESERVED_OP, 0); // MaxMatchLength. To be filled later.
-+ appendOp(URX_RESERVED_OP, 0); // Continue Loc. To be filled later.
-+
-+ // Emit the NOPs
-+ appendOp(URX_NOP, 0);
-+ appendOp(URX_NOP, 0);
-
- // On the Parentheses stack, start a new frame and add the postions
-@@ -795,10 +764,7 @@
- if (URX_TYPE(repeatedOp) == URX_SETREF) {
- // Emit optimized code for [char set]+
-- int32_t loopOpI = URX_BUILD(URX_LOOP_SR_I, URX_VAL(repeatedOp));
-- fRXPat->fCompiledPat->addElement(loopOpI, *fStatus);
-- frameLoc = fRXPat->fFrameSize;
-- fRXPat->fFrameSize++;
-- int32_t loopOpC = URX_BUILD(URX_LOOP_C, frameLoc);
-- fRXPat->fCompiledPat->addElement(loopOpC, *fStatus);
-+ appendOp(URX_LOOP_SR_I, URX_VAL(repeatedOp));
-+ frameLoc = allocateStackData(1);
-+ appendOp(URX_LOOP_C, frameLoc);
- break;
- }
-@@ -808,5 +774,5 @@
- URX_TYPE(repeatedOp) == URX_DOTANY_UNIX) {
- // Emit Optimized code for .+ operations.
-- int32_t loopOpI = URX_BUILD(URX_LOOP_DOT_I, 0);
-+ int32_t loopOpI = buildOp(URX_LOOP_DOT_I, 0);
- if (URX_TYPE(repeatedOp) == URX_DOTANY_ALL) {
- // URX_LOOP_DOT_I operand is a flag indicating ". matches any" mode.
-@@ -816,9 +782,7 @@
- loopOpI |= 2;
- }
-- fRXPat->fCompiledPat->addElement(loopOpI, *fStatus);
-- frameLoc = fRXPat->fFrameSize;
-- fRXPat->fFrameSize++;
-- int32_t loopOpC = URX_BUILD(URX_LOOP_C, frameLoc);
-- fRXPat->fCompiledPat->addElement(loopOpC, *fStatus);
-+ appendOp(loopOpI);
-+ frameLoc = allocateStackData(1);
-+ appendOp(URX_LOOP_C, frameLoc);
- break;
- }
-@@ -834,16 +798,13 @@
- // Emit the code sequence that can handle it.
- insertOp(topLoc);
-- frameLoc = fRXPat->fFrameSize;
-- fRXPat->fFrameSize++;
--
-- int32_t op = URX_BUILD(URX_STO_INP_LOC, frameLoc);
-+ frameLoc = allocateStackData(1);
-+
-+ int32_t op = buildOp(URX_STO_INP_LOC, frameLoc);
- fRXPat->fCompiledPat->setElementAt(op, topLoc);
-
-- op = URX_BUILD(URX_JMP_SAV_X, topLoc+1);
-- fRXPat->fCompiledPat->addElement(op, *fStatus);
-+ appendOp(URX_JMP_SAV_X, topLoc+1);
- } else {
- // Simpler code when the repeated body must match something non-empty
-- int32_t jmpOp = URX_BUILD(URX_JMP_SAV, topLoc);
-- fRXPat->fCompiledPat->addElement(jmpOp, *fStatus);
-+ appendOp(URX_JMP_SAV, topLoc);
- }
- }
-@@ -857,6 +818,5 @@
- {
- int32_t topLoc = blockTopLoc(FALSE);
-- int32_t saveStateOp = URX_BUILD(URX_STATE_SAVE, topLoc);
-- fRXPat->fCompiledPat->addElement(saveStateOp, *fStatus);
-+ appendOp(URX_STATE_SAVE, topLoc);
- }
- break;
-@@ -872,5 +832,5 @@
- {
- int32_t saveStateLoc = blockTopLoc(TRUE);
-- int32_t saveStateOp = URX_BUILD(URX_STATE_SAVE, fRXPat->fCompiledPat->size());
-+ int32_t saveStateOp = buildOp(URX_STATE_SAVE, fRXPat->fCompiledPat->size());
- fRXPat->fCompiledPat->setElementAt(saveStateOp, saveStateLoc);
- }
-@@ -891,12 +851,10 @@
- int32_t jmp2_loc = fRXPat->fCompiledPat->size();
-
-- int32_t jmp1_op = URX_BUILD(URX_JMP, jmp2_loc+1);
-+ int32_t jmp1_op = buildOp(URX_JMP, jmp2_loc+1);
- fRXPat->fCompiledPat->setElementAt(jmp1_op, jmp1_loc);
-
-- int32_t jmp2_op = URX_BUILD(URX_JMP, jmp2_loc+2);
-- fRXPat->fCompiledPat->addElement(jmp2_op, *fStatus);
--
-- int32_t save_op = URX_BUILD(URX_STATE_SAVE, jmp1_loc+1);
-- fRXPat->fCompiledPat->addElement(save_op, *fStatus);
-+ appendOp(URX_JMP, jmp2_loc+2);
-+
-+ appendOp(URX_STATE_SAVE, jmp1_loc+1);
- }
- break;
-@@ -938,10 +896,8 @@
- if (URX_TYPE(repeatedOp) == URX_SETREF) {
- // Emit optimized code for a [char set]*
-- int32_t loopOpI = URX_BUILD(URX_LOOP_SR_I, URX_VAL(repeatedOp));
-+ int32_t loopOpI = buildOp(URX_LOOP_SR_I, URX_VAL(repeatedOp));
- fRXPat->fCompiledPat->setElementAt(loopOpI, topLoc);
-- dataLoc = fRXPat->fFrameSize;
-- fRXPat->fFrameSize++;
-- int32_t loopOpC = URX_BUILD(URX_LOOP_C, dataLoc);
-- fRXPat->fCompiledPat->addElement(loopOpC, *fStatus);
-+ dataLoc = allocateStackData(1);
-+ appendOp(URX_LOOP_C, dataLoc);
- break;
- }
-@@ -951,5 +907,5 @@
- URX_TYPE(repeatedOp) == URX_DOTANY_UNIX) {
- // Emit Optimized code for .* operations.
-- int32_t loopOpI = URX_BUILD(URX_LOOP_DOT_I, 0);
-+ int32_t loopOpI = buildOp(URX_LOOP_DOT_I, 0);
- if (URX_TYPE(repeatedOp) == URX_DOTANY_ALL) {
- // URX_LOOP_DOT_I operand is a flag indicating . matches any mode.
-@@ -960,8 +916,6 @@
- }
- fRXPat->fCompiledPat->setElementAt(loopOpI, topLoc);
-- dataLoc = fRXPat->fFrameSize;
-- fRXPat->fFrameSize++;
-- int32_t loopOpC = URX_BUILD(URX_LOOP_C, dataLoc);
-- fRXPat->fCompiledPat->addElement(loopOpC, *fStatus);
-+ dataLoc = allocateStackData(1);
-+ appendOp(URX_LOOP_C, dataLoc);
- break;
- }
-@@ -972,5 +926,5 @@
-
- int32_t saveStateLoc = blockTopLoc(TRUE);
-- int32_t jmpOp = URX_BUILD(URX_JMP_SAV, saveStateLoc+1);
-+ int32_t jmpOp = buildOp(URX_JMP_SAV, saveStateLoc+1);
-
- // Check for minimum match length of zero, which requires
-@@ -978,10 +932,9 @@
- if (minMatchLength(saveStateLoc, fRXPat->fCompiledPat->size()-1) == 0) {
- insertOp(saveStateLoc);
-- dataLoc = fRXPat->fFrameSize;
-- fRXPat->fFrameSize++;
--
-- int32_t op = URX_BUILD(URX_STO_INP_LOC, dataLoc);
-+ dataLoc = allocateStackData(1);
-+
-+ int32_t op = buildOp(URX_STO_INP_LOC, dataLoc);
- fRXPat->fCompiledPat->setElementAt(op, saveStateLoc+1);
-- jmpOp = URX_BUILD(URX_JMP_SAV_X, saveStateLoc+2);
-+ jmpOp = buildOp(URX_JMP_SAV_X, saveStateLoc+2);
- }
-
-@@ -990,10 +943,10 @@
- int32_t continueLoc = fRXPat->fCompiledPat->size()+1;
-
-- // Put together the save state op store it into the compiled code.
-- int32_t saveStateOp = URX_BUILD(URX_STATE_SAVE, continueLoc);
-+ // Put together the save state op and store it into the compiled code.
-+ int32_t saveStateOp = buildOp(URX_STATE_SAVE, continueLoc);
- fRXPat->fCompiledPat->setElementAt(saveStateOp, saveStateLoc);
-
- // Append the URX_JMP_SAV or URX_JMPX operation to the compiled pattern.
-- fRXPat->fCompiledPat->addElement(jmpOp, *fStatus);
-+ appendOp(jmpOp);
- }
- break;
-@@ -1009,8 +962,7 @@
- int32_t jmpLoc = blockTopLoc(TRUE); // loc 1.
- int32_t saveLoc = fRXPat->fCompiledPat->size(); // loc 3.
-- int32_t jmpOp = URX_BUILD(URX_JMP, saveLoc);
-- int32_t stateSaveOp = URX_BUILD(URX_STATE_SAVE, jmpLoc+1);
-+ int32_t jmpOp = buildOp(URX_JMP, saveLoc);
- fRXPat->fCompiledPat->setElementAt(jmpOp, jmpLoc);
-- fRXPat->fCompiledPat->addElement(stateSaveOp, *fStatus);
-+ appendOp(URX_STATE_SAVE, jmpLoc+1);
- }
- break;
-@@ -1085,7 +1037,7 @@
- // First the STO_SP before the start of the loop
- insertOp(topLoc);
-- int32_t varLoc = fRXPat->fDataSize; // Reserve a data location for saving the
-- fRXPat->fDataSize += 1; // state stack ptr.
-- int32_t op = URX_BUILD(URX_STO_SP, varLoc);
-+
-+ int32_t varLoc = allocateData(1); // Reserve a data location for saving the
-+ int32_t op = buildOp(URX_STO_SP, varLoc);
- fRXPat->fCompiledPat->setElementAt(op, topLoc);
-
-@@ -1096,6 +1048,5 @@
-
- // Then the LD_SP after the end of the loop
-- op = URX_BUILD(URX_LD_SP, varLoc);
-- fRXPat->fCompiledPat->addElement(op, *fStatus);
-+ appendOp(URX_LD_SP, varLoc);
- }
-
-@@ -1133,13 +1084,11 @@
- {
- fixLiterals(FALSE);
-- int32_t op;
- if (fModeFlags & UREGEX_DOTALL) {
-- op = URX_BUILD(URX_DOTANY_ALL, 0);
-+ appendOp(URX_DOTANY_ALL, 0);
- } else if (fModeFlags & UREGEX_UNIX_LINES) {
-- op = URX_BUILD(URX_DOTANY_UNIX, 0);
-+ appendOp(URX_DOTANY_UNIX, 0);
- } else {
-- op = URX_BUILD(URX_DOTANY, 0);
-- }
-- fRXPat->fCompiledPat->addElement(op, *fStatus);
-+ appendOp(URX_DOTANY, 0);
-+ }
- }
- break;
-@@ -1148,15 +1097,13 @@
- {
- fixLiterals(FALSE);
-- int32_t op = 0;
- if ( (fModeFlags & UREGEX_MULTILINE) == 0 && (fModeFlags & UREGEX_UNIX_LINES) == 0) {
-- op = URX_CARET;
-+ appendOp(URX_CARET, 0);
- } else if ((fModeFlags & UREGEX_MULTILINE) != 0 && (fModeFlags & UREGEX_UNIX_LINES) == 0) {
-- op = URX_CARET_M;
-+ appendOp(URX_CARET_M, 0);
- } else if ((fModeFlags & UREGEX_MULTILINE) == 0 && (fModeFlags & UREGEX_UNIX_LINES) != 0) {
-- op = URX_CARET; // Only testing true start of input.
-+ appendOp(URX_CARET, 0); // Only testing true start of input.
- } else if ((fModeFlags & UREGEX_MULTILINE) != 0 && (fModeFlags & UREGEX_UNIX_LINES) != 0) {
-- op = URX_CARET_M_UNIX;
-- }
-- fRXPat->fCompiledPat->addElement(URX_BUILD(op, 0), *fStatus);
-+ appendOp(URX_CARET_M_UNIX, 0);
-+ }
- }
- break;
-@@ -1165,15 +1112,13 @@
- {
- fixLiterals(FALSE);
-- int32_t op = 0;
- if ( (fModeFlags & UREGEX_MULTILINE) == 0 && (fModeFlags & UREGEX_UNIX_LINES) == 0) {
-- op = URX_DOLLAR;
-+ appendOp(URX_DOLLAR, 0);
- } else if ((fModeFlags & UREGEX_MULTILINE) != 0 && (fModeFlags & UREGEX_UNIX_LINES) == 0) {
-- op = URX_DOLLAR_M;
-+ appendOp(URX_DOLLAR_M, 0);
- } else if ((fModeFlags & UREGEX_MULTILINE) == 0 && (fModeFlags & UREGEX_UNIX_LINES) != 0) {
-- op = URX_DOLLAR_D;
-+ appendOp(URX_DOLLAR_D, 0);
- } else if ((fModeFlags & UREGEX_MULTILINE) != 0 && (fModeFlags & UREGEX_UNIX_LINES) != 0) {
-- op = URX_DOLLAR_MD;
-- }
-- fRXPat->fCompiledPat->addElement(URX_BUILD(op, 0), *fStatus);
-+ appendOp(URX_DOLLAR_MD, 0);
-+ }
- }
- break;
-@@ -1181,5 +1126,5 @@
- case doBackslashA:
- fixLiterals(FALSE);
-- fRXPat->fCompiledPat->addElement(URX_BUILD(URX_CARET, 0), *fStatus);
-+ appendOp(URX_CARET, 0);
- break;
-
-@@ -1193,5 +1138,5 @@
- fixLiterals(FALSE);
- int32_t op = (fModeFlags & UREGEX_UWORD)? URX_BACKSLASH_BU : URX_BACKSLASH_B;
-- fRXPat->fCompiledPat->addElement(URX_BUILD(op, 1), *fStatus);
-+ appendOp(op, 1);
- }
- break;
-@@ -1206,5 +1151,5 @@
- fixLiterals(FALSE);
- int32_t op = (fModeFlags & UREGEX_UWORD)? URX_BACKSLASH_BU : URX_BACKSLASH_B;
-- fRXPat->fCompiledPat->addElement(URX_BUILD(op, 0), *fStatus);
-+ appendOp(op, 0);
- }
- break;
-@@ -1212,44 +1157,40 @@
- case doBackslashD:
- fixLiterals(FALSE);
-- fRXPat->fCompiledPat->addElement(URX_BUILD(URX_BACKSLASH_D, 1), *fStatus);
-+ appendOp(URX_BACKSLASH_D, 1);
- break;
-
- case doBackslashd:
- fixLiterals(FALSE);
-- fRXPat->fCompiledPat->addElement(URX_BUILD(URX_BACKSLASH_D, 0), *fStatus);
-+ appendOp(URX_BACKSLASH_D, 0);
- break;
-
- case doBackslashG:
- fixLiterals(FALSE);
-- fRXPat->fCompiledPat->addElement(URX_BUILD(URX_BACKSLASH_G, 0), *fStatus);
-+ appendOp(URX_BACKSLASH_G, 0);
- break;
-
- case doBackslashS:
- fixLiterals(FALSE);
-- fRXPat->fCompiledPat->addElement(
-- URX_BUILD(URX_STAT_SETREF_N, URX_ISSPACE_SET), *fStatus);
-+ appendOp(URX_STAT_SETREF_N, URX_ISSPACE_SET);
- break;
-
- case doBackslashs:
- fixLiterals(FALSE);
-- fRXPat->fCompiledPat->addElement(
-- URX_BUILD(URX_STATIC_SETREF, URX_ISSPACE_SET), *fStatus);
-+ appendOp(URX_STATIC_SETREF, URX_ISSPACE_SET);
- break;
-
- case doBackslashW:
- fixLiterals(FALSE);
-- fRXPat->fCompiledPat->addElement(
-- URX_BUILD(URX_STAT_SETREF_N, URX_ISWORD_SET), *fStatus);
-+ appendOp(URX_STAT_SETREF_N, URX_ISWORD_SET);
- break;
-
- case doBackslashw:
- fixLiterals(FALSE);
-- fRXPat->fCompiledPat->addElement(
-- URX_BUILD(URX_STATIC_SETREF, URX_ISWORD_SET), *fStatus);
-+ appendOp(URX_STATIC_SETREF, URX_ISWORD_SET);
- break;
-
- case doBackslashX:
- fixLiterals(FALSE);
-- fRXPat->fCompiledPat->addElement(URX_BUILD(URX_BACKSLASH_X, 0), *fStatus);
-+ appendOp(URX_BACKSLASH_X, 0);
- break;
-
-@@ -1257,10 +1198,10 @@
- case doBackslashZ:
- fixLiterals(FALSE);
-- fRXPat->fCompiledPat->addElement(URX_BUILD(URX_DOLLAR, 0), *fStatus);
-+ appendOp(URX_DOLLAR, 0);
- break;
-
- case doBackslashz:
- fixLiterals(FALSE);
-- fRXPat->fCompiledPat->addElement(URX_BUILD(URX_BACKSLASH_Z, 0), *fStatus);
-+ appendOp(URX_BACKSLASH_Z, 0);
- break;
-
-@@ -1322,11 +1263,9 @@
- // and shouldn't enter this code path at all.
- fixLiterals(FALSE);
-- int32_t op;
- if (fModeFlags & UREGEX_CASE_INSENSITIVE) {
-- op = URX_BUILD(URX_BACKREF_I, groupNum);
-+ appendOp(URX_BACKREF_I, groupNum);
- } else {
-- op = URX_BUILD(URX_BACKREF, groupNum);
-- }
-- fRXPat->fCompiledPat->addElement(op, *fStatus);
-+ appendOp(URX_BACKREF, groupNum);
-+ }
- }
- break;
-@@ -1349,20 +1288,16 @@
- // Emit the STO_SP
- int32_t topLoc = blockTopLoc(TRUE);
-- int32_t stoLoc = fRXPat->fDataSize;
-- fRXPat->fDataSize++; // Reserve the data location for storing save stack ptr.
-- int32_t op = URX_BUILD(URX_STO_SP, stoLoc);
-+ int32_t stoLoc = allocateData(1); // Reserve the data location for storing save stack ptr.
-+ int32_t op = buildOp(URX_STO_SP, stoLoc);
- fRXPat->fCompiledPat->setElementAt(op, topLoc);
-
- // Emit the STATE_SAVE
-- op = URX_BUILD(URX_STATE_SAVE, fRXPat->fCompiledPat->size()+2);
-- fRXPat->fCompiledPat->addElement(op, *fStatus);
-+ appendOp(URX_STATE_SAVE, fRXPat->fCompiledPat->size()+2);
-
- // Emit the JMP
-- op = URX_BUILD(URX_JMP, topLoc+1);
-- fRXPat->fCompiledPat->addElement(op, *fStatus);
-+ appendOp(URX_JMP, topLoc+1);
-
- // Emit the LD_SP
-- op = URX_BUILD(URX_LD_SP, stoLoc);
-- fRXPat->fCompiledPat->addElement(op, *fStatus);
-+ appendOp(URX_LD_SP, stoLoc);
- }
- break;
-@@ -1384,21 +1319,18 @@
-
- // emit STO_SP loc
-- int32_t stoLoc = fRXPat->fDataSize;
-- fRXPat->fDataSize++; // Reserve the data location for storing save stack ptr.
-- int32_t op = URX_BUILD(URX_STO_SP, stoLoc);
-+ int32_t stoLoc = allocateData(1); // Reserve the data location for storing save stack ptr.
-+ int32_t op = buildOp(URX_STO_SP, stoLoc);
- fRXPat->fCompiledPat->setElementAt(op, topLoc);
-
- // Emit the SAVE_STATE 5
- int32_t L7 = fRXPat->fCompiledPat->size()+1;
-- op = URX_BUILD(URX_STATE_SAVE, L7);
-+ op = buildOp(URX_STATE_SAVE, L7);
- fRXPat->fCompiledPat->setElementAt(op, topLoc+1);
-
- // Append the JMP operation.
-- op = URX_BUILD(URX_JMP, topLoc+1);
-- fRXPat->fCompiledPat->addElement(op, *fStatus);
-+ appendOp(URX_JMP, topLoc+1);
-
- // Emit the LD_SP loc
-- op = URX_BUILD(URX_LD_SP, stoLoc);
-- fRXPat->fCompiledPat->addElement(op, *fStatus);
-+ appendOp(URX_LD_SP, stoLoc);
- }
- break;
-@@ -1419,17 +1351,15 @@
-
- // Emit the STO_SP
-- int32_t stoLoc = fRXPat->fDataSize;
-- fRXPat->fDataSize++; // Reserve the data location for storing save stack ptr.
-- int32_t op = URX_BUILD(URX_STO_SP, stoLoc);
-+ int32_t stoLoc = allocateData(1); // Reserve the data location for storing save stack ptr.
-+ int32_t op = buildOp(URX_STO_SP, stoLoc);
- fRXPat->fCompiledPat->setElementAt(op, topLoc);
-
- // Emit the SAVE_STATE
- int32_t continueLoc = fRXPat->fCompiledPat->size()+1;
-- op = URX_BUILD(URX_STATE_SAVE, continueLoc);
-+ op = buildOp(URX_STATE_SAVE, continueLoc);
- fRXPat->fCompiledPat->setElementAt(op, topLoc+1);
-
- // Emit the LD_SP
-- op = URX_BUILD(URX_LD_SP, stoLoc);
-- fRXPat->fCompiledPat->addElement(op, *fStatus);
-+ appendOp(URX_LD_SP, stoLoc);
- }
- break;
-@@ -1488,6 +1418,6 @@
- {
- fixLiterals(FALSE);
-- fRXPat->fCompiledPat->addElement(URX_BUILD(URX_NOP, 0), *fStatus);
-- fRXPat->fCompiledPat->addElement(URX_BUILD(URX_NOP, 0), *fStatus);
-+ appendOp(URX_NOP, 0);
-+ appendOp(URX_NOP, 0);
-
- // On the Parentheses stack, start a new frame and add the postions
-@@ -1826,5 +1756,4 @@
- //------------------------------------------------------------------------------
- void RegexCompile::fixLiterals(UBool split) {
-- int32_t op = 0; // An op from/for the compiled pattern.
-
- // If no literal characters have been scanned but not yet had code generated
-@@ -1865,21 +1794,21 @@
- if ((fModeFlags & UREGEX_CASE_INSENSITIVE) &&
- u_hasBinaryProperty(lastCodePoint, UCHAR_CASE_SENSITIVE)) {
-- op = URX_BUILD(URX_ONECHAR_I, lastCodePoint);
-+ appendOp(URX_ONECHAR_I, lastCodePoint);
- } else {
-- op = URX_BUILD(URX_ONECHAR, lastCodePoint);
-- }
-- fRXPat->fCompiledPat->addElement(op, *fStatus);
-+ appendOp(URX_ONECHAR, lastCodePoint);
-+ }
- } else {
- // Two or more chars, emit a URX_STRING to match them.
-+ if (fLiteralChars.length() > 0x00ffffff || fRXPat->fLiteralText.length() > 0x00ffffff) {
-+ error(U_REGEX_PATTERN_TOO_BIG);
-+ }
- if (fModeFlags & UREGEX_CASE_INSENSITIVE) {
-- op = URX_BUILD(URX_STRING_I, fRXPat->fLiteralText.length());
-+ appendOp(URX_STRING_I, fRXPat->fLiteralText.length());
- } else {
- // TODO here: add optimization to split case sensitive strings of length two
- // into two single char ops, for efficiency.
-- op = URX_BUILD(URX_STRING, fRXPat->fLiteralText.length());
-- }
-- fRXPat->fCompiledPat->addElement(op, *fStatus);
-- op = URX_BUILD(URX_STRING_LEN, fLiteralChars.length());
-- fRXPat->fCompiledPat->addElement(op, *fStatus);
-+ appendOp(URX_STRING, fRXPat->fLiteralText.length());
-+ }
-+ appendOp(URX_STRING_LEN, fLiteralChars.length());
-
- // Add this string into the accumulated strings of the compiled pattern.
-@@ -1891,6 +1820,56 @@
-
-
--
--
-+int32_t RegexCompile::buildOp(int32_t type, int32_t val) {
-+ if (U_FAILURE(*fStatus)) {
-+ return 0;
-+ }
-+ if (type < 0 || type > 255) {
-+ U_ASSERT(FALSE);
-+ error(U_REGEX_INTERNAL_ERROR);
-+ type = URX_RESERVED_OP;
-+ }
-+ if (val > 0x00ffffff) {
-+ U_ASSERT(FALSE);
-+ error(U_REGEX_INTERNAL_ERROR);
-+ val = 0;
-+ }
-+ if (val < 0) {
-+ if (!(type == URX_RESERVED_OP_N || type == URX_RESERVED_OP)) {
-+ U_ASSERT(FALSE);
-+ error(U_REGEX_INTERNAL_ERROR);
-+ return -1;
-+ }
-+ if (URX_TYPE(val) != 0xff) {
-+ U_ASSERT(FALSE);
-+ error(U_REGEX_INTERNAL_ERROR);
-+ return -1;
-+ }
-+ type = URX_RESERVED_OP_N;
-+ }
-+ return (type << 24) | val;
-+}
-+
-+
-+//------------------------------------------------------------------------------
-+//
-+// appendOp() Append a new instruction onto the compiled pattern
-+// Includes error checking, limiting the size of the
-+// pattern to lengths that can be represented in the
-+// 24 bit operand field of an instruction.
-+//
-+//------------------------------------------------------------------------------
-+void RegexCompile::appendOp(int32_t op) {
-+ if (U_FAILURE(*fStatus)) {
-+ return;
-+ }
-+ fRXPat->fCompiledPat->addElement(op, *fStatus);
-+ if ((fRXPat->fCompiledPat->size() > 0x00fffff0) && U_SUCCESS(*fStatus)) {
-+ error(U_REGEX_PATTERN_TOO_BIG);
-+ }
-+}
-+
-+void RegexCompile::appendOp(int32_t type, int32_t val) {
-+ appendOp(buildOp(type, val));
-+}
-
-
-@@ -1908,5 +1887,5 @@
- U_ASSERT(where>0 && where < code->size());
-
-- int32_t nop = URX_BUILD(URX_NOP, 0);
-+ int32_t nop = buildOp(URX_NOP, 0);
- code->insertElementAt(nop, where, *fStatus);
-
-@@ -1929,5 +1908,5 @@
- // needs to be incremented to adjust for the insertion.
- opValue++;
-- op = URX_BUILD(opType, opValue);
-+ op = buildOp(opType, opValue);
- code->setElementAt(op, loc);
- }
-@@ -1953,4 +1932,56 @@
- }
-
-+
-+//------------------------------------------------------------------------------
-+//
-+// allocateData() Allocate storage in the matcher's static data area.
-+// Return the index for the newly allocated data.
-+// The storage won't actually exist until we are running a match
-+// operation, but the storage indexes are inserted into various
-+// opcodes while compiling the pattern.
-+//
-+//------------------------------------------------------------------------------
-+int32_t RegexCompile::allocateData(int32_t size) {
-+ if (U_FAILURE(*fStatus)) {
-+ return 0;
-+ }
-+ if (size <= 0 || size > 0x100 || fRXPat->fDataSize < 0) {
-+ error(U_REGEX_INTERNAL_ERROR);
-+ return 0;
-+ }
-+ int32_t dataIndex = fRXPat->fDataSize;
-+ fRXPat->fDataSize += size;
-+ if (fRXPat->fDataSize >= 0x00fffff0) {
-+ error(U_REGEX_INTERNAL_ERROR);
-+ }
-+ return dataIndex;
-+}
-+
-+
-+//------------------------------------------------------------------------------
-+//
-+// allocateStackData() Allocate space in the back-tracking stack frame.
-+// Return the index for the newly allocated data.
-+// The frame indexes are inserted into various
-+// opcodes while compiling the pattern, meaning that frame
-+// size must be restricted to the size that will fit
-+// as an operand (24 bits).
-+//
-+//------------------------------------------------------------------------------
-+int32_t RegexCompile::allocateStackData(int32_t size) {
-+ if (U_FAILURE(*fStatus)) {
-+ return 0;
-+ }
-+ if (size <= 0 || size > 0x100 || fRXPat->fFrameSize < 0) {
-+ error(U_REGEX_INTERNAL_ERROR);
-+ return 0;
-+ }
-+ int32_t dataIndex = fRXPat->fFrameSize;
-+ fRXPat->fFrameSize += size;
-+ if (fRXPat->fFrameSize >= 0x00fffff0) {
-+ error(U_REGEX_PATTERN_TOO_BIG);
-+ }
-+ return dataIndex;
-+}
-
-
-@@ -1996,5 +2027,5 @@
- }
- if (reserveLoc) {
-- int32_t nop = URX_BUILD(URX_NOP, 0);
-+ int32_t nop = buildOp(URX_NOP, 0);
- fRXPat->fCompiledPat->insertElementAt(nop, theLoc, *fStatus);
- }
-@@ -2071,6 +2102,5 @@
-
- int32_t frameVarLocation = URX_VAL(captureOp);
-- int32_t endCaptureOp = URX_BUILD(URX_END_CAPTURE, frameVarLocation);
-- fRXPat->fCompiledPat->addElement(endCaptureOp, *fStatus);
-+ appendOp(URX_END_CAPTURE, frameVarLocation);
- }
- break;
-@@ -2083,6 +2113,5 @@
- U_ASSERT(URX_TYPE(stoOp) == URX_STO_SP);
- int32_t stoLoc = URX_VAL(stoOp);
-- int32_t ldOp = URX_BUILD(URX_LD_SP, stoLoc);
-- fRXPat->fCompiledPat->addElement(ldOp, *fStatus);
-+ appendOp(URX_LD_SP, stoLoc);
- }
- break;
-@@ -2093,6 +2122,5 @@
- U_ASSERT(URX_TYPE(startOp) == URX_LA_START);
- int32_t dataLoc = URX_VAL(startOp);
-- int32_t op = URX_BUILD(URX_LA_END, dataLoc);
-- fRXPat->fCompiledPat->addElement(op, *fStatus);
-+ appendOp(URX_LA_END, dataLoc);
- }
- break;
-@@ -2104,10 +2132,7 @@
- U_ASSERT(URX_TYPE(startOp) == URX_LA_START);
- int32_t dataLoc = URX_VAL(startOp);
-- int32_t op = URX_BUILD(URX_LA_END, dataLoc);
-- fRXPat->fCompiledPat->addElement(op, *fStatus);
-- op = URX_BUILD(URX_BACKTRACK, 0);
-- fRXPat->fCompiledPat->addElement(op, *fStatus);
-- op = URX_BUILD(URX_LA_END, dataLoc);
-- fRXPat->fCompiledPat->addElement(op, *fStatus);
-+ appendOp(URX_LA_END, dataLoc);
-+ appendOp(URX_BACKTRACK, 0);
-+ appendOp(URX_LA_END, dataLoc);
-
- // Patch the URX_SAVE near the top of the block.
-@@ -2116,5 +2141,5 @@
- U_ASSERT(URX_TYPE(saveOp) == URX_STATE_SAVE);
- int32_t dest = fRXPat->fCompiledPat->size()-1;
-- saveOp = URX_BUILD(URX_STATE_SAVE, dest);
-+ saveOp = buildOp(URX_STATE_SAVE, dest);
- fRXPat->fCompiledPat->setElementAt(saveOp, fMatchOpenParen);
- }
-@@ -2129,8 +2154,6 @@
- U_ASSERT(URX_TYPE(startOp) == URX_LB_START);
- int32_t dataLoc = URX_VAL(startOp);
-- int32_t op = URX_BUILD(URX_LB_END, dataLoc);
-- fRXPat->fCompiledPat->addElement(op, *fStatus);
-- op = URX_BUILD(URX_LA_END, dataLoc);
-- fRXPat->fCompiledPat->addElement(op, *fStatus);
-+ appendOp(URX_LB_END, dataLoc);
-+ appendOp(URX_LA_END, dataLoc);
-
- // Determine the min and max bounds for the length of the
-@@ -2168,6 +2191,5 @@
- U_ASSERT(URX_TYPE(startOp) == URX_LB_START);
- int32_t dataLoc = URX_VAL(startOp);
-- int32_t op = URX_BUILD(URX_LBN_END, dataLoc);
-- fRXPat->fCompiledPat->addElement(op, *fStatus);
-+ appendOp(URX_LBN_END, dataLoc);
-
- // Determine the min and max bounds for the length of the
-@@ -2194,5 +2216,5 @@
- // Insert the pattern location to continue at after a successful match
- // as the last operand of the URX_LBN_CONT
-- op = URX_BUILD(URX_RELOC_OPRND, fRXPat->fCompiledPat->size());
-+ int32_t op = buildOp(URX_RELOC_OPRND, fRXPat->fCompiledPat->size());
- fRXPat->fCompiledPat->setElementAt(op, fMatchOpenParen-1);
- }
-@@ -2235,5 +2257,5 @@
- {
- // Set of no elements. Always fails to match.
-- fRXPat->fCompiledPat->addElement(URX_BUILD(URX_BACKTRACK, 0), *fStatus);
-+ appendOp(URX_BACKTRACK, 0);
- delete theSet;
- }
-@@ -2256,6 +2278,5 @@
- int32_t setNumber = fRXPat->fSets->size();
- fRXPat->fSets->addElement(theSet, *fStatus);
-- int32_t setOp = URX_BUILD(URX_SETREF, setNumber);
-- fRXPat->fCompiledPat->addElement(setOp, *fStatus);
-+ appendOp(URX_SETREF, setNumber);
- }
- }
-@@ -2296,11 +2317,8 @@
- // +1 --> Input index (for breaking non-progressing loops)
- // (Only present if unbounded upper limit on loop)
-- int32_t counterLoc = fRXPat->fFrameSize;
-- fRXPat->fFrameSize++;
-- if (fIntervalUpper < 0) {
-- fRXPat->fFrameSize++;
-- }
--
-- int32_t op = URX_BUILD(InitOp, counterLoc);
-+ int32_t dataSize = fIntervalUpper < 0 ? 2 : 1;
-+ int32_t counterLoc = allocateStackData(dataSize);
-+
-+ int32_t op = buildOp(InitOp, counterLoc);
- fRXPat->fCompiledPat->setElementAt(op, topOfBlock);
-
-@@ -2310,5 +2328,5 @@
- // position to move.
- int32_t loopEnd = fRXPat->fCompiledPat->size();
-- op = URX_BUILD(URX_RELOC_OPRND, loopEnd);
-+ op = buildOp(URX_RELOC_OPRND, loopEnd);
- fRXPat->fCompiledPat->setElementAt(op, topOfBlock+1);
-
-@@ -2319,6 +2337,5 @@
- // Apend the CTR_LOOP op. The operand is the location of the CTR_INIT op.
- // Goes at end of the block being looped over, so just append to the code so far.
-- op = URX_BUILD(LoopOp, topOfBlock);
-- fRXPat->fCompiledPat->addElement(op, *fStatus);
-+ appendOp(LoopOp, topOfBlock);
-
- if ((fIntervalLow & 0xff000000) != 0 ||
-@@ -2373,5 +2390,5 @@
- int32_t endOfSequenceLoc = fRXPat->fCompiledPat->size()-1
- + fIntervalUpper + (fIntervalUpper-fIntervalLow);
-- int32_t saveOp = URX_BUILD(URX_STATE_SAVE, endOfSequenceLoc);
-+ int32_t saveOp = buildOp(URX_STATE_SAVE, endOfSequenceLoc);
- if (fIntervalLow == 0) {
- insertOp(topOfBlock);
-@@ -2386,11 +2403,8 @@
- int32_t i;
- for (i=1; i<fIntervalUpper; i++ ) {
-- if (i == fIntervalLow) {
-- fRXPat->fCompiledPat->addElement(saveOp, *fStatus);
-- }
-- if (i > fIntervalLow) {
-- fRXPat->fCompiledPat->addElement(saveOp, *fStatus);
-- }
-- fRXPat->fCompiledPat->addElement(op, *fStatus);
-+ if (i >= fIntervalLow) {
-+ appendOp(saveOp);
-+ }
-+ appendOp(op);
- }
- return TRUE;
-@@ -3612,5 +3626,5 @@
- U_ASSERT(operandAddress>=0 && operandAddress<deltas.size());
- int32_t fixedOperandAddress = operandAddress - deltas.elementAti(operandAddress);
-- op = URX_BUILD(opType, fixedOperandAddress);
-+ op = buildOp(opType, fixedOperandAddress);
- fRXPat->fCompiledPat->setElementAt(op, dst);
- dst++;
-@@ -3627,5 +3641,5 @@
- }
- where = fRXPat->fGroupMap->elementAti(where-1);
-- op = URX_BUILD(opType, where);
-+ op = buildOp(opType, where);
- fRXPat->fCompiledPat->setElementAt(op, dst);
- dst++;
-@@ -3979,5 +3993,5 @@
- //
- // scanNamedChar
-- // Get a UChar32 from a \N{UNICODE CHARACTER NAME} in the pattern.
-+// Get a UChar32 from a \N{UNICODE CHARACTER NAME} in the pattern.
- //
- // The scan position will be at the 'N'. On return
-Index: /icu/trunk/source/i18n/regexcmp.h
-===================================================================
---- /icu/trunk/source/i18n/regexcmp.h (revision 36800)
-+++ /icu/trunk/source/i18n/regexcmp.h (revision 36801)
-@@ -105,4 +105,11 @@
- void insertOp(int32_t where); // Open up a slot for a new op in the
- // generated code at the specified location.
-+ void appendOp(int32_t op); // Append a new op to the compiled pattern.
-+ void appendOp(int32_t type, int32_t val); // Build & append a new op to the compiled pattern.
-+ int32_t buildOp(int32_t type, int32_t val); // Construct a new pcode instruction.
-+ int32_t allocateData(int32_t size); // Allocate space in the matcher data area.
-+ // Return index of the newly allocated data.
-+ int32_t allocateStackData(int32_t size); // Allocate space in the match back-track stack frame.
-+ // Return offset index in the frame.
- int32_t minMatchLength(int32_t start,
- int32_t end);
-Index: /icu/trunk/source/i18n/regeximp.h
-===================================================================
---- /icu/trunk/source/i18n/regeximp.h (revision 36800)
-+++ /icu/trunk/source/i18n/regeximp.h (revision 36801)
-@@ -1,4 +1,4 @@
- //
--// Copyright (C) 2002-2013 International Business Machines Corporation
-+// Copyright (C) 2002-2014 International Business Machines Corporation
- // and others. All rights reserved.
- //
-@@ -242,5 +242,4 @@
- // Convenience macros for assembling and disassembling a compiled operation.
- //
--#define URX_BUILD(type, val) (int32_t)((type << 24) | (val))
- #define URX_TYPE(x) ((uint32_t)(x) >> 24)
- #define URX_VAL(x) ((x) & 0xffffff)
-Index: /icu/trunk/source/test/intltest/regextst.cpp
-===================================================================
---- /icu/trunk/source/test/intltest/regextst.cpp (revision 36800)
-+++ /icu/trunk/source/test/intltest/regextst.cpp (revision 36801)
-@@ -145,4 +145,7 @@
- if (exec) TestBug11049();
- break;
-+ case 25: name = "TestBug11371";
-+ if (exec) TestBug11371();
-+ break;
- default: name = "";
- break; //needed to end loop
-@@ -5368,4 +5371,47 @@
-
-
-+void RegexTest::TestBug11371() {
-+ if (quick) {
-+ logln("Skipping test. Runs in exhuastive mode only.");
-+ return;
-+ }
-+ UErrorCode status = U_ZERO_ERROR;
-+ UnicodeString patternString;
-+
-+ for (int i=0; i<8000000; i++) {
-+ patternString.append(UnicodeString("()"));
-+ }
-+ LocalPointer<RegexPattern> compiledPat(RegexPattern::compile(patternString, 0, status));
-+ if (status != U_REGEX_PATTERN_TOO_BIG) {
-+ errln("File %s, line %d expected status=U_REGEX_PATTERN_TOO_BIG; got %s.",
-+ __FILE__, __LINE__, u_errorName(status));
-+ }
-+
-+ status = U_ZERO_ERROR;
-+ patternString = "(";
-+ for (int i=0; i<20000000; i++) {
-+ patternString.append(UnicodeString("A++"));
-+ }
-+ patternString.append(UnicodeString("){0}B++"));
-+ LocalPointer<RegexPattern> compiledPat2(RegexPattern::compile(patternString, 0, status));
-+ if (status != U_REGEX_PATTERN_TOO_BIG) {
-+ errln("File %s, line %d expected status=U_REGEX_PATTERN_TOO_BIG; got %s.",
-+ __FILE__, __LINE__, u_errorName(status));
-+ }
-+
-+ // Pattern with too much string data, such that string indexes overflow operand data field size
-+ // in compiled instruction.
-+ status = U_ZERO_ERROR;
-+ patternString = "";
-+ while (patternString.length() < 0x00ffffff) {
-+ patternString.append(UnicodeString("stuff and things dont you know, these are a few of my favorite strings\n"));
-+ }
-+ patternString.append(UnicodeString("X? trailing string"));
-+ LocalPointer<RegexPattern> compiledPat3(RegexPattern::compile(patternString, 0, status));
-+ if (status != U_REGEX_PATTERN_TOO_BIG) {
-+ errln("File %s, line %d expected status=U_REGEX_PATTERN_TOO_BIG; got %s.",
-+ __FILE__, __LINE__, u_errorName(status));
-+ }
-+}
-
- #endif /* !UCONFIG_NO_REGULAR_EXPRESSIONS */
-Index: /icu/trunk/source/test/intltest/regextst.h
-===================================================================
---- /icu/trunk/source/test/intltest/regextst.h (revision 36800)
-+++ /icu/trunk/source/test/intltest/regextst.h (revision 36801)
-@@ -51,4 +51,5 @@
- virtual void TestCaseInsensitiveStarters();
- virtual void TestBug11049();
-+ virtual void TestBug11371();
-
- // The following functions are internal to the regexp tests.
diff --git a/dev-libs/icu/files/icu-fix-tests-depending-on-date.patch b/dev-libs/icu/files/icu-fix-tests-depending-on-date.patch deleted file mode 100644 index 61c286a54c..0000000000 --- a/dev-libs/icu/files/icu-fix-tests-depending-on-date.patch +++ /dev/null @@ -1,15 +0,0 @@ -See icu-fix-tests-depending-on-date.patch - -Index: icu/source/test/intltest/dtfmttst.cpp -=================================================================== ---- icu.orig/source/test/intltest/dtfmttst.cpp -+++ icu/source/test/intltest/dtfmttst.cpp -@@ -1132,7 +1132,7 @@ DateFormatTest::TestTwoDigitYear() - return; - } - parse2DigitYear(fmt, "5/6/17", date(117, UCAL_JUNE, 5)); -- parse2DigitYear(fmt, "4/6/34", date(34, UCAL_JUNE, 4)); -+ parse2DigitYear(fmt, "4/6/34", date(134, UCAL_JUNE, 4)); - } - - // ------------------------------------- diff --git a/dev-libs/icu/files/icu-remove-bashisms.patch b/dev-libs/icu/files/icu-remove-bashisms.patch deleted file mode 100644 index 980d84b77d..0000000000 --- a/dev-libs/icu/files/icu-remove-bashisms.patch +++ /dev/null @@ -1,230 +0,0 @@ -Index: config/Makefile.inc.in -=================================================================== ---- config/Makefile.inc.in (revision 36912) -+++ config/Makefile.inc.in (working copy) -@@ -125,12 +125,6 @@ - # with usually. Many applications will want to add $(ICULIBS_I18N) as well. - ICULIBS = $(ICULIBS_BASE) $(ICULIBS_I18N) $(ICULIBS_COMMON) $(ICULIBS_DATA) - --# Proper echo newline handling is needed in icu-config --ECHO_N=@ICU_ECHO_N@ --ECHO_C=@ICU_ECHO_C@ --# Not currently being used but good to have for proper tab handling --ECHO_T=@ICU_ECHO_T@ -- - ################################################################## - ################################################################## - # -Index: config/icu-config-bottom -=================================================================== ---- config/icu-config-bottom (revision 36912) -+++ config/icu-config-bottom (working copy) -@@ -217,73 +217,73 @@ - ;; - - --cflags) -- echo $ECHO_N "${CFLAGS} ${ECHO_C}" -+ printf "%s" "${CFLAGS} " - ;; - - --cc) -- echo $ECHO_N "${CC} ${ECHO_C}" -+ printf "%s" "${CC} " - ;; - - --cxx) -- echo $ECHO_N "${CXX} ${ECHO_C}" -+ printf "%s" "${CXX} " - ;; - - --cxxflags) -- echo $ECHO_N "${CXXFLAGS} ${ECHO_C}" -+ printf "%s" "${CXXFLAGS} " - ;; - - --cppflags) - # Don't echo the -I. - it's unneeded. -- echo $ECHO_N "${CPPFLAGS} ${ECHO_C}" | sed -e 's/-I. //' -+ printf "%s" "${CPPFLAGS} " | sed -e 's/-I. //' - ;; - - --cppflags-searchpath) -- echo $ECHO_N "-I${prefix}/include ${ECHO_C}" -+ printf "%s" "-I${prefix}/include " - ;; - - --cppflags-dynamic) -- echo $ECHO_N "${SHAREDLIBCPPFLAGS} ${ECHO_C}" -+ printf "%s" "${SHAREDLIBCPPFLAGS} " - ;; - - --cxxflags-dynamic) -- echo $ECHO_N "${SHAREDLIBCXXFLAGS} ${ECHO_C}" -+ printf "%s" "${SHAREDLIBCXXFLAGS} " - ;; - - --cflags-dynamic) -- echo $ECHO_N "${SHAREDLIBCFLAGS} ${ECHO_C}" -+ printf "%s" "${SHAREDLIBCFLAGS} " - ;; - - --ldflags-system) -- echo $ECHO_N "${LIBS} ${ECHO_C}" -+ printf "%s" "${LIBS} " - ;; - - --ldflags) -- echo $ECHO_N "${LDFLAGS} ${ICULIBS} ${ECHO_C}" -+ printf "%s" "${LDFLAGS} ${ICULIBS} " - # $RPATH_LDFLAGS - ;; - - --ldflags-libsonly) -- echo $ECHO_N "${ICULIBS_I18N} ${ICULIBS_COMMON} ${ICULIBS_DATA} ${ECHO_C}" -+ printf "%s" "${ICULIBS_I18N} ${ICULIBS_COMMON} ${ICULIBS_DATA} " - ;; - - --ldflags-icuio) -- echo $ECHO_N " ${ICULIBS_ICUIO} ${ECHO_C}" -+ printf "%s" " ${ICULIBS_ICUIO} " - ;; - - --ldflags-obsolete) -- echo $ECHO_N "${ICULIBS_OBSOLETE} ${ECHO_C}" -+ printf "%s" "${ICULIBS_OBSOLETE} " - ;; - - --ldflags-toolutil) -- echo $ECHO_N " ${ICULIBS_TOOLUTIL} ${ECHO_C}" -+ printf "%s" " ${ICULIBS_TOOLUTIL} " - ;; - - --ldflags-layout) -- echo $ECHO_N "${ICULIBS_LAYOUT} ${ICULIBS_LAYOUTEX} ${ECHO_C}" -+ printf "%s" "${ICULIBS_LAYOUT} ${ICULIBS_LAYOUTEX} " - ;; - - --ldflags-searchpath) -- echo $ECHO_N "-L${libdir} ${ECHO_C}" -+ printf "%s" "-L${libdir} " - ;; - - --detect-prefix) -@@ -319,47 +319,47 @@ - ;; - - --shared-datadir) -- echo $ECHO_N "${datadir} ${ECHO_C}" -+ printf "%s" "${datadir} " - ;; - - --incfile) -- echo $ECHO_N "${pkglibdir}/Makefile.inc ${ECHO_C}" -+ printf "%s" "${pkglibdir}/Makefile.inc " - ;; - - --incpkgdatafile) -- echo $ECHO_N "${pkglibdir}/pkgdata.inc ${ECHO_C}" -+ printf "%s" "${pkglibdir}/pkgdata.inc " - ;; - - --icudata) -- echo $ECHO_N "${ICUDATA_NAME} ${ECHO_C}" -+ printf "%s" "${ICUDATA_NAME} " - ;; - - --icudata-mode) -- echo $ECHO_N "${PKGDATA_MODE} ${ECHO_C}" -+ printf "%s" "${PKGDATA_MODE} " - ;; - - --icudata-install-dir) -- echo $ECHO_N "${ICUPKGDATA_DIR} ${ECHO_C}" -+ printf "%s" "${ICUPKGDATA_DIR} " - ;; - - --icudatadir) -- echo $ECHO_N "${ICUDATA_DIR} ${ECHO_C}" -+ printf "%s" "${ICUDATA_DIR} " - ;; - - --shlib-c) -- echo $ECHO_N "${SHLIB_c} ${ECHO_C}" -+ printf "%s" "${SHLIB_c} " - ;; - - --shlib-cc) -- echo $ECHO_N "${SHLIB_cc} ${ECHO_C}" -+ printf "%s" "${SHLIB_cc} " - ;; - - --version) -- echo $ECHO_N $VERSION -+ printf "%s" "$VERSION" - ;; - - --unicode-version) -- echo $ECHO_N $UNICODE_VERSION -+ printf "%s" "$UNICODE_VERSION" - ;; - - --host) -Index: configure.ac -=================================================================== ---- configure.ac (revision 36912) -+++ configure.ac (working copy) -@@ -19,24 +19,6 @@ - PACKAGE="icu" - AC_SUBST(PACKAGE) - --# Use custom echo test for newline option --# Current autoconf (2.65) gives incorrect echo newline option --# for icu-config --# This may be removed later - mow (June 17, 2010) --ICU_ECHO_C= ICU_ECHO_N= ICU_ECHO_T= --case `/bin/sh -c "echo -n x"` in ---n*) -- case `/bin/sh -c "echo 'x\c'"` in -- *c*) ICU_ECHO_T=' ';; # ECHO_T is single tab character. -- *) ICU_ECHO_C='\c';; -- esac;; --*) -- ICU_ECHO_N='-n';; --esac --AC_SUBST(ICU_ECHO_N) --AC_SUBST(ICU_ECHO_C) --AC_SUBST(ICU_ECHO_T) -- - 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 @@ - ENABLE_STATIC = @ENABLE_STATIC@ - ENABLE_SHARED = @ENABLE_SHARED@ - --# Echo w/o newline -- --#ECHO_N = @ICU_ECHO_N@ --#ECHO_C = @ICU_ECHO_C@ -- - # 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 @@ - include $(shell icu-config --incfile) - DIRS=$(prefix)/include/unicode - LDIRS=$(prefix)/include/layout --ECHO_T=@ECHO_T@ --ECHO_C=@ECHO_C@ --ECHO_N=@ECHO_N@ - - all: - @echo Please read this Makefile for more information. diff --git a/dev-libs/icu/icu-54.1-r1.ebuild b/dev-libs/icu/icu-54.1-r1.ebuild deleted file mode 100644 index 02564d11b1..0000000000 --- a/dev-libs/icu/icu-54.1-r1.ebuild +++ /dev/null @@ -1,144 +0,0 @@ -# Copyright 1999-2015 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-libs/icu/icu-54.1-r1.ebuild,v 1.11 2015/05/29 05:05:12 vapier Exp $ - -EAPI=5 - -inherit eutils flag-o-matic toolchain-funcs autotools multilib-minimal - -DESCRIPTION="International Components for Unicode" -HOMEPAGE="http://www.icu-project.org/" -SRC_URI="http://download.icu-project.org/files/icu4c/${PV/_/}/icu4c-${PV//./_}-src.tgz" - -LICENSE="BSD" - -SLOT="0/54a" - -KEYWORDS="~ppc-aix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris ~x86-winnt" -IUSE="debug doc examples static-libs" - -DEPEND=" - doc? ( - app-doc/doxygen[dot] - ) -" - -S="${WORKDIR}/${PN}/source" - -MULTILIB_CHOST_TOOLS=( - /usr/bin/icu-config -) - -src_prepare() { - local variable - - epatch "${FILESDIR}/${PN}-remove-bashisms.patch" - epatch "${FILESDIR}/${P}-CVE-2014-9654.patch" - epatch_user - - # fix compilation on Solaris due to enabling of conflicting standards - sed -i -e '/define _XOPEN_SOURCE_EXTENDED/s/_XOPEN/no_XOPEN/' \ - common/uposixdefs.h || die - # for correct install_names - epatch "${FILESDIR}"/${PN}-4.8.1-darwin.patch - - # Disable renaming as it is stupind thing to do - sed -i \ - -e "s/#define U_DISABLE_RENAMING 0/#define U_DISABLE_RENAMING 1/" \ - common/unicode/uconfig.h || die - - # Fix linking of icudata - sed -i \ - -e "s:LDFLAGSICUDT=-nodefaultlibs -nostdlib:LDFLAGSICUDT=:" \ - config/mh-linux || die - - # Append doxygen configuration to configure - sed -i \ - -e 's:icudefs.mk:icudefs.mk Doxyfile:' \ - configure.ac || die - - eautoreconf -} - -src_configure() { - # Do _not_ use C++11 yet, make sure to force GNU C++ 98 standard. - append-cxxflags -std=gnu++98 - - if tc-is-cross-compiler; then - mkdir "${WORKDIR}"/host || die - pushd "${WORKDIR}"/host >/dev/null || die - - CFLAGS="" CXXFLAGS="" ASFLAGS="" LDFLAGS="" \ - CC="$(tc-getBUILD_CC)" CXX="$(tc-getBUILD_CXX)" AR="$(tc-getBUILD_AR)" \ - RANLIB="$(tc-getBUILD_RANLIB)" LD="$(tc-getBUILD_LD)" \ - "${S}"/configure --disable-renaming --disable-debug \ - --disable-samples --enable-static || die - emake - - popd >/dev/null || die - fi - - multilib-minimal_src_configure -} - -multilib_src_configure() { - local myeconfargs=( - --disable-renaming - --disable-samples - $(use_enable debug) - $(use_enable static-libs static) - ) - - multilib_is_native_abi && myeconfargs+=( - $(use_enable examples samples) - ) - tc-is-cross-compiler && myeconfargs+=( - --with-cross-build="${WORKDIR}"/host - ) - - # icu tries to use clang by default - tc-export CC CXX - - # make sure we configure with the same shell as we run icu-config - # with, or ECHO_N, ECHO_T and ECHO_C will be wrongly defined - export CONFIG_SHELL=${EPREFIX}/bin/sh - - ECONF_SOURCE=${S} \ - econf "${myeconfargs[@]}" -} - -multilib_src_compile() { - default - - if multilib_is_native_abi && use doc; then - doxygen -u Doxyfile || die - doxygen Doxyfile || die - fi -} - -multilib_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 VERBOSE="1" check -} - -multilib_src_install() { - default - - if multilib_is_native_abi && use doc; then - dohtml -p api -r doc/html/ - fi -} - -multilib_src_install_all() { - einstalldocs - dohtml ../readme.html -} diff --git a/dev-libs/icu/icu-55.1.ebuild b/dev-libs/icu/icu-55.1.ebuild deleted file mode 100644 index 421e74d9fc..0000000000 --- a/dev-libs/icu/icu-55.1.ebuild +++ /dev/null @@ -1,143 +0,0 @@ -# Copyright 1999-2015 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-libs/icu/icu-55.1.ebuild,v 1.11 2015/06/24 07:55:22 ago Exp $ - -EAPI=5 - -inherit eutils flag-o-matic toolchain-funcs autotools multilib-minimal - -DESCRIPTION="International Components for Unicode" -HOMEPAGE="http://www.icu-project.org/" -SRC_URI="http://download.icu-project.org/files/icu4c/${PV/_/}/icu4c-${PV//./_}-src.tgz" - -LICENSE="BSD" - -SLOT="0/55" - -KEYWORDS="~ppc-aix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris ~x86-winnt" -IUSE="debug doc examples static-libs" - -DEPEND=" - doc? ( - app-doc/doxygen[dot] - ) -" - -S="${WORKDIR}/${PN}/source" - -MULTILIB_CHOST_TOOLS=( - /usr/bin/icu-config -) - -src_prepare() { - local variable - - epatch "${FILESDIR}/${PN}-remove-bashisms.patch" - epatch_user - - # fix compilation on Solaris due to enabling of conflicting standards - sed -i -e '/define _XOPEN_SOURCE_EXTENDED/s/_XOPEN/no_XOPEN/' \ - common/uposixdefs.h || die - # for correct install_names - epatch "${FILESDIR}"/${PN}-4.8.1-darwin.patch - - # Disable renaming as it is stupind thing to do - sed -i \ - -e "s/#define U_DISABLE_RENAMING 0/#define U_DISABLE_RENAMING 1/" \ - common/unicode/uconfig.h || die - - # Fix linking of icudata - sed -i \ - -e "s:LDFLAGSICUDT=-nodefaultlibs -nostdlib:LDFLAGSICUDT=:" \ - config/mh-linux || die - - # Append doxygen configuration to configure - sed -i \ - -e 's:icudefs.mk:icudefs.mk Doxyfile:' \ - configure.ac || die - - eautoreconf -} - -src_configure() { - # Do _not_ use C++11 yet, make sure to force GNU C++ 98 standard. - append-cxxflags -std=gnu++98 - - if tc-is-cross-compiler; then - mkdir "${WORKDIR}"/host || die - pushd "${WORKDIR}"/host >/dev/null || die - - CFLAGS="" CXXFLAGS="" ASFLAGS="" LDFLAGS="" \ - CC="$(tc-getBUILD_CC)" CXX="$(tc-getBUILD_CXX)" AR="$(tc-getBUILD_AR)" \ - RANLIB="$(tc-getBUILD_RANLIB)" LD="$(tc-getBUILD_LD)" \ - "${S}"/configure --disable-renaming --disable-debug \ - --disable-samples --enable-static || die - emake - - popd >/dev/null || die - fi - - multilib-minimal_src_configure -} - -multilib_src_configure() { - local myeconfargs=( - --disable-renaming - --disable-samples - $(use_enable debug) - $(use_enable static-libs static) - ) - - multilib_is_native_abi && myeconfargs+=( - $(use_enable examples samples) - ) - tc-is-cross-compiler && myeconfargs+=( - --with-cross-build="${WORKDIR}"/host - ) - - # icu tries to use clang by default - tc-export CC CXX - - # make sure we configure with the same shell as we run icu-config - # with, or ECHO_N, ECHO_T and ECHO_C will be wrongly defined - export CONFIG_SHELL=${EPREFIX}/bin/sh - - ECONF_SOURCE=${S} \ - econf "${myeconfargs[@]}" -} - -multilib_src_compile() { - default - - if multilib_is_native_abi && use doc; then - doxygen -u Doxyfile || die - doxygen Doxyfile || die - fi -} - -multilib_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 VERBOSE="1" check -} - -multilib_src_install() { - default - - if multilib_is_native_abi && use doc; then - dohtml -p api -r doc/html/ - fi -} - -multilib_src_install_all() { - einstalldocs - dohtml ../readme.html -} |