diff --git a/baselibs.conf b/baselibs.conf index ea99e62..8a9c557 100644 --- a/baselibs.conf +++ b/baselibs.conf @@ -1,4 +1,4 @@ -libicu58_2 +libicu59_1 libicu-devel requires -libicu- - requires "libicu58_2- = " + requires "libicu59_1- = " diff --git a/icu-avoid-x87-excess-precision.diff b/icu-avoid-x87-excess-precision.diff new file mode 100644 index 0000000..41bb668 --- /dev/null +++ b/icu-avoid-x87-excess-precision.diff @@ -0,0 +1,11 @@ +--- source/i18n/precision.cpp.orig 2017-05-17 11:05:56.517416029 +0000 ++++ source/i18n/precision.cpp 2017-05-17 11:05:22.700828110 +0000 +@@ -227,7 +227,7 @@ + } + // Try to find n such that value * 10^n is an integer + int32_t n = -1; +- double scaled; ++ volatile double scaled; // make sure scaled is in memory to avoid excess precision with x87 math + for (int32_t i = 0; i < UPRV_LENGTHOF(gPower10); ++i) { + scaled = value * gPower10[i]; + if (scaled > MAX_INT64_IN_DOUBLE || scaled < -MAX_INT64_IN_DOUBLE) { diff --git a/icu-error-reporting.diff b/icu-error-reporting.diff index 7b030cd..ca0430d 100644 --- a/icu-error-reporting.diff +++ b/icu-error-reporting.diff @@ -3,8 +3,8 @@ From: Jan Engelhardt Error messages are totally useless without the actual error cause! --- - source/tools/toolutil/package.cpp | 5 +++-- - source/tools/toolutil/writesrc.c | 6 ++++-- + source/tools/toolutil/package.cpp | 5 +++-- + source/tools/toolutil/writesrc.cpp | 6 ++++-- 2 files changed, 7 insertions(+), 4 deletions(-) Index: icu/source/tools/toolutil/package.cpp @@ -37,10 +37,10 @@ Index: icu/source/tools/toolutil/package.cpp exit(U_FILE_ACCESS_ERROR); } fileLength=(int32_t)fwrite(pItem->data, 1, pItem->length, file); -Index: icu/source/tools/toolutil/writesrc.c +Index: icu/source/tools/toolutil/writesrc.cpp =================================================================== ---- icu.orig/source/tools/toolutil/writesrc.c -+++ icu/source/tools/toolutil/writesrc.c +--- icu.orig/source/tools/toolutil/writesrc.cpp ++++ icu/source/tools/toolutil/writesrc.cpp @@ -18,7 +18,9 @@ * Helper functions for writing source code for data. */ diff --git a/icu-versioning.diff b/icu-versioning.diff index 8a05cb8..6cce15c 100644 --- a/icu-versioning.diff +++ b/icu-versioning.diff @@ -31,7 +31,6 @@ development seems to not pay enough attention. --- source/common/icuplug.cpp | 2 +- - source/common/umapfile.c | 6 +++--- source/common/unicode/utypes.h | 4 ++-- source/common/unicode/uvernum.h | 7 +++++-- source/config/mh-linux | 2 +- @@ -41,7 +40,7 @@ development seems to not pay enough attention. source/icudefs.mk.in | 1 + source/test/testdata/pkgdataMakefile.in | 1 + source/tools/pkgdata/pkgdata.cpp | 4 ++-- - 11 files changed, 19 insertions(+), 11 deletions(-) + 10 files changed, 16 insertions(+), 8 deletions(-) Index: icu/source/common/icuplug.cpp =================================================================== @@ -56,32 +55,6 @@ Index: icu/source/common/icuplug.cpp pluginFile.append(".txt", -1, *status); #endif -Index: icu/source/common/umapfile.c -=================================================================== ---- icu.orig/source/common/umapfile.c -+++ icu/source/common/umapfile.c -@@ -63,7 +63,7 @@ - # define LIB_PREFIX "lib" - # define LIB_SUFFIX ".dll" - /* This is inconvienient until we figure out what to do with U_ICUDATA_NAME in utypes.h */ --# define U_ICUDATA_ENTRY_NAME "icudt" U_ICU_VERSION_SHORT U_LIB_SUFFIX_C_NAME_STRING "_dat" -+# define U_ICUDATA_ENTRY_NAME "icudt" U_ICU_VERSION_MAJOR_STR U_LIB_SUFFIX_C_NAME_STRING "_dat" - # endif - #elif MAP_IMPLEMENTATION==MAP_STDIO - # include -@@ -416,10 +416,10 @@ - /* BUT FOR BATCH MODE IT IS AN EXCEPTION BECAUSE */ - /* THE FIRST THREE LETTERS ARE PREASSIGNED TO THE */ - /* PROJECT!!!!! */ -- uprv_strcpy(pathBuffer, "IXMI" U_ICU_VERSION_SHORT "DA"); -+ uprv_strcpy(pathBuffer, "IXMI" U_ICU_VERSION_MAJOR_STR "DA"); - # else - /* set up the library name */ -- uprv_strcpy(basename, LIB_PREFIX U_LIBICUDATA_NAME U_ICU_VERSION_SHORT LIB_SUFFIX); -+ uprv_strcpy(basename, LIB_PREFIX U_LIBICUDATA_NAME U_ICU_VERSION_MAJOR_STR LIB_SUFFIX); - # endif - - # ifdef UDATA_DEBUG Index: icu/source/common/unicode/utypes.h =================================================================== --- icu.orig/source/common/unicode/utypes.h @@ -105,8 +78,8 @@ Index: icu/source/common/unicode/uvernum.h @@ -59,6 +59,7 @@ * @stable ICU 2.4 */ - #define U_ICU_VERSION_MAJOR_NUM 58 -+#define U_ICU_VERSION_MAJOR_STR "58" + #define U_ICU_VERSION_MAJOR_NUM 59 ++#define U_ICU_VERSION_MAJOR_STR "59" /** The current ICU minor version as an integer. * This value will change in the subsequent releases of ICU @@ -114,22 +87,22 @@ Index: icu/source/common/unicode/uvernum.h * This value will change in the subsequent releases of ICU * @stable ICU 2.6 */ --#define U_ICU_VERSION_SUFFIX _58 +-#define U_ICU_VERSION_SUFFIX _59 +#define ___icu_version_expand(major, minor) _ ## major ## _ ## minor +#define ___icu_version_glue(major, minor) ___icu_version_expand(major, minor) +#define U_ICU_VERSION_SUFFIX ___icu_version_glue(U_ICU_VERSION_MAJOR_NUM, U_ICU_VERSION_MINOR_NUM) /** * \def U_DEF2_ICU_ENTRY_POINT_RENAME -@@ -125,7 +128,7 @@ - * This value will change in the subsequent releases of ICU +@@ -126,7 +129,7 @@ * @stable ICU 2.6 */ --#define U_ICU_VERSION_SHORT "58" -+#define U_ICU_VERSION_SHORT "58_2" - - #ifndef U_HIDE_INTERNAL_API - /** Data version in ICU4C. + #if U_PLATFORM_HAS_WINUWP_API == 0 +-#define U_ICU_VERSION_SHORT "59" ++#define U_ICU_VERSION_SHORT "59_1" + #else + // U_DISABLE_RENAMING does not impact dat file name + #define U_ICU_VERSION_SHORT Index: icu/source/config/mh-linux =================================================================== --- icu.orig/source/config/mh-linux @@ -183,7 +156,7 @@ Index: icu/source/icudefs.mk.in =================================================================== --- icu.orig/source/icudefs.mk.in +++ icu/source/icudefs.mk.in -@@ -198,6 +198,7 @@ LDLIBRARYPATH_ENVVAR = LD_LIBRARY_PATH +@@ -199,6 +199,7 @@ LDLIBRARYPATH_ENVVAR = LD_LIBRARY_PATH # Versioned target for a shared library. FINAL_SO_TARGET = $(SO_TARGET).$(SO_TARGET_VERSION) @@ -207,7 +180,7 @@ Index: icu/source/tools/pkgdata/pkgdata.cpp =================================================================== --- icu.orig/source/tools/pkgdata/pkgdata.cpp +++ icu/source/tools/pkgdata/pkgdata.cpp -@@ -1372,7 +1372,7 @@ static int32_t pkg_generateLibraryFile(c +@@ -1378,7 +1378,7 @@ static int32_t pkg_generateLibraryFile(c length = uprv_strlen(pkgDataFlags[GENLIB]) + uprv_strlen(pkgDataFlags[LDICUDTFLAGS]) + ((uprv_strlen(targetDir) + uprv_strlen(libFileNames[LIB_FILE_VERSION_TMP])) * 2) + uprv_strlen(objectFile) + uprv_strlen(pkgDataFlags[LD_SONAME]) + @@ -216,7 +189,7 @@ Index: icu/source/tools/pkgdata/pkgdata.cpp uprv_strlen(pkgDataFlags[RPATH_FLAGS]) + uprv_strlen(pkgDataFlags[BIR_FLAGS]) + BUFFER_PADDING_SIZE; #if U_PLATFORM == U_PF_CYGWIN length += uprv_strlen(targetDir) + uprv_strlen(libFileNames[LIB_FILE_CYGWIN_VERSION]); -@@ -1419,7 +1419,7 @@ static int32_t pkg_generateLibraryFile(c +@@ -1425,7 +1425,7 @@ static int32_t pkg_generateLibraryFile(c #endif objectFile, pkgDataFlags[LD_SONAME], diff --git a/icu.changes b/icu.changes index b5440c4..eb9b68a 100644 --- a/icu.changes +++ b/icu.changes @@ -1,3 +1,26 @@ +------------------------------------------------------------------- +Wed May 17 11:14:47 UTC 2017 - rguenther@suse.com + +- Add icu-avoid-x87-excess-precision.diff to avoid + FixedPrecision::initVisibleDigits failure on i586 with GCC 7. + (bnc#1030253) + +------------------------------------------------------------------- +Thu Apr 27 17:33:46 UTC 2017 - jengelh@inai.de + +- Update to new upstream release 59.1 + * Emoji 5.0 data + * CLDR 31.0.1 + ** GMT and UTC are no longer unified, and CLDR provides + distinct UTC display names, avoiding confusion with standard + (winter) time in Britain. + * New case mapping API (C++ & Java classes CaseMap) supports + styled text + * ICU4C now uses and requires C++11 language features and + libraries. + * ICU4C has also moved to char16_t as the type for UTF-16. This + is a breaking change. Please see the detail section below. + ------------------------------------------------------------------- Sat Dec 10 15:15:55 UTC 2016 - idonmez@suse.com diff --git a/icu.spec b/icu.spec index 8182788..4e7aa5a 100644 --- a/icu.spec +++ b/icu.spec @@ -1,7 +1,7 @@ # # spec file for package icu # -# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -16,19 +16,19 @@ # -%define lname libicu58_2 -%define amajor 58 -%define aversion 58_2 +%define lname libicu59_1 +%define amajor 59 +%define aversion 59_1 %ifarch %armb hppa mips mips64 ppc ppc64 %sparc s390 s390x m68k %define be_platform 1 %else %define be_platform 0 %endif Name: icu -Version: 58.2 +Version: 59.1 Release: 0 Summary: International Components for Unicode -License: MIT +License: ICU Group: Development/Libraries/C and C++ Url: http://icu-project.org/ Source: http://download.icu-project.org/files/icu4c/%version/icu4c-%aversion-src.tgz @@ -37,6 +37,7 @@ Source100: baselibs.conf Patch3: icu-versioning.diff Patch4: icu-fix-install-mode-files.diff Patch6: icu-error-reporting.diff +Patch7: icu-avoid-x87-excess-precision.diff BuildRequires: fdupes BuildRequires: gcc-c++ BuildRequires: pkg-config @@ -157,6 +158,7 @@ unzip %SOURCE2 cd .. %patch -P 3 -P 4 -P 6 -p1 +%patch7 %build cd source diff --git a/icu4c-58_2-docs.zip b/icu4c-58_2-docs.zip deleted file mode 100644 index 4e34080..0000000 --- a/icu4c-58_2-docs.zip +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:dc17983debc1f23f1bd1ac1ba053f2df5b07858f5af9bd48eeb3b8044c8d3146 -size 6831659 diff --git a/icu4c-58_2-src.tgz b/icu4c-58_2-src.tgz deleted file mode 100644 index 2298059..0000000 --- a/icu4c-58_2-src.tgz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2b0a4410153a9b20de0e20c7d8b66049a72aef244b53683d0d7521371683da0c -size 23369902 diff --git a/icu4c-59_1-docs.zip b/icu4c-59_1-docs.zip new file mode 100644 index 0000000..0345658 --- /dev/null +++ b/icu4c-59_1-docs.zip @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cd144b7da0c4a3155da080e970b7648a1e94eb185e7ec5f61ec4a773da44f554 +size 6913759 diff --git a/icu4c-59_1-src.tgz b/icu4c-59_1-src.tgz new file mode 100644 index 0000000..220a8ac --- /dev/null +++ b/icu4c-59_1-src.tgz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7132fdaf9379429d004005217f10e00b7d2319d0fea22bdfddef8991c45b75fe +size 22706578