Skip site navigation (1)Skip section navigation (2)
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>