Date: Tue, 15 Nov 2016 15:29:15 +0000 (UTC) From: Jan Beich <jbeich@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r426173 - in head/editors: libreoffice/files libreoffice4/files Message-ID: <201611151529.uAFFTFJX021331@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: jbeich Date: Tue Nov 15 15:29:15 2016 New Revision: 426173 URL: https://svnweb.freebsd.org/changeset/ports/426173 Log: 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 Added: head/editors/libreoffice/files/patch-i18npool_source_breakiterator_breakiterator__unicode.cxx (contents, props changed) head/editors/libreoffice4/files/patch-i18npool_source_breakiterator_breakiterator__unicode.cxx (contents, props changed) Added: head/editors/libreoffice/files/patch-i18npool_source_breakiterator_breakiterator__unicode.cxx ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/editors/libreoffice/files/patch-i18npool_source_breakiterator_breakiterator__unicode.cxx Tue Nov 15 15:29:15 2016 (r426173) @@ -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; + } + } Added: head/editors/libreoffice4/files/patch-i18npool_source_breakiterator_breakiterator__unicode.cxx ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/editors/libreoffice4/files/patch-i18npool_source_breakiterator_breakiterator__unicode.cxx Tue Nov 15 15:29:15 2016 (r426173) @@ -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; + } + }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201611151529.uAFFTFJX021331>