[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