From 512ff4b6426a661f8f131b2c85311c13204d95f6 Mon Sep 17 00:00:00 2001 From: Matt Turner Date: Thu, 21 Jul 2011 16:31:39 -0400 Subject: Remove dev-libs/icu Changes are available upstream and in at least 4.6.1 and newer. Signed-off-by: Matt Turner --- dev-libs/icu/Manifest | 7 - .../files/icu-3.8-regexp-CVE-2007-4770+4771.diff | 305 --------------------- .../icu/files/icu-3.8-setBreakType-public.diff | 24 -- dev-libs/icu/files/icu-gcc4.4.patch | 11 - dev-libs/icu/icu-3.8.1-r1.ebuild | 85 ------ 5 files changed, 432 deletions(-) delete mode 100644 dev-libs/icu/Manifest delete mode 100644 dev-libs/icu/files/icu-3.8-regexp-CVE-2007-4770+4771.diff delete mode 100644 dev-libs/icu/files/icu-3.8-setBreakType-public.diff delete mode 100644 dev-libs/icu/files/icu-gcc4.4.patch delete mode 100644 dev-libs/icu/icu-3.8.1-r1.ebuild diff --git a/dev-libs/icu/Manifest b/dev-libs/icu/Manifest deleted file mode 100644 index 3d10bc2..0000000 --- a/dev-libs/icu/Manifest +++ /dev/null @@ -1,7 +0,0 @@ -AUX icu-3.8-regexp-CVE-2007-4770+4771.diff 10839 RMD160 efeef3970293df08a430e5c797d0b9c3a8198dfd SHA1 aceeabc01355360866cb17811f4ad7e709498b80 SHA256 ec22413f8544c399241b9a7ca6d9c92c5414701ec1d7f536fdb8e6fe35717916 -AUX icu-3.8-setBreakType-public.diff 900 RMD160 ba2d421389829d25b04ae6debc8ad16f2f183ddf SHA1 692f373ea8e52189b7dfa60dd34805411488ef2b SHA256 b3f2b1651ae47ef9c0ba72712dc88d377ac92e6d3f1f621316aead217f4ee325 -AUX icu-gcc4.4.patch 342 RMD160 34cc03c8511b7d07b426cd33a4abd702cb86edfd SHA1 56cac9fd634515be41a4485fab6609749bff9076 SHA256 e073dfbb91c7e202d9f6b7befe6d450a01aa0b8e4d72a7e58bd081a3f6e0689f -DIST icu-3_8-userguide.zip 2611858 RMD160 8fa028c73aedb9ef5fe2ff895469088ee0a4b5af SHA1 de16e72a8f53da466223ea34fb7385fe52b06736 SHA256 c61a3c2c923e08b5e0ee544b5e417058e4566878f8144a745924c5693ca160bb -DIST icu4c-3_8-docs.zip 104108 RMD160 7b14e913a4c3dd4e09ffa0463b7354c116b84109 SHA1 9fae9a8b99be5e8ef4652147daddad6cb1a43d0f SHA256 bf4a40fcbfa4db18f54b22edc1886eb22a06588a7d0c30f8b20631c6652f7ce8 -DIST icu4c-3_8_1-src.tgz 10998841 RMD160 d297330ff0eb91bff5ac91e59188f1751f899032 SHA1 c2b933aee6741c28956f1b87dc514dee49b949aa SHA256 16dda09dff3f770e629313a4c50a82fee88baf87d89a3bb2a28806be07766cee -EBUILD icu-3.8.1-r1.ebuild 2240 RMD160 81c525cf8c03cf889122d1796015d8a541dc1951 SHA1 de5b3e560b317602f6f4e7c7a36dfb72d282d720 SHA256 1d1394dfe49c3c5c5de690ed424da523402b66a889206288e7c42fed27a6a419 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 545540a..0000000 --- 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= 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 3320b92..0000000 --- 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-gcc4.4.patch b/dev-libs/icu/files/icu-gcc4.4.patch deleted file mode 100644 index 86d0194..0000000 --- a/dev-libs/icu/files/icu-gcc4.4.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- source/layoutex/ParagraphLayout.cpp.orig 2009-02-26 22:03:12.000000000 +0800 -+++ source/layoutex/ParagraphLayout.cpp 2009-02-26 22:03:25.000000000 +0800 -@@ -813,7 +813,7 @@ - - return nullLanguageCode; - } --#elif -+#else - - // TODO - dummy implementation for right now... - le_int32 ParagraphLayout::getLanguageCode(const Locale *locale) diff --git a/dev-libs/icu/icu-3.8.1-r1.ebuild b/dev-libs/icu/icu-3.8.1-r1.ebuild deleted file mode 100644 index bd3ce81..0000000 --- a/dev-libs/icu/icu-3.8.1-r1.ebuild +++ /dev/null @@ -1,85 +0,0 @@ -# Copyright 1999-2008 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-libs/icu/icu-3.8.1-r1.ebuild,v 1.7 2008/12/07 12:06:07 vapier Exp $ - -inherit eutils versionator - -DESCRIPTION="International Components for Unicode" -HOMEPAGE="http://www.icu-project.org/ http://ibm.com/software/globalization/icu/" - -BASEURI="http://download.icu-project.org/files/${PN}4c/${PV}" -DOCS_PV="$(get_version_component_range 1-2)" -DOCS_BASEURI="http://download.icu-project.org/files/${PN}4c/${DOCS_PV}" -DOCS_PV="${DOCS_PV/./_}" -SRCPKG="${PN}4c-${PV//./_}-src.tgz" -USERGUIDE="${PN}-${DOCS_PV}-userguide.zip" -APIDOCS="${PN}4c-${DOCS_PV}-docs.zip" - -SRC_URI="${BASEURI}/${SRCPKG} - doc? ( ${DOCS_BASEURI}/${USERGUIDE} - ${DOCS_BASEURI}/${APIDOCS} )" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~x86-fbsd" -IUSE="debug doc examples" - -DEPEND="doc? ( app-arch/unzip )" -RDEPEND="" - -S=${WORKDIR}/${PN}/source - -src_unpack() { - unpack ${SRCPKG} - if use doc ; then - mkdir userguide - pushd ./userguide > /dev/null - unpack ${USERGUIDE} - popd - - mkdir apidocs - pushd ./apidocs > /dev/null - unpack ${APIDOCS} - popd - fi - - # See http://qa.openoffice.org/issues/show_bug.cgi?id=83146 - # and http://bugs.icu-project.org/trac/ticket/5498 for details - cd "${S}" - epatch "${FILESDIR}"/${PN}-3.8-setBreakType-public.diff - - # Bug 208001 - epatch "${FILESDIR}"/${PN}-3.8-regexp-CVE-2007-4770+4771.diff - - epatch "${FILESDIR}"/${PN}-gcc4.4.patch - - # do not hardcode used CFLAGS, LDFLAGS etc. into icu-config - # Bug 202059 - # http://bugs.icu-project.org/trac/ticket/6102 - for x in CFLAGS CXXFLAGS CPPFLAGS LDFLAGS ; do - sed -i -e "/^${x} =.*/s:@${x}@::" config/Makefile.inc.in || die "sed failed" - done -} - -src_compile() { - econf \ - --enable-static \ - $(use_enable debug) \ - $(use_enable examples samples) - - emake -j1 || die "emake failed" -} - -src_install() { - emake DESTDIR="${D}" install || die "emake install failed" - - dohtml ../readme.html - dodoc ../unicode-license.txt - if use doc ; then - insinto /usr/share/doc/${PF}/html/userguide - doins -r "${WORKDIR}"/userguide/* - - insinto /usr/share/doc/${PF}/html/apidocs - doins -r "${WORKDIR}"/apidocs/* - fi -} -- cgit v1.2.3-65-gdbad