[libreoffice/f20] allow building with icu 4.2

Caolán McNamara caolanm at fedoraproject.org
Wed Jul 2 11:38:14 UTC 2014


commit 88981d305fa0a635f825c63ffa400047fea29cf3
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Wed Jul 2 12:38:21 2014 +0100

    allow building with icu 4.2

 0001-allow-build-with-icu-4.2.patch |   36 +++++++++++++++++++++++++++++++++++
 libreoffice.spec                    |    4 ++-
 2 files changed, 39 insertions(+), 1 deletions(-)
---
diff --git a/0001-allow-build-with-icu-4.2.patch b/0001-allow-build-with-icu-4.2.patch
new file mode 100644
index 0000000..8cd8a04
--- /dev/null
+++ b/0001-allow-build-with-icu-4.2.patch
@@ -0,0 +1,36 @@
+From 8180370d32d7a6af2b38ffb6bcfa614c1951434c Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm at redhat.com>
+Date: Wed, 2 Jul 2014 12:35:11 +0100
+Subject: [PATCH] allow build with icu 4.2
+
+Change-Id: I4bbcff7963520426d4c04e15d2239431aff65b56
+---
+ i18npool/source/collator/collator_unicode.cxx | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/i18npool/source/collator/collator_unicode.cxx b/i18npool/source/collator/collator_unicode.cxx
+index 42dfef3..35c237d 100644
+--- a/i18npool/source/collator/collator_unicode.cxx
++++ b/i18npool/source/collator/collator_unicode.cxx
+@@ -308,6 +308,10 @@ Collator_Unicode::loadCollatorAlgorithm(const OUString& rAlgorithm, const lang::
+             if (func && funclen) {
+                 const sal_uInt8* ruleImage=func();
+                 size_t ruleImageSize = funclen();
++
++#if (U_ICU_VERSION_MAJOR_NUM == 4) && (U_ICU_VERSION_MINOR_NUM <= 2)
++                uca_base = new RuleBasedCollator(static_cast<UChar*>(NULL), status);
++#else
+                 // Not only changed ICU 53.1 the API behavior that a negative
+                 // length (ruleImageSize) now leads to failure, but also that
+                 // the base RuleBasedCollator passed as uca_base here needs to
+@@ -319,6 +323,7 @@ Collator_Unicode::loadCollatorAlgorithm(const OUString& rAlgorithm, const lang::
+                 // NULL (default) locale does not.
+                 uca_base = static_cast<RuleBasedCollator*>(icu::Collator::createInstance(
+                             icu::Locale::getRoot(), status));
++#endif
+                 if (! U_SUCCESS(status)) throw RuntimeException();
+                 collator = new RuleBasedCollator(
+                         reinterpret_cast<const uint8_t*>(ruleImage), ruleImageSize, uca_base, status);
+-- 
+1.9.3
+
diff --git a/libreoffice.spec b/libreoffice.spec
index c49413b..f8361ff 100644
--- a/libreoffice.spec
+++ b/libreoffice.spec
@@ -300,6 +300,7 @@ Patch42: 0001-fix-detection-of-Salesforce-html.patch
 Patch43: 0001-Check-for-empty-before-calling-top.patch
 Patch44: 0002-Don-t-go-further-and-pop-the-stack-if-it-s-empty.patch
 Patch45: 0003-Use-a-new-fast-parser-instance-for-each-XML-fragment.patch
+Patch46: 0001-allow-build-with-icu-4.2.patch
 
 %define instdir %{_libdir}
 %define baseinstdir %{instdir}/libreoffice
@@ -2250,8 +2251,9 @@ update-desktop-database %{_datadir}/applications &> /dev/null || :
 %endif
 
 %changelog
-* Tue Jul 01 2014 Caolán McNamara <caolanm at redhat.com> - 1:4.2.5.2-3-UNBUILT
+* Wed Jul 02 2014 Caolán McNamara <caolanm at redhat.com> - 1:4.2.5.2-3-UNBUILT
 - Resolves: rhbz#1089207 crash in OOXML import
+- allow building with icu 4.2
 
 * Tue Jul 01 2014 Caolán McNamara <caolanm at redhat.com> - 1:4.2.5.2-2
 - fix detection of salesforce html pretending to be .xls by stripping


More information about the scm-commits mailing list