Your message dated Sun, 23 Dec 2018 14:11:09 +0000
with message-id <e1gb4tf-000edx...@fasolo.debian.org>
and subject line Bug#913504: fixed in frog 0.15-1
has caused the Debian Bug report #913504,
regarding frog FTBFS with ICU 63.1
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
913504: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=913504
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Source: frog
Source-Version: 0.13.7-1
Severity: important
Tags: patch
Usertags: icu63

Dear Maintainer,

ICU 63.1 recently released, packaged and uploaded to experimental.
Its transition is going to start soon. However your package fails to
build with this version. I attach a patch which fixes the problem.
Please check if it works with the version in Sid and upload the
package when it's feasible for you.

Thanks,
Laszlo/GCS
Description: fix FTBFS with ICU 63.1
 Add icu namespace.
Author: Laszlo Boszormenyi (GCS) <gcs@debian.org>
Last-Update: 2018-11-09

---

--- frog-0.13.7.orig/include/frog/mblem_mod.h
+++ frog-0.13.7/include/frog/mblem_mod.h
@@ -52,7 +52,7 @@ class Mblem {
   bool init( const TiCC::Configuration& );
   void addDeclaration( folia::Document& doc ) const;
   void Classify( folia::Word * );
-  void Classify( const UnicodeString& );
+  void Classify( const icu::UnicodeString& );
   std::vector<std::pair<std::string,std::string> > getResult() const;
   void filterTag( const std::string&  );
   void makeUnique();
@@ -64,8 +64,8 @@ class Mblem {
   void create_MBlem_defaults();
   bool readsettings( const std::string& dir, const std::string& fname );
   void addLemma( folia::Word *, const std::string&) ;
-  std::string make_instance( const UnicodeString& in );
-  void getFoLiAResult( folia::Word *, const UnicodeString& );
+  std::string make_instance( const icu::UnicodeString& in );
+  void getFoLiAResult( folia::Word *, const icu::UnicodeString& );
   Timbl::TimblAPI *myLex;
   std::string punctuation;
   size_t history;
--- frog-0.13.7.orig/include/frog/mbma_brackets.h
+++ frog-0.13.7/include/frog/mbma_brackets.h
@@ -71,12 +71,12 @@ public:
 
   Status status() const { return _status; };
   void set_status( const Status s ) { _status = s; };
-  virtual UnicodeString morpheme() const { return "";};
+  virtual icu::UnicodeString morpheme() const { return "";};
   virtual std::string inflection() const { return ""; };
   virtual std::string original() const { return ""; };
   virtual int infixpos() const { return -1; };
   virtual bool isglue() const { return false; };
-  virtual UnicodeString put( bool = true ) const;
+  virtual icu::UnicodeString put( bool = true ) const;
   virtual BaseBracket *append( BaseBracket * ){ abort(); };
   virtual bool isNested() { return false; };
   virtual void resolveGlue(){ abort(); };
@@ -102,9 +102,9 @@ public:
 class BracketLeaf: public BaseBracket {
 public:
   BracketLeaf( const RulePart&, int, TiCC::LogStream& );
-  BracketLeaf( CLEX::Type, const UnicodeString&, int, TiCC::LogStream& );
-  UnicodeString put( bool = true ) const;
-  UnicodeString morpheme() const { return morph; };
+  BracketLeaf( CLEX::Type, const icu::UnicodeString&, int, TiCC::LogStream& );
+  icu::UnicodeString put( bool = true ) const;
+  icu::UnicodeString morpheme() const { return morph; };
   std::string inflection() const { return inflect; };
   std::string original() const { return orig; };
   int infixpos() const { return ifpos; };
@@ -115,7 +115,7 @@ public:
 private:
   int ifpos;
   bool glue;
-  UnicodeString morph;
+  icu::UnicodeString morph;
   std::string orig;
   std::string inflect;
 };
@@ -127,7 +127,7 @@ class BracketNest: public BaseBracket {
   ~BracketNest();
   bool isNested() { return true; };
   void clearEmptyNodes();
-  UnicodeString put( bool = true ) const;
+  icu::UnicodeString put( bool = true ) const;
   bool testMatch( std::list<BaseBracket*>& result,
 		  const std::list<BaseBracket*>::iterator& rpos,
 		  std::list<BaseBracket*>::iterator& bpos );
--- frog-0.13.7.orig/include/frog/mbma_mod.h
+++ frog-0.13.7/include/frog/mbma_mod.h
@@ -65,7 +65,7 @@ class Mbma {
   bool init( const TiCC::Configuration& );
   void addDeclaration( folia::Document& doc ) const;
   void Classify( folia::Word * );
-  void Classify( const UnicodeString& );
+  void Classify( const icu::UnicodeString& );
   void filterHeadTag( const std::string& );
   void filterSubTags( const std::vector<std::string>& );
   void assign_compounds();
@@ -73,8 +73,8 @@ class Mbma {
   std::vector<std::pair<std::string,std::string>> getResults( ) const;
   void setDeepMorph( bool b ){ doDeepMorph = b; };
   void clearAnalysis();
-  Rule* matchRule( const std::vector<std::string>&, const UnicodeString& );
-  std::vector<Rule*> execute( const UnicodeString& ,
+  Rule* matchRule( const std::vector<std::string>&, const icu::UnicodeString& );
+  std::vector<Rule*> execute( const icu::UnicodeString& ,
 			      const std::vector<std::string>& );
   static std::map<std::string,std::string> TAGconv;
   static std::string mbma_tagset;
@@ -85,10 +85,10 @@ class Mbma {
   bool readsettings( const std::string&, const std::string& );
   void fillMaps();
   void init_cgn( const std::string&, const std::string& );
-  Transliterator * init_trans();
-  UnicodeString filterDiacritics( const UnicodeString& ) const;
-  void getFoLiAResult( folia::Word *, const UnicodeString& ) const;
-  std::vector<std::string> make_instances( const UnicodeString& word );
+  icu::Transliterator * init_trans();
+  icu::UnicodeString filterDiacritics( const icu::UnicodeString& ) const;
+  void getFoLiAResult( folia::Word *, const icu::UnicodeString& ) const;
+  std::vector<std::string> make_instances( const icu::UnicodeString& word );
   CLEX::Type getFinalTag( const std::list<BaseBracket*>& );
   int debugFlag;
   void addMorph( folia::MorphologyLayer *,
@@ -105,7 +105,7 @@ class Mbma {
   std::vector<Rule*> analysis;
   std::string version;
   TiCC::LogStream *mbmaLog;
-  Transliterator *transliterator;
+  icu::Transliterator *transliterator;
   Tokenizer::UnicodeFilter *filter;
   bool doDeepMorph;
 };
--- frog-0.13.7.orig/include/frog/mbma_rule.h
+++ frog-0.13.7/include/frog/mbma_rule.h
@@ -43,11 +43,11 @@ public:
   void get_edits( const std::string& );
   CLEX::Type ResultClass;
   std::vector<CLEX::Type> RightHand;
-  UnicodeString ins;
-  UnicodeString del;
-  UnicodeString hide;
-  UnicodeString uchar;
-  UnicodeString morpheme;
+  icu::UnicodeString ins;
+  icu::UnicodeString del;
+  icu::UnicodeString hide;
+  icu::UnicodeString uchar;
+  icu::UnicodeString morpheme;
   std::string inflect;
   bool is_affix;
   bool is_glue;
@@ -62,13 +62,13 @@ class BracketNest;
 class Rule {
 public:
   Rule( const std::vector<std::string>&,
-	const UnicodeString&,
+	const icu::UnicodeString&,
 	TiCC::LogStream&,
 	int );
   ~Rule();
   std::vector<std::string> extract_morphemes() const;
   std::string morpheme_string( bool = false ) const;
-  UnicodeString getKey( bool );
+  icu::UnicodeString getKey( bool );
   bool performEdits();
   void getCleanInflect();
   void reduceZeroNodes();
@@ -77,8 +77,8 @@ public:
   std::vector<RulePart> rules;
   int debugFlag;
   CLEX::Type tag;
-  UnicodeString sortkey;
-  UnicodeString orig_word;
+  icu::UnicodeString sortkey;
+  icu::UnicodeString orig_word;
   std::string description;
   std::string inflection;
   Compound::Type compound;
--- frog-0.13.7.orig/src/Parser.cxx
+++ frog-0.13.7/src/Parser.cxx
@@ -822,7 +822,7 @@ parseData Parser::prepareParse( const ve
       string head;
       string mod;
       for ( const auto& mwu : mwuv ){
-	UnicodeString tmp;
+	icu::UnicodeString tmp;
 #pragma omp critical(foliaupdate)
 	{
 	  tmp = mwu->text();
@@ -853,7 +853,7 @@ parseData Parser::prepareParse( const ve
       i += mwuv.size()-1;
     }
     else {
-      UnicodeString tmp;
+      icu::UnicodeString tmp;
 #pragma omp critical(foliaupdate)
       {
 	tmp = word->text();
--- frog-0.13.7.orig/src/iob_tagger_mod.cxx
+++ frog-0.13.7/src/iob_tagger_mod.cxx
@@ -265,7 +265,7 @@ void IOBTagger::Classify( const vector<W
   if ( !swords.empty() ) {
     string sentence; // the tagger needs the whole sentence
     for ( const auto& sword : swords ){
-      UnicodeString word;
+      icu::UnicodeString word;
 #pragma omp critical(foliaupdate)
       {
 	word = sword->text();
--- frog-0.13.7.orig/src/mblem_mod.cxx
+++ frog-0.13.7/src/mblem_mod.cxx
@@ -169,11 +169,11 @@ Mblem::~Mblem(){
   delete mblemLog;
 }
 
-string Mblem::make_instance( const UnicodeString& in ) {
+string Mblem::make_instance( const icu::UnicodeString& in ) {
   if (debug) {
     LOG << "making instance from: " << in << endl;
   }
-  UnicodeString instance = "";
+  icu::UnicodeString instance = "";
   size_t length = in.length();
   for ( size_t i=0; i < history; i++) {
     size_t j = length - history + i;
@@ -266,7 +266,7 @@ void Mblem::makeUnique( ){
   }
 }
 
-void Mblem::getFoLiAResult( Word *word, const UnicodeString& uWord ){
+void Mblem::getFoLiAResult( Word *word, const icu::UnicodeString& uWord ){
   if ( mblemResult.empty() ){
     // just return the word as a lemma
     string result = UnicodeToUTF8( uWord );
@@ -294,7 +294,7 @@ void Mblem::addDeclaration( Document& do
 void Mblem::Classify( Word *sword ){
   if ( sword->isinstance(PlaceHolder_t ) )
     return;
-  UnicodeString uword;
+  icu::UnicodeString uword;
   string pos;
   string token_class;
 #pragma omp critical(foliaupdate)
@@ -322,7 +322,7 @@ void Mblem::Classify( Word *sword ){
     // we have to strip a few letters to get a lemma
     auto const& it2 = it1->second.find( token_class );
     if ( it2 != it1->second.end() ){
-      uword = UnicodeString( uword, 0, uword.length() - it2->second );
+      uword = icu::UnicodeString( uword, 0, uword.length() - it2->second );
       string word = UnicodeToUTF8(uword);
       addLemma( sword, word );
       return;
@@ -343,7 +343,7 @@ void Mblem::Classify( Word *sword ){
   getFoLiAResult( sword, uword );
 }
 
-void Mblem::Classify( const UnicodeString& uWord ){
+void Mblem::Classify( const icu::UnicodeString& uWord ){
   mblemResult.clear();
   string inst = make_instance(uWord);
   string classString;
@@ -360,7 +360,7 @@ void Mblem::Classify( const UnicodeStrin
   int index = 0;
   while ( index < numParts ) {
     string partS = parts[index++];
-    UnicodeString lemma;
+    icu::UnicodeString lemma;
     string restag;
     string::size_type pos = partS.find("+");
     if ( pos == string::npos ){
@@ -376,9 +376,9 @@ void Mblem::Classify( const UnicodeStrin
 	throw runtime_error( "invalid editstring: " + partS );
       restag = edits[0]; // the first one is the POS tag
 
-      UnicodeString insstr;
-      UnicodeString delstr;
-      UnicodeString prefix;
+      icu::UnicodeString insstr;
+      icu::UnicodeString delstr;
+      icu::UnicodeString prefix;
       for ( const auto& edit : edits ){
 	if ( edit == edits.front() ){
 	  continue;
@@ -422,7 +422,7 @@ void Mblem::Classify( const UnicodeStrin
 	LOG << "prefixpos = " << prefixpos << endl;
       }
       if (prefixpos >= 0) {
-	lemma = UnicodeString( uWord, 0L, prefixpos );
+	lemma = icu::UnicodeString( uWord, 0L, prefixpos );
 	prefixpos = prefixpos + prefix.length();
       }
       if (debug){
@@ -441,13 +441,13 @@ void Mblem::Classify( const UnicodeStrin
 	    lemma += uWord;
 	  }
 	  else {
-	    UnicodeString part = UnicodeString( uWord, prefixpos, uWord.length() - delstr.length() - prefixpos );
+	    icu::UnicodeString part = icu::UnicodeString( uWord, prefixpos, uWord.length() - delstr.length() - prefixpos );
 	    lemma += part + insstr;
 	  }
 	}
 	else if ( insstr.isEmpty() ){
 	  // no replacement, just take part after the prefix
-	  lemma += UnicodeString( uWord, prefixpos, uWord.length() ); // uWord;
+	  lemma += icu::UnicodeString( uWord, prefixpos, uWord.length() ); // uWord;
 	}
 	else {
 	  // but replace if possible
--- frog-0.13.7.orig/src/mblem_prog.cxx
+++ frog-0.13.7/src/mblem_prog.cxx
@@ -168,7 +168,7 @@ void Test( istream& in ){
       if ( useTagger ){
 	vector<TagResult> tagrv = tagger.tagLine( s );
 	for ( const auto& tr : tagrv ){
-	  UnicodeString uWord = folia::UTF8ToUnicode(tr.word());
+	  icu::UnicodeString uWord = folia::UTF8ToUnicode(tr.word());
 	  myMblem.Classify( uWord );
 	  myMblem.filterTag( tr.assignedTag() );
 	  vector<pair<string,string> > res = myMblem.getResult();
@@ -184,7 +184,7 @@ void Test( istream& in ){
 	vector<string> parts;
 	TiCC::split( s, parts );
 	for ( const auto& w : parts ){
-	  UnicodeString uWord = folia::UTF8ToUnicode(w);
+	  icu::UnicodeString uWord = folia::UTF8ToUnicode(w);
 	  myMblem.Classify( uWord );
 	  vector<pair<string,string> > res = myMblem.getResult();
 	  string line = w + "\t";
--- frog-0.13.7.orig/src/mbma_brackets.cxx
+++ frog-0.13.7/src/mbma_brackets.cxx
@@ -283,7 +283,7 @@ BracketLeaf::BracketLeaf( const RulePart
 }
 
 BracketLeaf::BracketLeaf( CLEX::Type t,
-			  const UnicodeString& us,
+			  const icu::UnicodeString& us,
 			  int flag,
 			  LogStream& l ):
   BaseBracket( t, vector<CLEX::Type>(), flag, l ),
@@ -314,17 +314,17 @@ BracketNest::~BracketNest(){
   }
 }
 
-UnicodeString BaseBracket::put( bool full ) const {
-  UnicodeString result = "[err?]";
+icu::UnicodeString BaseBracket::put( bool full ) const {
+  icu::UnicodeString result = "[err?]";
   if ( full ){
-    UnicodeString s = UTF8ToUnicode(toString(cls));
+    icu::UnicodeString s = UTF8ToUnicode(toString(cls));
     result += s;
   }
   return result;
 }
 
-UnicodeString BracketLeaf::put( bool full ) const {
-  UnicodeString result;
+icu::UnicodeString BracketLeaf::put( bool full ) const {
+  icu::UnicodeString result;
   if ( !morph.isEmpty() ){
     result += "[";
     result += morph;
@@ -341,10 +341,10 @@ UnicodeString BracketLeaf::put( bool ful
   return result;
 }
 
-UnicodeString BracketNest::put( bool full ) const {
-  UnicodeString result = "[ ";
+icu::UnicodeString BracketNest::put( bool full ) const {
+  icu::UnicodeString result = "[ ";
   for ( auto const& it : parts ){
-    UnicodeString m = it->put( full );
+    icu::UnicodeString m = it->put( full );
     if ( !m.isEmpty() ){
       result +=  m + " ";
     }
--- frog-0.13.7.orig/src/mbma_mod.cxx
+++ frog-0.13.7/src/mbma_mod.cxx
@@ -109,9 +109,9 @@ void Mbma::init_cgn( const string& main,
   }
 }
 
-Transliterator *Mbma::init_trans( ){
+icu::Transliterator *Mbma::init_trans( ){
   UErrorCode stat = U_ZERO_ERROR;
-  Transliterator *t = Transliterator::createInstance( "NFD; [:M:] Remove; NFC",
+  icu::Transliterator *t = icu::Transliterator::createInstance( "NFD; [:M:] Remove; NFC",
 						      UTRANS_FORWARD,
 						      stat );
   if ( U_FAILURE( stat ) ){
@@ -213,14 +213,14 @@ void Mbma::cleanUp(){
   clearAnalysis();
 }
 
-vector<string> Mbma::make_instances( const UnicodeString& word ){
+vector<string> Mbma::make_instances( const icu::UnicodeString& word ){
   vector<string> insts;
   insts.reserve( word.length() );
   for ( long i=0; i < word.length(); ++i ) {
     if (debugFlag > 10){
       LOG << "itt #:" << i << endl;
     }
-    UnicodeString inst;
+    icu::UnicodeString inst;
     for ( long j=i ; j <= i + RIGHT + LEFT; ++j ) {
       if (debugFlag > 10){
 	LOG << " " << j-LEFT << ": ";
@@ -308,7 +308,7 @@ void Mbma::clearAnalysis(){
 }
 
 Rule* Mbma::matchRule( const std::vector<std::string>& ana,
-		       const UnicodeString& word ){
+		       const icu::UnicodeString& word ){
   Rule *rule = new Rule( ana, word, *mbmaLog, debugFlag );
   if ( rule->performEdits() ){
     rule->reduceZeroNodes();
@@ -340,7 +340,7 @@ Rule* Mbma::matchRule( const std::vector
   }
 }
 
-vector<Rule*> Mbma::execute( const UnicodeString& word,
+vector<Rule*> Mbma::execute( const icu::UnicodeString& word,
 			     const vector<string>& classes ){
   vector<vector<string> > allParts = generate_all_perms( classes );
   if ( debugFlag ){
@@ -683,9 +683,9 @@ void Mbma::filterSubTags( const vector<s
   // we still might have doubles. (different Rule's yielding the same result)
   // reduce these
   //
-  map<UnicodeString, Rule*> unique;
+  map<icu::UnicodeString, Rule*> unique;
   for ( const auto& ait : highConf ){
-    UnicodeString tmp = ait->getKey( doDeepMorph );
+    icu::UnicodeString tmp = ait->getKey( doDeepMorph );
     unique[tmp] = ait;
   }
   // so now we have map of 'equal' analysis.
@@ -737,7 +737,7 @@ void Mbma::assign_compounds(){
   }
 }
 
-void Mbma::getFoLiAResult( Word *fword, const UnicodeString& uword ) const {
+void Mbma::getFoLiAResult( Word *fword, const icu::UnicodeString& uword ) const {
   if ( analysis.size() == 0 ){
     // fallback option: use the word and pretend it's a morpheme ;-)
     if ( debugFlag ){
@@ -779,9 +779,9 @@ void Mbma::addDeclaration( Document& doc
   }
 }
 
-UnicodeString Mbma::filterDiacritics( const UnicodeString& in ) const {
+icu::UnicodeString Mbma::filterDiacritics( const icu::UnicodeString& in ) const {
   if ( transliterator ){
-    UnicodeString result = in;
+    icu::UnicodeString result = in;
     transliterator->transliterate( result );
     return result;
   }
@@ -794,7 +794,7 @@ void Mbma::Classify( Word* sword ){
   if ( sword->isinstance(PlaceHolder_t) ){
     return;
   }
-  UnicodeString uWord;
+  icu::UnicodeString uWord;
   PosAnnotation *pos;
   string head;
   string token_class;
@@ -826,7 +826,7 @@ void Mbma::Classify( Word* sword ){
     }
   }
   else {
-    UnicodeString lWord = uWord;
+    icu::UnicodeString lWord = uWord;
     if ( head != "SPEC" ){
       lWord.toLower();
     }
@@ -846,9 +846,9 @@ void Mbma::Classify( Word* sword ){
   }
 }
 
-void Mbma::Classify( const UnicodeString& word ){
+void Mbma::Classify( const icu::UnicodeString& word ){
   clearAnalysis();
-  UnicodeString uWord = filterDiacritics( word );
+  icu::UnicodeString uWord = filterDiacritics( word );
   vector<string> insts = make_instances( uWord );
   vector<string> classes;
   classes.reserve( insts.size() );
--- frog-0.13.7.orig/src/mbma_prog.cxx
+++ frog-0.13.7/src/mbma_prog.cxx
@@ -187,7 +187,7 @@ void Test( istream& in ){
       if ( useTagger ){
 	vector<TagResult> tagv = tagger.tagLine( s );
 	for ( const auto& tr : tagv ){
-	  UnicodeString uWord = folia::UTF8ToUnicode( tr.word() );
+	  icu::UnicodeString uWord = folia::UTF8ToUnicode( tr.word() );
 	  vector<string> v;
 	  size_t num = TiCC::split_at_first_of( tr.assignedTag(),
 						v, "(,)" );
@@ -225,7 +225,7 @@ void Test( istream& in ){
 	vector<string> parts;
 	TiCC::split( s, parts );
 	for ( auto const& w : parts ){
-	  UnicodeString uWord = folia::UTF8ToUnicode(w);
+	  icu::UnicodeString uWord = folia::UTF8ToUnicode(w);
 	  uWord.toLower();
 	  myMbma.Classify( uWord );
 	  myMbma.assign_compounds();
--- frog-0.13.7.orig/src/mbma_rule.cxx
+++ frog-0.13.7/src/mbma_rule.cxx
@@ -236,7 +236,7 @@ RulePart::RulePart( const string& rs, co
 }
 
 Rule::Rule( const vector<string>& parts,
-	    const UnicodeString& s,
+	    const icu::UnicodeString& s,
 	    TiCC::LogStream& ls,
 	    int flag ):
   debugFlag( flag ),
@@ -301,7 +301,7 @@ vector<string> Rule::extract_morphemes(
   vector<string> morphemes;
   morphemes.reserve( rules.size() );
   for ( const auto& it : rules ){
-    UnicodeString morpheme = it.morpheme;
+    icu::UnicodeString morpheme = it.morpheme;
     if ( !morpheme.isEmpty() ){
       morphemes.push_back( UnicodeToUTF8(morpheme) );
     }
@@ -312,7 +312,7 @@ vector<string> Rule::extract_morphemes(
 string Rule::morpheme_string( bool structured ) const {
   string result;
   if ( structured ){
-    UnicodeString us = brackets->put(true);
+    icu::UnicodeString us = brackets->put(true);
     result = UnicodeToUTF8( us );
   }
   else {
@@ -343,7 +343,7 @@ bool Rule::performEdits(){
       for ( int j=0; j < cur->del.length(); ++j ){
 	if ( (k + j) < rules.size() ){
 	  if ( rules[k+j].uchar != cur->del[j] ){
-	    UnicodeString tmp(cur->del[j]);
+	    icu::UnicodeString tmp(cur->del[j]);
 	    LOG << "Hmm: deleting " << cur->del << " is impossible. ("
 			      << rules[k+j].uchar << " != " << tmp
 			      << ")." << endl;
@@ -352,7 +352,7 @@ bool Rule::performEdits(){
 	  }
 	}
 	else {
-	  UnicodeString tmp(cur->del[j]);
+	  icu::UnicodeString tmp(cur->del[j]);
 	  LOG << "Hmm: deleting " << cur->del
 			    << " is impossible. (beyond end of the rule)"
 			    << endl;
@@ -370,7 +370,7 @@ bool Rule::performEdits(){
     }
 
     bool inserted = false;
-    UnicodeString part; // store to-be-inserted particles here!
+    icu::UnicodeString part; // store to-be-inserted particles here!
     if ( !cur->hide.isEmpty() ){
       last->morpheme += cur->uchar; // add to prevvoius morheme
       cur->uchar = "";
@@ -490,10 +490,10 @@ void Rule::resolve_inflections(){
   }
 }
 
-UnicodeString Rule::getKey( bool deep ){
+icu::UnicodeString Rule::getKey( bool deep ){
   if ( deep ){
     if ( sortkey.isEmpty() ){
-      UnicodeString tmp;
+      icu::UnicodeString tmp;
       stringstream ss;
       ss << brackets << endl;
       tmp = UTF8ToUnicode(ss.str());
@@ -503,7 +503,7 @@ UnicodeString Rule::getKey( bool deep ){
   }
   else {
     vector<string> morphs = extract_morphemes();
-    UnicodeString tmp;
+    icu::UnicodeString tmp;
     // create an unique string
     for ( auto const& mor : morphs ){
       tmp += UTF8ToUnicode(mor) + "++";
--- frog-0.13.7.orig/src/mwu_chunker_mod.cxx
+++ frog-0.13.7/src/mwu_chunker_mod.cxx
@@ -116,7 +116,7 @@ void Mwu::reset(){
 }
 
 void Mwu::add( Word *word ){
-  UnicodeString tmp;
+  icu::UnicodeString tmp;
 #pragma omp critical(foliaupdate)
   {
     tmp = word->text();
--- frog-0.13.7.orig/src/ner_tagger_mod.cxx
+++ frog-0.13.7/src/ner_tagger_mod.cxx
@@ -404,7 +404,7 @@ void NERTagger::Classify( const vector<W
     vector<string> words;
     string sentence; // the tagger needs the whole sentence
     for ( const auto& sw : swords ){
-      UnicodeString word;
+      icu::UnicodeString word;
 #pragma omp critical(foliaupdate)
       {
 	word = sw->text();
--- frog-0.13.7.orig/src/pos_tagger_mod.cxx
+++ frog-0.13.7/src/pos_tagger_mod.cxx
@@ -250,7 +250,7 @@ void POSTagger::Classify( const vector<W
   if ( !swords.empty() ) {
     string sentence; // the tagger needs the whole sentence
     for ( size_t w = 0; w < swords.size(); ++w ) {
-      UnicodeString word;
+      icu::UnicodeString word;
 #pragma omp critical(foliaupdate)
       {
 	word = swords[w]->text();

--- End Message ---
--- Begin Message ---
Source: frog
Source-Version: 0.15-1

We believe that the bug you reported is fixed in the latest version of
frog, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 913...@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Maarten van Gompel <proy...@anaproy.nl> (supplier of updated frog package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmas...@ftp-master.debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 1.8
Date: Fri, 14 Dec 2018 20:44:32 +0100
Source: frog
Binary: frog libfrog-dev libfrog1
Architecture: source amd64
Version: 0.15-1
Distribution: unstable
Urgency: medium
Maintainer: Debian Science Team 
<debian-science-maintain...@lists.alioth.debian.org>
Changed-By: Maarten van Gompel <proy...@anaproy.nl>
Description:
 frog       - tagger and parser for natural languages (runtime)
 libfrog-dev - tagger and parser for natural languages (headers)
 libfrog1   - tagger and parser for Dutch language (library)
Closes: 913504 915272
Changes:
 frog (0.15-1) unstable; urgency=medium
 .
   * Updated to new upstream 0.15 (Closes: #915272)
     + Fixed FTBFS with ICU 63.1 (Closes: #913504)
   * d/control: priority optional, updated standards
   * d/control: updated dependencies
   * d/control: updated vcs-* urls to salsa
   * d/copyright: updates and fixes
   * d/compat: bumped to 11
   * Migrating away from cdbs
   * Added previously missing libfrog-dev package
     (see github issue: proycon/python-frog#6)
   * debian/control: Added CLST to package descriptions
   * debian/control: Removed Multi-Arch to prevent
     E: libfrog-dev:varch-dependent-file-not-in-arch-specific-directory
Checksums-Sha1:
 4d853c66158ede736f6225d64bbde22a78b7c02c 2259 frog_0.15-1.dsc
 707cb97a6b0ec52cc12f317c902d542518a84551 525975 frog_0.15.orig.tar.gz
 74cf8e4b3486ec2e7c7c5f3c3793d0e9f48d481a 6824 frog_0.15-1.debian.tar.xz
 c4539046f24cbee49d8c10f1972c322c77bdfbe3 1570752 frog-dbgsym_0.15-1_amd64.deb
 8e9b640d8700cbcb482084223046fe1c39dcb66c 6834 frog_0.15-1_amd64.buildinfo
 113683d8b658d2349555cd1d60b84bb87601f14b 96220 frog_0.15-1_amd64.deb
 c4a7e7c83b6af9d47d6b868d53a1be19b15fefb3 374224 libfrog-dev_0.15-1_amd64.deb
 0bc829e685bee592d87e4d27d25440d2f01ad361 6251352 
libfrog1-dbgsym_0.15-1_amd64.deb
 8779d972cd6b4d5e76a5e1db6b995dbb28be3599 291248 libfrog1_0.15-1_amd64.deb
Checksums-Sha256:
 98761c6aa88f2cdd624d99e7f88f293ede75e0e10f919b7a92bbe8bcea24fdee 2259 
frog_0.15-1.dsc
 c5d606f4f2b019bdff9179fd5e7e6e15c9b9da0f390fdf21d65bbed9f345b067 525975 
frog_0.15.orig.tar.gz
 088cb1e1af12a59219ce64d667b640153b1fe3a76d40f0ee4272f661077f91d0 6824 
frog_0.15-1.debian.tar.xz
 eaa41e54bcf9dbd0373b4a387609895e6ed10fc626c4edab0557ceb693a0528a 1570752 
frog-dbgsym_0.15-1_amd64.deb
 49ed2b660e69e40b16e7aaeabdaee757de0989a8391b08eb616441359d9feeec 6834 
frog_0.15-1_amd64.buildinfo
 5638d534d9f1c0c74b4b432b30e065a107290b83104803dfbe562c5fc77dd501 96220 
frog_0.15-1_amd64.deb
 0621381162cd4e86a4cb5a08f37f7691693cc6c867459d0afee8b1f00050de9f 374224 
libfrog-dev_0.15-1_amd64.deb
 f6f075f9cbeef1532b64a9eeef4fff42b34dc6a9fa263d6a05ce50fd7d711585 6251352 
libfrog1-dbgsym_0.15-1_amd64.deb
 953473f10a1be24d08a0dac6979c6e3ad8260ab6bae8756b97c2c962bacbf63b 291248 
libfrog1_0.15-1_amd64.deb
Files:
 9a1583ba8ce370affffa8911b56adf5c 2259 science optional frog_0.15-1.dsc
 abe5d98d362ff4139eba901f6e137c08 525975 science optional frog_0.15.orig.tar.gz
 ce4974c3d34ce302c260e21b99cded9c 6824 science optional 
frog_0.15-1.debian.tar.xz
 3f74c2e05d6c528fa55919082e457dd9 1570752 debug optional 
frog-dbgsym_0.15-1_amd64.deb
 662707cfc20337a60db8ff339731b95a 6834 science optional 
frog_0.15-1_amd64.buildinfo
 250146de9e59f562c69bb6b53b6ca88c 96220 science optional frog_0.15-1_amd64.deb
 1f17756370777d20f0ad16be2a4da45b 374224 libdevel optional 
libfrog-dev_0.15-1_amd64.deb
 df370a87d05496267692b40f2d67f072 6251352 debug optional 
libfrog1-dbgsym_0.15-1_amd64.deb
 7cba06a69303b82347e04f77a260f23f 291248 libs optional libfrog1_0.15-1_amd64.deb

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEU5UdlScuDFuCvoxKLOzpNQ7OvkoFAlwbX/AACgkQLOzpNQ7O
vkoE6g/6A/3LKE/S8NLsizhPrFJDROf33quNsfrcAqVcC18iAspZVGaC++T8sVdB
oqmc3jJHGNDBAbvu2B8z7EHcH4cD4+1io7Ka16XMbfUbF9oJE2DGGoithw1PDu8R
Jt363SUjNX3kL5zye6Olh1qHyNVaMlG8FcyAsnkPk2+vPqXTwtwOW12ShSCPJCIA
1frm1L2sThOr3Gy76BMli1h/sLG/74DKfBqG/6leKrh35qLVst0cgSG9c1fStzNd
17CxdlyuVOanlkBAjIqUGDrPhK6BElIGTiEwp5yw5xoR0bz+5J9sU7mr1DEJY99J
FjXYNlL8hcxsS0IipcX4FKzOt7YYdloxu+o1xoWWCimhlDPmQ3jFY5t2XRzDOUIf
Wc+VmKzSgKd3AduFqZ8O9RfVl2qbpFndawjdDrpRwx8cA2P76yh7pJAh1G9wRDBP
hJmCDi7qHSpdSfSKmdPvKwEK0yWqfWydfLN47Mjy473lYLv2Ongb6ZiUP9EaNHbt
BaXjW2wRaoll1YmgbZSvZ7FjgUJ5O4f01qk50w534MWTxfo3pAkPogFqu1dW5RV8
RxWATvbKyPW7dkaIVwJhaJUs5r2C9F4c+VFUMhibOqhzkLm9SDkgNr7iZBr+j4yk
OLNa1fdryODE0oNfDmRtdXaBSeYRKH2FifN91cnvfc94sXH+7xc=
=wExc
-----END PGP SIGNATURE-----

--- End Message ---

Reply via email to