diff --git a/icu-remove-datetime.patch b/icu-remove-datetime.patch index c40075e..42b60b5 100644 --- a/icu-remove-datetime.patch +++ b/icu-remove-datetime.patch @@ -1,12 +1,16 @@ +--- + source/Makefile.in | 1 - + 1 file changed, 1 deletion(-) + Index: icu/source/Makefile.in =================================================================== --- icu.orig/source/Makefile.in +++ icu/source/Makefile.in -@@ -190,7 +190,6 @@ $(top_builddir)/config/icu-config: $(top +@@ -222,7 +222,6 @@ $(top_builddir)/config/icu-config: $(top 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 >> $@ cat $(top_srcdir)/config/icu-config-bottom >> $@ - echo "# Rebuilt on "`date` >> $@ chmod u-w $@ - config.status: $(srcdir)/configure $(srcdir)/common/unicode/uversion.h + config.status: $(srcdir)/configure $(srcdir)/common/unicode/uvernum.h diff --git a/icu.changes b/icu.changes index 65eabb2..300d1fa 100644 --- a/icu.changes +++ b/icu.changes @@ -1,3 +1,44 @@ +------------------------------------------------------------------- +Thu Jul 8 21:02:02 UTC 2010 - jengelh@medozas.de + +- Update to version 4.4.1 + + Common Changes + - Common Locale Data Repository (CLDR) 1.8.1 + - Enabled non-Gregorian calendars in DateIntervalFormat +- Changes from version 4.4: + + Common Changes + - Unicode 5.2 support. + - CLDR 1.8 data - over 22% more data, with many new locales. + - Normalizer2 - for fast, flexible normalization, paving the + way for UTS #46 support of international domain names. + - Optimized resource bundle format to reduce the ICU resource + bundle installation footprint. + - Hebrew calendar month numbering improvement. + - Finer granular ICU locale resource data packaging. + - SelectFormat - for selecting a translation by a keyword among + multiple alternatives when formatting messages. + - Flexible hour pattern handling in DateFormatPatternGenerator. + - Updated LMBCS converter implementation. + - EBCDIC converter enhancement for supporting various SI/SO + codes used by non-IBM mainframes. + - 64bit time zone transition data support. + + ICU4C Specific Changes + - Regular Expressions support UText - allowing regular + expressions to work on large or discontiguous text + (Technology Preview). + - DecimalFormat support for big decimal numbers. + - ICU Plug-ins - for packaging a specific ICU servce as plug-in + and calling different versions of plug-ins in a same + environment (Technology Preview). + - C++ public smart pointers. + - Java modified UTF-8 support. + - Improved UnicodeString substring operations. + - New usearch options to control matching of collation elements +- Use %_smp_mflags +- Add icu44-rpmlint.diff to fix some build errors. +- Add pkgdata.diff to help build on some architecture, see + http://bugs.icu-project.org/trac/ticket/6969#comment:19. + ------------------------------------------------------------------- Tue Apr 20 14:32:22 UTC 2010 - crrodriguez@opensuse.org diff --git a/icu.spec b/icu.spec index 512cd62..feb022a 100644 --- a/icu.spec +++ b/icu.spec @@ -1,5 +1,5 @@ # -# spec file for package icu (Version 4.2) +# spec file for package icu (Version 4.4.1) # # Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany. # @@ -22,13 +22,17 @@ Name: icu BuildRequires: gcc-c++ License: IBM PL Group: System/Libraries -Version: 4.2 -Release: 2 +Version: 4.4.1 +Release: 1 Requires: libicu = %{version} Url: http://ibm.com/software/globalization/icu -Source0: icu4c-4_2-src.tar.bz2 -Source1: icu4c-4_2-docs.tar.bz2 +Source0: icu4c-4_4_1-src.tar.bz2 +Source1: icu4c-4_4_1-docs.tar.bz2 Source3: SuSEconfig.icu +# PATCH-FIX-UPSTREAM pkgdata.diff -- http://bugs.icu-project.org/trac/ticket/6969#comment:19 +Patch0: pkgdata.diff +# PATCH-FIX-UPSTREAM icu44-rpmlint.diff -- http://bugs.icu-project.org/trac/ticket/7808 +Patch1: icu44-rpmlint.diff # PATCH-FIX-OPENSUSE icu-remove-datetime.patch vuntz@novell.com -- Do not put date/time in icu-config (needed for build-compare) Patch99: icu-remove-datetime.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build @@ -142,6 +146,8 @@ Authors: %prep %setup -q -n icu -a1 +%patch0 -p0 +%patch1 -p1 %patch99 -p1 %build @@ -154,7 +160,7 @@ export CXXFLAGS="$CXXFLAGS -DICU_DATA_DIR='/usr/share/icu/4.0/'" %configure --disable-static --with-pic\ --enable-shared \ --without-samples -%{__make} %{?jobs:-j%jobs} +%{__make} %{?_smp_mflags} %install find . -name CVS -type d | xargs rm -rf @@ -197,6 +203,7 @@ rm -rf $RPM_BUILD_ROOT %{_bindir}/gencnval %{_bindir}/genrb %{_bindir}/genctd +%{_bindir}/icuinfo %{_bindir}/makeconv %{_bindir}/pkgdata %{_bindir}/uconv diff --git a/icu44-rpmlint.diff b/icu44-rpmlint.diff new file mode 100644 index 0000000..76f5138 --- /dev/null +++ b/icu44-rpmlint.diff @@ -0,0 +1,46 @@ + +I: There are likely swapped arguments in a memset + Check that the function arguments match: memset(ptr,BYTEVALUE,LENGTH) +W: icu memset-with-zero-length decnumstr.cpp:73:58 + +I: Statement might be overflowing a buffer in strncat. Common mistake: + BAD: strncat(buffer,charptr,sizeof(buffer)) is wrong, it takes the left over size as 3rd argument + GOOD: strncat(buffer,charptr,sizeof(buffer)-strlen(buffer)-1) +E: icu bufferoverflowstrncat pkgdata.cpp:299:87 + +--- + source/i18n/decnumstr.cpp | 2 +- + source/tools/pkgdata/pkgdata.cpp | 6 +++--- + 2 files changed, 4 insertions(+), 4 deletions(-) + +Index: icu/source/i18n/decnumstr.cpp +=================================================================== +--- icu.orig/source/i18n/decnumstr.cpp ++++ icu/source/i18n/decnumstr.cpp +@@ -70,7 +70,7 @@ void DecimalNumberString::setLength(int3 + return; + } + if (length > fLength) { +- uprv_memset(&fText[fLength], length - fLength, 0); ++ uprv_memset(&fText[fLength], 0, length - fLength); + } + fLength = length; + fText[fLength] = 0; +Index: icu/source/tools/pkgdata/pkgdata.cpp +=================================================================== +--- icu.orig/source/tools/pkgdata/pkgdata.cpp ++++ icu/source/tools/pkgdata/pkgdata.cpp +@@ -1645,10 +1645,10 @@ static void loadLists(UPKGOptions *o, UE + const char cmd[] = "icu-config --incpkgdatafile"; + + /* #1 try the same path where pkgdata was called from. */ +- findDirname(progname, cmdBuf, 1024, &status); ++ findDirname(progname, cmdBuf, sizeof(cmdBuf), &status); + if(U_SUCCESS(status)) { +- uprv_strncat(cmdBuf, U_FILE_SEP_STRING, 1024); +- uprv_strncat(cmdBuf, cmd, 1024); ++ uprv_strncat(cmdBuf, U_FILE_SEP_STRING, sizeof(cmdBuf)-1-strlen(cmdBuf)); ++ uprv_strncat(cmdBuf, cmd, sizeof(cmdBuf)-1-strlen(cmdBuf)); + + if(verbose) { + fprintf(stdout, "# Calling icu-config: %s\n", cmdBuf); diff --git a/icu4c-4_2-docs.tar.bz2 b/icu4c-4_2-docs.tar.bz2 deleted file mode 100644 index 3265611..0000000 --- a/icu4c-4_2-docs.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7f6fd2306deea10fc2601cef1b64c1f6071eae4ecec6b66a9069b2bab4df6e31 -size 3029418 diff --git a/icu4c-4_2-src.tar.bz2 b/icu4c-4_2-src.tar.bz2 deleted file mode 100644 index b788b9e..0000000 --- a/icu4c-4_2-src.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f2b8a0f412cbb42140ee6b83a2c6ea71dbde23ca8199c9bbe3a2eda9d15eda39 -size 11545277 diff --git a/icu4c-4_4_1-docs.tar.bz2 b/icu4c-4_4_1-docs.tar.bz2 new file mode 100644 index 0000000..480ff66 --- /dev/null +++ b/icu4c-4_4_1-docs.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:82312b39ce3f5bd093c9a305f8b861216b11da13c363aab32e5fa8054a179df5 +size 2813272 diff --git a/icu4c-4_4_1-src.tar.bz2 b/icu4c-4_4_1-src.tar.bz2 new file mode 100644 index 0000000..4375f22 --- /dev/null +++ b/icu4c-4_4_1-src.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:160ec3cd8ca76f07f879768e98b0b45e0b4e2fb5dd449509f7743292b03f9a72 +size 11827977 diff --git a/pkgdata.diff b/pkgdata.diff new file mode 100644 index 0000000..edf1dcf --- /dev/null +++ b/pkgdata.diff @@ -0,0 +1,22 @@ +--- + source/tools/pkgdata/pkgdata.cpp | 7 +++++++ + 1 file changed, 7 insertions(+) + +Index: source/tools/pkgdata/pkgdata.cpp +=================================================================== +--- source/tools/pkgdata/pkgdata.cpp.orig ++++ source/tools/pkgdata/pkgdata.cpp +@@ -80,6 +80,13 @@ U_CDECL_END + #define USING_CYGWIN + #endif + ++// Temporary fix until http://bugs.icu-project.org/trac/ticket/6969 is ++// resolved. ++#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