From b92b053d67c95c1daa68dd2efcf35ae4b63a5cdf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= Date: Wed, 7 Sep 2011 10:39:00 +0100 Subject: [PATCH] bump icu --- icu.8320.freeserif.crash.patch | 62 ---------------------------------- icu.8800.freeserif.crash.patch | 14 ++++++++ icu.spec | 14 +++++--- 3 files changed, 23 insertions(+), 67 deletions(-) delete mode 100644 icu.8320.freeserif.crash.patch create mode 100644 icu.8800.freeserif.crash.patch diff --git a/icu.8320.freeserif.crash.patch b/icu.8320.freeserif.crash.patch deleted file mode 100644 index b2d8ebe..0000000 --- a/icu.8320.freeserif.crash.patch +++ /dev/null @@ -1,62 +0,0 @@ ---- icu/source/layout/LookupProcessor.h 2011-02-03 09:20:27.657005678 +0000 -+++ icu/source/layout/LookupProcessor.h 2011-02-03 09:25:34.498396208 +0000 -@@ -58,6 +58,7 @@ - const FeatureListTable *featureListTable; - - FeatureMask *lookupSelectArray; -+ le_uint32 lookupSelectCount; - - le_uint16 *lookupOrderArray; - le_uint32 lookupOrderCount; ---- icu/source/layout/LookupProcessor.cpp 2011-02-02 12:29:54.369077099 +0000 -+++ icu/source/layout/LookupProcessor.cpp 2011-02-02 12:31:54.215503036 +0000 -@@ -70,6 +70,10 @@ - - if (selectMask != 0) { - const LookupTable *lookupTable = lookupListTable->getLookupTable(lookup); -+ -+ if (!lookupTable) -+ continue; -+ - le_uint16 lookupFlags = SWAPW(lookupTable->lookupFlags); - - glyphIterator.reset(lookupFlags, selectMask); -@@ -111,6 +115,9 @@ - for (le_uint16 lookup = 0; lookup < lookupCount; lookup += 1) { - le_uint16 lookupListIndex = SWAPW(featureTable->lookupListIndexArray[lookup]); - -+ if (lookupListIndex >= lookupSelectCount) -+ continue; -+ - lookupSelectArray[lookupListIndex] |= featureMask; - lookupOrderArray[store++] = lookupListIndex; - } -@@ -122,7 +129,7 @@ - Offset scriptListOffset, Offset featureListOffset, Offset lookupListOffset, - LETag scriptTag, LETag languageTag, const FeatureMap *featureMap, le_int32 featureMapCount, le_bool orderFeatures, - LEErrorCode& success) -- : lookupListTable(NULL), featureListTable(NULL), lookupSelectArray(NULL), -+ : lookupListTable(NULL), featureListTable(NULL), lookupSelectArray(NULL), lookupSelectCount(0), - lookupOrderArray(NULL), lookupOrderCount(0) - { - const ScriptListTable *scriptListTable = NULL; -@@ -170,6 +177,8 @@ - lookupSelectArray[i] = 0; - } - -+ lookupSelectCount = lookupListCount; -+ - le_int32 count, order = 0; - le_int32 featureReferences = 0; - const FeatureTable *featureTable = NULL; -@@ -186,6 +195,10 @@ - le_uint16 featureIndex = SWAPW(langSysTable->featureIndexArray[feature]); - - featureTable = featureListTable->getFeatureTable(featureIndex, &featureTag); -+ -+ if (!featureTable) -+ continue; -+ - featureReferences += SWAPW(featureTable->lookupCount); - } - diff --git a/icu.8800.freeserif.crash.patch b/icu.8800.freeserif.crash.patch new file mode 100644 index 0000000..c2e0be6 --- /dev/null +++ b/icu.8800.freeserif.crash.patch @@ -0,0 +1,14 @@ +diff -urN icu.old/source/layout/LookupProcessor.cpp icu/source/layout/LookupProcessor.cpp +--- icu.old/source/layout/LookupProcessor.cpp 2011-09-05 18:35:11.221515458 +0200 ++++ icu/source/layout/LookupProcessor.cpp 2011-09-05 18:41:30.021510913 +0200 +@@ -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/icu.spec b/icu.spec index 162d221..73b7bba 100644 --- a/icu.spec +++ b/icu.spec @@ -1,17 +1,17 @@ Name: icu -Version: 4.6 -Release: 2%{?dist} +Version: 4.8.1 +Release: 1%{?dist} Summary: International Components for Unicode Group: Development/Tools License: MIT and UCD and Public Domain URL: http://www.icu-project.org/ -Source: http://download.icu-project.org/files/icu4c/4.6/icu4c-4_6-src.tgz +Source: http://download.icu-project.org/files/icu4c/4.8.1/icu4c-4_8_1-src.tgz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: doxygen, autoconf Requires: lib%{name} = %{version}-%{release} Patch1: icu.8198.revert.icu5431.patch -Patch2: icu.8320.freeserif.crash.patch +Patch2: icu.8800.freeserif.crash.patch %description Tools and utilities for developing with icu. @@ -52,7 +52,7 @@ BuildArch: noarch %prep %setup -q -n %{name} %patch1 -p2 -R -b .icu8198.revert.icu5431.patch -%patch2 -p1 -b .icu8320.freeserif.crash.patch +%patch2 -p1 -b .icu8800.freeserif.crash.patch %build cd source @@ -140,6 +140,10 @@ rm -rf $RPM_BUILD_ROOT %doc source/__docs/%{name}/html/* %changelog +* Wed Sep 07 2011 Caolán McNamara - 4.8.1-1 +- Resolves: rhbz#681941 don't link unneccessary -lm, etc. +- add icu.8800.freeserif.crash.patch + * Tue Mar 08 2011 Caolán McNamara - 4.6-2 - Resolves: rhbz#681941 don't link unneccessary -lm, etc.