- Fix build with new icu 61+

* libreoffice-icu61.patch

OBS-URL: https://build.opensuse.org/package/show/LibreOffice:Factory/libreoffice?expand=0&rev=648
This commit is contained in:
Tomáš Chvátal 2018-04-20 12:39:24 +00:00 committed by Git OBS Bridge
parent 4e506639ef
commit 83f43873fa
3 changed files with 102 additions and 0 deletions

93
libreoffice-icu61.patch Normal file
View File

@ -0,0 +1,93 @@
From f7961456d81c3ee6ee4c13eac9ef7add6c7ea6b5 Mon Sep 17 00:00:00 2001
From: Eike Rathke <erack@redhat.com>
Date: Mon, 18 Dec 2017 20:28:07 +0100
Subject: Explicitly qualify ICU types with icu:: namespace
It will be required by ICU 61 anyway, see
https://ssl.icu-project.org/repos/icu/trunk/icu4c/readme.html#RecBuild
Change-Id: I16b6bc8b8c49713f32424df5fc6db494df7b6892
Reviewed-on: https://gerrit.libreoffice.org/46738
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Eike Rathke <erack@redhat.com>
---
i18npool/source/collator/collator_unicode.cxx | 16 ++++++++--------
i18npool/source/collator/gencoll_rule.cxx | 2 +-
2 files changed, 9 insertions(+), 9 deletions(-)
(limited to 'i18npool/source/collator')
diff --git a/i18npool/source/collator/collator_unicode.cxx b/i18npool/source/collator/collator_unicode.cxx
index 71bc4ed..37dc7ee 100644
--- a/i18npool/source/collator/collator_unicode.cxx
+++ b/i18npool/source/collator/collator_unicode.cxx
@@ -138,7 +138,7 @@ Collator_Unicode::loadCollatorAlgorithm(const OUString& rAlgorithm, const lang::
UErrorCode status = U_ZERO_ERROR;
OUString rule = LocaleDataImpl::get()->getCollatorRuleByAlgorithm(rLocale, rAlgorithm);
if (!rule.isEmpty()) {
- collator = new RuleBasedCollator(reinterpret_cast<const UChar *>(rule.getStr()), status);
+ collator = new icu::RuleBasedCollator(reinterpret_cast<const UChar *>(rule.getStr()), status);
if (! U_SUCCESS(status)) throw RuntimeException();
}
if (!collator && OUString(LOCAL_RULE_LANGS).indexOf(rLocale.Language) >= 0) {
@@ -343,7 +343,7 @@ Collator_Unicode::loadCollatorAlgorithm(const OUString& rAlgorithm, const lang::
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);
+ uca_base = new icu::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
@@ -354,11 +354,11 @@ Collator_Unicode::loadCollatorAlgorithm(const OUString& rAlgorithm, const lang::
// The default collator of the en-US locale would also fulfill
// the requirement. The collator of the actual locale or the
// NULL (default) locale does not.
- uca_base = static_cast<RuleBasedCollator*>(icu::Collator::createInstance(
+ uca_base = static_cast<icu::RuleBasedCollator*>(icu::Collator::createInstance(
icu::Locale::getRoot(), status));
#endif
if (! U_SUCCESS(status)) throw RuntimeException();
- collator = new RuleBasedCollator(
+ collator = new icu::RuleBasedCollator(
reinterpret_cast<const uint8_t*>(ruleImage), ruleImageSize, uca_base, status);
if (! U_SUCCESS(status)) throw RuntimeException();
}
@@ -372,17 +372,17 @@ Collator_Unicode::loadCollatorAlgorithm(const OUString& rAlgorithm, const lang::
*/
icu::Locale icuLocale( LanguageTagIcu::getIcuLocale( LanguageTag( rLocale), rAlgorithm));
// load ICU collator
- collator = static_cast<RuleBasedCollator*>( icu::Collator::createInstance(icuLocale, status) );
+ collator = static_cast<icu::RuleBasedCollator*>( icu::Collator::createInstance(icuLocale, status) );
if (! U_SUCCESS(status)) throw RuntimeException();
}
}
if (options & CollatorOptions::CollatorOptions_IGNORE_CASE_ACCENT)
- collator->setStrength(Collator::PRIMARY);
+ collator->setStrength(icu::Collator::PRIMARY);
else if (options & CollatorOptions::CollatorOptions_IGNORE_CASE)
- collator->setStrength(Collator::SECONDARY);
+ collator->setStrength(icu::Collator::SECONDARY);
else
- collator->setStrength(Collator::TERTIARY);
+ collator->setStrength(icu::Collator::TERTIARY);
return 0;
}
diff --git a/i18npool/source/collator/gencoll_rule.cxx b/i18npool/source/collator/gencoll_rule.cxx
index 7d795b5..3048d12 100644
--- a/i18npool/source/collator/gencoll_rule.cxx
+++ b/i18npool/source/collator/gencoll_rule.cxx
@@ -113,7 +113,7 @@ SAL_IMPLEMENT_MAIN_WITH_ARGS(argc, argv)
//UCollator *coll = ucol_openRules(Obuf.getStr(), Obuf.getLength(), UCOL_OFF,
// UCOL_DEFAULT_STRENGTH, &parseError, &status);
- auto coll = o3tl::make_unique<RuleBasedCollator>(reinterpret_cast<const UChar *>(Obuf.getStr()), status);
+ auto coll = o3tl::make_unique<icu::RuleBasedCollator>(reinterpret_cast<const UChar *>(Obuf.getStr()), status);
if (U_SUCCESS(status)) {
std::vector<uint8_t> data;
--
cgit v1.1

View File

@ -1,3 +1,9 @@
-------------------------------------------------------------------
Fri Apr 20 12:39:00 UTC 2018 - tchvatal@suse.com
- Fix build with new icu 61+
* libreoffice-icu61.patch
-------------------------------------------------------------------
Fri Apr 20 08:52:11 UTC 2018 - tchvatal@suse.com

View File

@ -107,6 +107,8 @@ Patch5: 0001-Use-PYTHON_FOR_BUILD-instead-of-calling-python-direc.patch
Patch7: bnc1039203.patch
# LO-L3: Slide with chart has some strange (too large?) elements (PPTX)
Patch8: bnc1060128.patch
# PATCH-FROM-UPSTREAM fix build with new icu
Patch9: libreoffice-icu61.patch
# try to save space by using hardlinks
Patch990: install-with-hardlinks.diff
BuildRequires: %{name}-share-linker
@ -908,6 +910,7 @@ Provides additional %{langname} translations and resources for %{project}. \
%patch5 -p1
%patch7 -p1
%patch8 -p1
%patch9 -p1
%patch990 -p1
# Disable some of the failing tests (some are random)