aboutsummaryrefslogtreecommitdiffstats
path: root/editors
diff options
context:
space:
mode:
authorjbeich <jbeich@FreeBSD.org>2016-11-15 23:29:15 +0800
committerjbeich <jbeich@FreeBSD.org>2016-11-15 23:29:15 +0800
commitbb366ff0d3d7864e59871efe85006cfba19696a1 (patch)
tree1f3a7ad258209fc84511e7d13273d87ac0f4c8a1 /editors
parent288b690e42346462fd054ae1b8ccd3909626e1e0 (diff)
downloadfreebsd-ports-gnome-bb366ff0d3d7864e59871efe85006cfba19696a1.tar.gz
freebsd-ports-gnome-bb366ff0d3d7864e59871efe85006cfba19696a1.tar.zst
freebsd-ports-gnome-bb366ff0d3d7864e59871efe85006cfba19696a1.zip
editors/libreoffice: unbreak against ICU 58.1
i18npool/source/breakiterator/breakiterator_unicode.cxx:69:13: error: 'setBreakType' is a private member of 'icu::RuleBasedBreakIterator' setBreakType(type); ^ /usr/local/include/unicode/rbbi.h:657:10: note: declared private here void setBreakType(int32_t type); ^ 1 error generated. PR: 214437 Obtained from: upstream Approved by: portmgr blanket
Diffstat (limited to 'editors')
-rw-r--r--editors/libreoffice/files/patch-i18npool_source_breakiterator_breakiterator__unicode.cxx42
-rw-r--r--editors/libreoffice4/files/patch-i18npool_source_breakiterator_breakiterator__unicode.cxx42
2 files changed, 84 insertions, 0 deletions
diff --git a/editors/libreoffice/files/patch-i18npool_source_breakiterator_breakiterator__unicode.cxx b/editors/libreoffice/files/patch-i18npool_source_breakiterator_breakiterator__unicode.cxx
new file mode 100644
index 000000000000..9b0e971d3443
--- /dev/null
+++ b/editors/libreoffice/files/patch-i18npool_source_breakiterator_breakiterator__unicode.cxx
@@ -0,0 +1,42 @@
+Minimal exceprt from upstream fix only to unbreak build
+
+https://cgit.freedesktop.org/libreoffice/core/commit/?id=3e42714c76b1347babfdea0564009d8d82a83af4
+
+--- i18npool/source/breakiterator/breakiterator_unicode.cxx.orig 2016-05-04 21:28:24 UTC
++++ i18npool/source/breakiterator/breakiterator_unicode.cxx
+@@ -64,10 +64,13 @@ BreakIterator_Unicode::~BreakIterator_Un
+ class OOoRuleBasedBreakIterator : public RuleBasedBreakIterator
+ {
+ public:
++#if (U_ICU_VERSION_MAJOR_NUM < 58)
++ // RuleBasedBreakIterator::setBreakType() is private as of ICU 58.
+ inline void publicSetBreakType(int32_t type)
+ {
+ setBreakType(type);
+ };
++#endif
+ OOoRuleBasedBreakIterator(UDataMemory* image,
+ UErrorCode &status)
+ : RuleBasedBreakIterator(image, status)
+@@ -143,12 +146,21 @@ void SAL_CALL BreakIterator_Unicode::loa
+ }
+ }
+ if (rbi) {
++#if (U_ICU_VERSION_MAJOR_NUM < 58)
++ // ICU 58 made RuleBasedBreakIterator::setBreakType() private
++ // instead of protected, so the old workaround of
++ // https://ssl.icu-project.org/trac/ticket/5498
++ // doesn't work anymore. However, they also claim to have fixed
++ // the cause that an initial fBreakType==-1 would lead to an
++ // endless loop under some circumstances.
++ // Let's see ...
+ switch (rBreakType) {
+ case LOAD_CHARACTER_BREAKITERATOR: rbi->publicSetBreakType(UBRK_CHARACTER); break;
+ case LOAD_WORD_BREAKITERATOR: rbi->publicSetBreakType(UBRK_WORD); break;
+ case LOAD_SENTENCE_BREAKITERATOR: rbi->publicSetBreakType(UBRK_SENTENCE); break;
+ case LOAD_LINE_BREAKITERATOR: rbi->publicSetBreakType(UBRK_LINE); break;
+ }
++#endif
+ icuBI->aBreakIterator = rbi;
+ }
+ }
diff --git a/editors/libreoffice4/files/patch-i18npool_source_breakiterator_breakiterator__unicode.cxx b/editors/libreoffice4/files/patch-i18npool_source_breakiterator_breakiterator__unicode.cxx
new file mode 100644
index 000000000000..2d1082bc42c5
--- /dev/null
+++ b/editors/libreoffice4/files/patch-i18npool_source_breakiterator_breakiterator__unicode.cxx
@@ -0,0 +1,42 @@
+Minimal exceprt from upstream fix only to unbreak build
+
+https://cgit.freedesktop.org/libreoffice/core/commit/?id=3e42714c76b1347babfdea0564009d8d82a83af4
+
+--- i18npool/source/breakiterator/breakiterator_unicode.cxx.orig 2015-04-20 19:36:29 UTC
++++ i18npool/source/breakiterator/breakiterator_unicode.cxx
+@@ -65,10 +65,13 @@ BreakIterator_Unicode::~BreakIterator_Un
+ class OOoRuleBasedBreakIterator : public RuleBasedBreakIterator
+ {
+ public:
++#if (U_ICU_VERSION_MAJOR_NUM < 58)
++ // RuleBasedBreakIterator::setBreakType() is private as of ICU 58.
+ inline void publicSetBreakType(int32_t type)
+ {
+ setBreakType(type);
+ };
++#endif
+ OOoRuleBasedBreakIterator(UDataMemory* image,
+ UErrorCode &status)
+ : RuleBasedBreakIterator(image, status)
+@@ -144,12 +147,21 @@ void SAL_CALL BreakIterator_Unicode::loa
+ }
+ }
+ if (rbi) {
++#if (U_ICU_VERSION_MAJOR_NUM < 58)
++ // ICU 58 made RuleBasedBreakIterator::setBreakType() private
++ // instead of protected, so the old workaround of
++ // https://ssl.icu-project.org/trac/ticket/5498
++ // doesn't work anymore. However, they also claim to have fixed
++ // the cause that an initial fBreakType==-1 would lead to an
++ // endless loop under some circumstances.
++ // Let's see ...
+ switch (rBreakType) {
+ case LOAD_CHARACTER_BREAKITERATOR: rbi->publicSetBreakType(UBRK_CHARACTER); break;
+ case LOAD_WORD_BREAKITERATOR: rbi->publicSetBreakType(UBRK_WORD); break;
+ case LOAD_SENTENCE_BREAKITERATOR: rbi->publicSetBreakType(UBRK_SENTENCE); break;
+ case LOAD_LINE_BREAKITERATOR: rbi->publicSetBreakType(UBRK_LINE); break;
+ }
++#endif
+ icuBI->aBreakIterator = rbi;
+ }
+ }