From 3ddcd6a6a8ee6d4c8351e5d46a1434468321633a62a5e18702cbb196e6f9c75a Mon Sep 17 00:00:00 2001 From: Jan Engelhardt Date: Mon, 4 Jun 2018 08:03:11 +0000 Subject: [PATCH] - Add icu-susevers.diff and disable UTF-8 assumption [boo#1095425] OBS-URL: https://build.opensuse.org/package/show/X11:common:Factory/icu?expand=0&rev=89 --- baselibs.conf | 4 ++-- icu-susevers.diff | 40 ++++++++++++++++++++++++++++++++++++++++ icu.changes | 6 ++++++ icu.spec | 7 ++++--- 4 files changed, 52 insertions(+), 5 deletions(-) create mode 100644 icu-susevers.diff diff --git a/baselibs.conf b/baselibs.conf index 8d2fa93..2e8dd7a 100644 --- a/baselibs.conf +++ b/baselibs.conf @@ -1,4 +1,4 @@ -libicu61_1 +libicu-suse61_1 libicu-devel requires -libicu- - requires "libicu61_1- = " + requires "libicu-suse61_1- = " diff --git a/icu-susevers.diff b/icu-susevers.diff new file mode 100644 index 0000000..e7b2bf4 --- /dev/null +++ b/icu-susevers.diff @@ -0,0 +1,40 @@ +From: Jan Engelhardt +Date: 2018-06-04 09:47:12.535168981 +0200 +References: http://bugzilla.suse.com/show_bug.cgi?id=1095425 + +Because of bug #1095425, IS_UTF8=0 is wanted. Since that changes the C++ABI of +class UnicodeString, the library would become incompatible to a default build +that 3rd party programs might expect, and so we need to change the SO +identifier to something unique. + +--- + source/common/unicode/platform.h | 2 +- + source/icudefs.mk.in | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +Index: icu/source/common/unicode/platform.h +=================================================================== +--- icu.orig/source/common/unicode/platform.h ++++ icu/source/common/unicode/platform.h +@@ -632,7 +632,7 @@ namespace std { + #ifdef U_CHARSET_IS_UTF8 + /* Use the predefined value. */ + #elif U_PLATFORM_IS_LINUX_BASED || U_PLATFORM_IS_DARWIN_BASED +-# define U_CHARSET_IS_UTF8 1 ++# define U_CHARSET_IS_UTF8 0 + #else + # define U_CHARSET_IS_UTF8 0 + #endif +Index: icu/source/icudefs.mk.in +=================================================================== +--- icu.orig/source/icudefs.mk.in ++++ icu/source/icudefs.mk.in +@@ -41,7 +41,7 @@ PACKAGE_ICU_URL = "http://icu-project.or + PACKAGE = @PACKAGE@ + VERSION = @VERSION@ + UNICODE_VERSION = @UNICODE_VERSION@ +-SO_TARGET_VERSION = @LIB_VERSION@ ++SO_TARGET_VERSION = suse@LIB_VERSION@ + SO_TARGET_VERSION_MAJOR = @LIB_VERSION_MAJOR@ + + # The ICU data external name is usually icudata; the entry point name is diff --git a/icu.changes b/icu.changes index 019a6d6..9437fc1 100644 --- a/icu.changes +++ b/icu.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Mon Jun 4 07:53:56 UTC 2018 - jengelh@inai.de + +- Add icu-susevers.diff and disable UTF-8 assumption + [boo#1095425] + ------------------------------------------------------------------- Wed Apr 4 20:22:42 UTC 2018 - jengelh@inai.de diff --git a/icu.spec b/icu.spec index c8d2c48..6ea79f0 100644 --- a/icu.spec +++ b/icu.spec @@ -16,7 +16,7 @@ # -%define lname libicu61_1 +%define lname libicu-suse61_1 %define amajor 61 %define aversion 61_1 %ifarch %armb hppa mips mips64 ppc ppc64 %sparc s390 s390x m68k @@ -34,7 +34,8 @@ Url: http://icu-project.org/ Source: http://download.icu-project.org/files/icu4c/%version/icu4c-%aversion-src.tgz Source2: http://download.icu-project.org/files/icu4c/%version/icu4c-%aversion-docs.zip Source100: baselibs.conf -Patch3: icu-versioning.diff +Patch2: icu-versioning.diff +Patch3: icu-susevers.diff Patch4: icu-fix-install-mode-files.diff Patch6: icu-error-reporting.diff Patch7: icu-avoid-x87-excess-precision.diff @@ -139,7 +140,7 @@ This package contains the HTML documentation. %prep %setup -q -n icu -%patch -P 3 -P 4 -P 6 -P 7 -P 8 -P 9 -p1 +%patch -P 2 -P 3 -P 4 -P 6 -P 7 -P 8 -P 9 -p1 # docs are special mkdir html pushd html/