public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] proj/sci:master commit in: sci-misc/openfst/, sci-misc/openfst/files/
@ 2015-02-28 20:58 Justin Lecher
  0 siblings, 0 replies; 2+ messages in thread
From: Justin Lecher @ 2015-02-28 20:58 UTC (permalink / raw
  To: gentoo-commits

commit:     9f412ecfb867c63bf2b22c5649173226278a2ded
Author:     Pavel Denisov <pavel.a.denisov <AT> gmail <DOT> com>
AuthorDate: Sat Feb 28 19:26:08 2015 +0000
Commit:     Justin Lecher <jlec <AT> gentoo <DOT> org>
CommitDate: Sat Feb 28 19:26:08 2015 +0000
URL:        http://sources.gentoo.org/gitweb/?p=proj/sci.git;a=commit;h=9f412ecf

sci-misc/openfst: version bump

Package-Manager: portage-2.2.17

---
 sci-misc/openfst/ChangeLog                       |   8 +-
 sci-misc/openfst/files/kaldi-openfst-1.4.1.patch | 269 +++++++++++++++++++++++
 sci-misc/openfst/openfst-1.4.1.ebuild            |  19 ++
 3 files changed, 295 insertions(+), 1 deletion(-)

diff --git a/sci-misc/openfst/ChangeLog b/sci-misc/openfst/ChangeLog
index 47bb94e..4278e32 100644
--- a/sci-misc/openfst/ChangeLog
+++ b/sci-misc/openfst/ChangeLog
@@ -1,7 +1,13 @@
 # ChangeLog for sci-misc/openfst
-# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
+# Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
 # $Header: $
 
+*openfst-1.4.1 (28 Feb 2015)
+
+  28 Feb 2015; Pavel Denisov <pavel.a.denisov@gmail.com> +openfst-1.4.1.ebuild,
+  +files/kaldi-openfst-1.4.1.patch:
+  Version bump.
+
   12 Nov 2014; Justin Lecher <jlec@gentoo.org> -openfst-1.2.7.ebuild:
   Drop old
 

diff --git a/sci-misc/openfst/files/kaldi-openfst-1.4.1.patch b/sci-misc/openfst/files/kaldi-openfst-1.4.1.patch
new file mode 100644
index 0000000..140ea4e
--- /dev/null
+++ b/sci-misc/openfst/files/kaldi-openfst-1.4.1.patch
@@ -0,0 +1,269 @@
+diff -crB openfst-1.4.1.orig/src/include/fst/lock.h openfst-1.4.1/src/include/fst/lock.h
+*** openfst-1.4.1.orig/src/include/fst/lock.h	2012-04-25 19:43:47.000000000 -0400
+--- openfst-1.4.1/src/include/fst/lock.h	2015-02-28 14:12:29.009385600 -0400
+***************
+*** 78,85 ****
+    RefCounter() : count_(1) {}
+  
+    int count() const { return count_; }
+!   int Incr() const { return ++count_; }
+!   int Decr() const {  return --count_; }
+  
+   private:
+    mutable int count_;
+--- 78,93 ----
+    RefCounter() : count_(1) {}
+  
+    int count() const { return count_; }
+! 
+! // below lines are modifications of openfst for multi-thrads support,
+! // from tools/extras/openfst_gcc41up.patch, applied by tools/Makefile,
+! // applicable to gcc 4.1 or above
+!   // int Incr() const { return ++count_; }
+!   // int Decr() const {  return --count_; }
+! 
+!   int Incr() const { return __sync_add_and_fetch(&count_, 1); }
+!   int Decr() const { return __sync_sub_and_fetch(&count_, 1); }
+! // end modifications
+  
+   private:
+    mutable int count_;
+diff -crB openfst-1.4.1.orig/src/include/fst/minimize.h openfst-1.4.1/src/include/fst/minimize.h
+*** openfst-1.4.1.orig/src/include/fst/minimize.h	2014-04-29 18:15:17.000000000 -0400
+--- openfst-1.4.1/src/include/fst/minimize.h	2015-02-28 14:11:39.270566070 -0400
+***************
+*** 134,140 ****
+    typedef typename A::Weight Weight;
+    typedef ReverseArc<A> RevA;
+  
+!   CyclicMinimizer(const ExpandedFst<A>& fst) {
+      Initialize(fst);
+      Compute(fst);
+    }
+--- 134,147 ----
+    typedef typename A::Weight Weight;
+    typedef ReverseArc<A> RevA;
+  
+!   CyclicMinimizer(const ExpandedFst<A>& fst):
+!       // tell the Partition data-member to expect multiple repeated
+!       // calls to SplitOn with the same element if we are non-deterministic.
+!       P_(fst.Properties(kIDeterministic, true) == 0) {
+!     if(fst.Properties(kIDeterministic, true) == 0)
+!       CHECK(Weight::Properties() & kIdempotent); // this minimization
+!     // algorithm for non-deterministic FSTs can only work with idempotent
+!     // semirings.
+      Initialize(fst);
+      Compute(fst);
+    }
+***************
+*** 315,321 ****
+    typedef typename A::StateId ClassId;
+    typedef typename A::Weight Weight;
+  
+!   AcyclicMinimizer(const ExpandedFst<A>& fst) {
+      Initialize(fst);
+      Refine(fst);
+    }
+--- 322,334 ----
+    typedef typename A::StateId ClassId;
+    typedef typename A::Weight Weight;
+  
+!   AcyclicMinimizer(const ExpandedFst<A>& fst):
+!       // tell the Partition data-member to expect multiple repeated
+!       // calls to SplitOn with the same element if we are non-deterministic.
+!       partition_(fst.Properties(kIDeterministic, true) == 0) {
+!     if(fst.Properties(kIDeterministic, true) == 0)
+!       CHECK(Weight::Properties() & kIdempotent); // minimization for
+!     // non-deterministic FSTs can only work with idempotent semirings.
+      Initialize(fst);
+      Refine(fst);
+    }
+***************
+*** 531,543 ****
+  void Minimize(MutableFst<A>* fst,
+                MutableFst<A>* sfst = 0,
+                float delta = kDelta) {
+!   uint64 props = fst->Properties(kAcceptor | kIDeterministic|
+!                                  kWeighted | kUnweighted, true);
+!   if (!(props & kIDeterministic)) {
+!     FSTERROR() << "FST is not deterministic";
+!     fst->SetProperties(kError, kError);
+!     return;
+!   }
+  
+    if (!(props & kAcceptor)) {  // weighted transducer
+      VectorFst< GallicArc<A, GALLIC_LEFT> > gfst;
+--- 544,550 ----
+  void Minimize(MutableFst<A>* fst,
+                MutableFst<A>* sfst = 0,
+                float delta = kDelta) {
+!   uint64 props = fst->Properties(kAcceptor | kWeighted | kUnweighted, true);
+  
+    if (!(props & kAcceptor)) {  // weighted transducer
+      VectorFst< GallicArc<A, GALLIC_LEFT> > gfst;
+diff -crB openfst-1.4.1.orig/src/include/fst/partition.h openfst-1.4.1/src/include/fst/partition.h
+*** openfst-1.4.1.orig/src/include/fst/partition.h	2014-04-29 18:15:17.000000000 -0400
+--- openfst-1.4.1/src/include/fst/partition.h	2015-02-28 14:11:39.271566087 -0400
+***************
+*** 43,50 ****
+    friend class PartitionIterator<T>;
+  
+    struct Element {
+!    Element() : value(0), next(0), prev(0) {}
+!    Element(T v) : value(v), next(0), prev(0) {}
+  
+     T        value;
+     Element* next;
+--- 43,50 ----
+    friend class PartitionIterator<T>;
+  
+    struct Element {
+!     Element() : value(0), next(0), prev(0) {}
+!     Element(T v) : value(v), next(0), prev(0) {}
+  
+     T        value;
+     Element* next;
+***************
+*** 52,60 ****
+    };
+  
+   public:
+!   Partition() {}
+  
+!   Partition(T num_states) {
+      Initialize(num_states);
+    }
+  
+--- 52,62 ----
+    };
+  
+   public:
+!   Partition(bool allow_repeated_split):
+!       allow_repeated_split_(allow_repeated_split) {}
+  
+!   Partition(bool allow_repeated_split, T num_states):
+!       allow_repeated_split_(allow_repeated_split) {
+      Initialize(num_states);
+    }
+  
+***************
+*** 137,152 ****
+      if (class_size_[class_id] == 1) return;
+  
+      // first time class is split
+!     if (split_size_[class_id] == 0)
+        visited_classes_.push_back(class_id);
+! 
+      // increment size of split (set of element at head of chain)
+      split_size_[class_id]++;
+! 
+      // update split point
+!     if (class_split_[class_id] == 0)
+!       class_split_[class_id] = classes_[class_id];
+!     if (class_split_[class_id] == elements_[element_id])
+        class_split_[class_id] = elements_[element_id]->next;
+  
+      // move to head of chain in same class
+--- 139,154 ----
+      if (class_size_[class_id] == 1) return;
+  
+      // first time class is split
+!     if (split_size_[class_id] == 0) { 
+        visited_classes_.push_back(class_id);
+!       class_split_[class_id] = classes_[class_id];
+!     }
+      // increment size of split (set of element at head of chain)
+      split_size_[class_id]++;
+!     
+      // update split point
+!     if (class_split_[class_id] != 0
+!         && class_split_[class_id] == elements_[element_id])
+        class_split_[class_id] = elements_[element_id]->next;
+  
+      // move to head of chain in same class
+***************
+*** 157,165 ****
+    // class indices of the newly created class. Returns the new_class id
+    // or -1 if no new class was created.
+    T SplitRefine(T class_id) {
+      // only split if necessary
+!     if (class_size_[class_id] == split_size_[class_id]) {
+!       class_split_[class_id] = 0;
+        split_size_[class_id] = 0;
+        return -1;
+      } else {
+--- 159,169 ----
+    // class indices of the newly created class. Returns the new_class id
+    // or -1 if no new class was created.
+    T SplitRefine(T class_id) {
++ 
++     Element* split_el = class_split_[class_id];
+      // only split if necessary
+!     //if (class_size_[class_id] == split_size_[class_id]) {
+!     if(split_el == NULL) { // we split on everything...
+        split_size_[class_id] = 0;
+        return -1;
+      } else {
+***************
+*** 163,180 ****
+        split_size_[class_id] = 0;
+        return -1;
+      } else {
+- 
+        T new_class = AddClass();
+        size_t remainder = class_size_[class_id] - split_size_[class_id];
+        if (remainder < split_size_[class_id]) {  // add smaller
+-         Element* split_el   = class_split_[class_id];
+          classes_[new_class] = split_el;
+-         class_size_[class_id] = split_size_[class_id];
+-         class_size_[new_class] = remainder;
+          split_el->prev->next = 0;
+          split_el->prev = 0;
+        } else {
+-         Element* split_el   = class_split_[class_id];
+          classes_[new_class] = classes_[class_id];
+          class_size_[class_id] = remainder;
+          class_size_[new_class] = split_size_[class_id];
+--- 167,189 ----
+        split_size_[class_id] = 0;
+        return -1;
+      } else {
+        T new_class = AddClass();
++ 
++       if(allow_repeated_split_) { // split_size_ is possibly
++         // inaccurate, so work it out exactly.
++         size_t split_count;  Element *e;
++         for(split_count=0,e=classes_[class_id];
++             e != split_el; split_count++, e=e->next);
++         split_size_[class_id] = split_count;
++       }
+        size_t remainder = class_size_[class_id] - split_size_[class_id];
+        if (remainder < split_size_[class_id]) {  // add smaller
+          classes_[new_class] = split_el;
+          split_el->prev->next = 0;
+          split_el->prev = 0;
++         class_size_[class_id] = split_size_[class_id];
++         class_size_[new_class] = remainder;
+        } else {
+          classes_[new_class] = classes_[class_id];
+          class_size_[class_id] = remainder;
+          class_size_[new_class] = split_size_[class_id];
+***************
+*** 245,254 ****
+--- 254,269 ----
+    vector<T> class_size_;
+  
+    // size of split for each class
++   // in the nondeterministic case, split_size_ is actually an upper
++   // bound on the size of split for each class.
+    vector<T> split_size_;
+  
+    // set of visited classes to be used in split refine
+    vector<T> visited_classes_;
++ 
++   // true if input fst was deterministic: we can make
++   // certain assumptions in this case that speed up the algorithm.
++   bool allow_repeated_split_;
+  };
+  
+  

diff --git a/sci-misc/openfst/openfst-1.4.1.ebuild b/sci-misc/openfst/openfst-1.4.1.ebuild
new file mode 100644
index 0000000..a3eb530
--- /dev/null
+++ b/sci-misc/openfst/openfst-1.4.1.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI="5"
+
+inherit eutils
+
+DESCRIPTION="Finite State Transducer tools by Google et al."
+HOMEPAGE="http://www.openfst.org"
+SRC_URI="http://www.openfst.org/twiki/pub/FST/FstDownload/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+src_prepare() {
+	epatch "${FILESDIR}/kaldi-${P}.patch"
+}


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* [gentoo-commits] proj/sci:master commit in: sci-misc/openfst/, sci-misc/openfst/files/
@ 2023-09-20  7:21 Andrew Ammerlaan
  0 siblings, 0 replies; 2+ messages in thread
From: Andrew Ammerlaan @ 2023-09-20  7:21 UTC (permalink / raw
  To: gentoo-commits

commit:     6ca9a79d3ff0d2614f9d23c899175895f639accb
Author:     Tomás Carvalho <tomas <AT> thetimesweeper <DOT> com>
AuthorDate: Tue Sep 19 10:25:49 2023 +0000
Commit:     Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Wed Sep 20 07:05:24 2023 +0000
URL:        https://gitweb.gentoo.org/proj/sci.git/commit/?id=6ca9a79d

sci-misc/openfst: add 1.8.2, drop 1.8.1

Closes: https://github.com/gentoo/sci/pull/1218
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>

 sci-misc/openfst/files/kaldi-openfst-1.4.1.patch   | 269 ---------
 sci-misc/openfst/files/kaldi.patch                 | 599 ---------------------
 .../files/openfst-20080422_beta-gcc-4.3.patch      |  83 ---
 sci-misc/openfst/metadata.xml                      |   4 +
 .../{openfst-1.8.1.ebuild => openfst-1.8.2.ebuild} |   4 +-
 5 files changed, 6 insertions(+), 953 deletions(-)

diff --git a/sci-misc/openfst/files/kaldi-openfst-1.4.1.patch b/sci-misc/openfst/files/kaldi-openfst-1.4.1.patch
deleted file mode 100644
index 140ea4e24..000000000
--- a/sci-misc/openfst/files/kaldi-openfst-1.4.1.patch
+++ /dev/null
@@ -1,269 +0,0 @@
-diff -crB openfst-1.4.1.orig/src/include/fst/lock.h openfst-1.4.1/src/include/fst/lock.h
-*** openfst-1.4.1.orig/src/include/fst/lock.h	2012-04-25 19:43:47.000000000 -0400
---- openfst-1.4.1/src/include/fst/lock.h	2015-02-28 14:12:29.009385600 -0400
-***************
-*** 78,85 ****
-    RefCounter() : count_(1) {}
-  
-    int count() const { return count_; }
-!   int Incr() const { return ++count_; }
-!   int Decr() const {  return --count_; }
-  
-   private:
-    mutable int count_;
---- 78,93 ----
-    RefCounter() : count_(1) {}
-  
-    int count() const { return count_; }
-! 
-! // below lines are modifications of openfst for multi-thrads support,
-! // from tools/extras/openfst_gcc41up.patch, applied by tools/Makefile,
-! // applicable to gcc 4.1 or above
-!   // int Incr() const { return ++count_; }
-!   // int Decr() const {  return --count_; }
-! 
-!   int Incr() const { return __sync_add_and_fetch(&count_, 1); }
-!   int Decr() const { return __sync_sub_and_fetch(&count_, 1); }
-! // end modifications
-  
-   private:
-    mutable int count_;
-diff -crB openfst-1.4.1.orig/src/include/fst/minimize.h openfst-1.4.1/src/include/fst/minimize.h
-*** openfst-1.4.1.orig/src/include/fst/minimize.h	2014-04-29 18:15:17.000000000 -0400
---- openfst-1.4.1/src/include/fst/minimize.h	2015-02-28 14:11:39.270566070 -0400
-***************
-*** 134,140 ****
-    typedef typename A::Weight Weight;
-    typedef ReverseArc<A> RevA;
-  
-!   CyclicMinimizer(const ExpandedFst<A>& fst) {
-      Initialize(fst);
-      Compute(fst);
-    }
---- 134,147 ----
-    typedef typename A::Weight Weight;
-    typedef ReverseArc<A> RevA;
-  
-!   CyclicMinimizer(const ExpandedFst<A>& fst):
-!       // tell the Partition data-member to expect multiple repeated
-!       // calls to SplitOn with the same element if we are non-deterministic.
-!       P_(fst.Properties(kIDeterministic, true) == 0) {
-!     if(fst.Properties(kIDeterministic, true) == 0)
-!       CHECK(Weight::Properties() & kIdempotent); // this minimization
-!     // algorithm for non-deterministic FSTs can only work with idempotent
-!     // semirings.
-      Initialize(fst);
-      Compute(fst);
-    }
-***************
-*** 315,321 ****
-    typedef typename A::StateId ClassId;
-    typedef typename A::Weight Weight;
-  
-!   AcyclicMinimizer(const ExpandedFst<A>& fst) {
-      Initialize(fst);
-      Refine(fst);
-    }
---- 322,334 ----
-    typedef typename A::StateId ClassId;
-    typedef typename A::Weight Weight;
-  
-!   AcyclicMinimizer(const ExpandedFst<A>& fst):
-!       // tell the Partition data-member to expect multiple repeated
-!       // calls to SplitOn with the same element if we are non-deterministic.
-!       partition_(fst.Properties(kIDeterministic, true) == 0) {
-!     if(fst.Properties(kIDeterministic, true) == 0)
-!       CHECK(Weight::Properties() & kIdempotent); // minimization for
-!     // non-deterministic FSTs can only work with idempotent semirings.
-      Initialize(fst);
-      Refine(fst);
-    }
-***************
-*** 531,543 ****
-  void Minimize(MutableFst<A>* fst,
-                MutableFst<A>* sfst = 0,
-                float delta = kDelta) {
-!   uint64 props = fst->Properties(kAcceptor | kIDeterministic|
-!                                  kWeighted | kUnweighted, true);
-!   if (!(props & kIDeterministic)) {
-!     FSTERROR() << "FST is not deterministic";
-!     fst->SetProperties(kError, kError);
-!     return;
-!   }
-  
-    if (!(props & kAcceptor)) {  // weighted transducer
-      VectorFst< GallicArc<A, GALLIC_LEFT> > gfst;
---- 544,550 ----
-  void Minimize(MutableFst<A>* fst,
-                MutableFst<A>* sfst = 0,
-                float delta = kDelta) {
-!   uint64 props = fst->Properties(kAcceptor | kWeighted | kUnweighted, true);
-  
-    if (!(props & kAcceptor)) {  // weighted transducer
-      VectorFst< GallicArc<A, GALLIC_LEFT> > gfst;
-diff -crB openfst-1.4.1.orig/src/include/fst/partition.h openfst-1.4.1/src/include/fst/partition.h
-*** openfst-1.4.1.orig/src/include/fst/partition.h	2014-04-29 18:15:17.000000000 -0400
---- openfst-1.4.1/src/include/fst/partition.h	2015-02-28 14:11:39.271566087 -0400
-***************
-*** 43,50 ****
-    friend class PartitionIterator<T>;
-  
-    struct Element {
-!    Element() : value(0), next(0), prev(0) {}
-!    Element(T v) : value(v), next(0), prev(0) {}
-  
-     T        value;
-     Element* next;
---- 43,50 ----
-    friend class PartitionIterator<T>;
-  
-    struct Element {
-!     Element() : value(0), next(0), prev(0) {}
-!     Element(T v) : value(v), next(0), prev(0) {}
-  
-     T        value;
-     Element* next;
-***************
-*** 52,60 ****
-    };
-  
-   public:
-!   Partition() {}
-  
-!   Partition(T num_states) {
-      Initialize(num_states);
-    }
-  
---- 52,62 ----
-    };
-  
-   public:
-!   Partition(bool allow_repeated_split):
-!       allow_repeated_split_(allow_repeated_split) {}
-  
-!   Partition(bool allow_repeated_split, T num_states):
-!       allow_repeated_split_(allow_repeated_split) {
-      Initialize(num_states);
-    }
-  
-***************
-*** 137,152 ****
-      if (class_size_[class_id] == 1) return;
-  
-      // first time class is split
-!     if (split_size_[class_id] == 0)
-        visited_classes_.push_back(class_id);
-! 
-      // increment size of split (set of element at head of chain)
-      split_size_[class_id]++;
-! 
-      // update split point
-!     if (class_split_[class_id] == 0)
-!       class_split_[class_id] = classes_[class_id];
-!     if (class_split_[class_id] == elements_[element_id])
-        class_split_[class_id] = elements_[element_id]->next;
-  
-      // move to head of chain in same class
---- 139,154 ----
-      if (class_size_[class_id] == 1) return;
-  
-      // first time class is split
-!     if (split_size_[class_id] == 0) { 
-        visited_classes_.push_back(class_id);
-!       class_split_[class_id] = classes_[class_id];
-!     }
-      // increment size of split (set of element at head of chain)
-      split_size_[class_id]++;
-!     
-      // update split point
-!     if (class_split_[class_id] != 0
-!         && class_split_[class_id] == elements_[element_id])
-        class_split_[class_id] = elements_[element_id]->next;
-  
-      // move to head of chain in same class
-***************
-*** 157,165 ****
-    // class indices of the newly created class. Returns the new_class id
-    // or -1 if no new class was created.
-    T SplitRefine(T class_id) {
-      // only split if necessary
-!     if (class_size_[class_id] == split_size_[class_id]) {
-!       class_split_[class_id] = 0;
-        split_size_[class_id] = 0;
-        return -1;
-      } else {
---- 159,169 ----
-    // class indices of the newly created class. Returns the new_class id
-    // or -1 if no new class was created.
-    T SplitRefine(T class_id) {
-+ 
-+     Element* split_el = class_split_[class_id];
-      // only split if necessary
-!     //if (class_size_[class_id] == split_size_[class_id]) {
-!     if(split_el == NULL) { // we split on everything...
-        split_size_[class_id] = 0;
-        return -1;
-      } else {
-***************
-*** 163,180 ****
-        split_size_[class_id] = 0;
-        return -1;
-      } else {
-- 
-        T new_class = AddClass();
-        size_t remainder = class_size_[class_id] - split_size_[class_id];
-        if (remainder < split_size_[class_id]) {  // add smaller
--         Element* split_el   = class_split_[class_id];
-          classes_[new_class] = split_el;
--         class_size_[class_id] = split_size_[class_id];
--         class_size_[new_class] = remainder;
-          split_el->prev->next = 0;
-          split_el->prev = 0;
-        } else {
--         Element* split_el   = class_split_[class_id];
-          classes_[new_class] = classes_[class_id];
-          class_size_[class_id] = remainder;
-          class_size_[new_class] = split_size_[class_id];
---- 167,189 ----
-        split_size_[class_id] = 0;
-        return -1;
-      } else {
-        T new_class = AddClass();
-+ 
-+       if(allow_repeated_split_) { // split_size_ is possibly
-+         // inaccurate, so work it out exactly.
-+         size_t split_count;  Element *e;
-+         for(split_count=0,e=classes_[class_id];
-+             e != split_el; split_count++, e=e->next);
-+         split_size_[class_id] = split_count;
-+       }
-        size_t remainder = class_size_[class_id] - split_size_[class_id];
-        if (remainder < split_size_[class_id]) {  // add smaller
-          classes_[new_class] = split_el;
-          split_el->prev->next = 0;
-          split_el->prev = 0;
-+         class_size_[class_id] = split_size_[class_id];
-+         class_size_[new_class] = remainder;
-        } else {
-          classes_[new_class] = classes_[class_id];
-          class_size_[class_id] = remainder;
-          class_size_[new_class] = split_size_[class_id];
-***************
-*** 245,254 ****
---- 254,269 ----
-    vector<T> class_size_;
-  
-    // size of split for each class
-+   // in the nondeterministic case, split_size_ is actually an upper
-+   // bound on the size of split for each class.
-    vector<T> split_size_;
-  
-    // set of visited classes to be used in split refine
-    vector<T> visited_classes_;
-+ 
-+   // true if input fst was deterministic: we can make
-+   // certain assumptions in this case that speed up the algorithm.
-+   bool allow_repeated_split_;
-  };
-  
-  

diff --git a/sci-misc/openfst/files/kaldi.patch b/sci-misc/openfst/files/kaldi.patch
deleted file mode 100644
index 3a3854eff..000000000
--- a/sci-misc/openfst/files/kaldi.patch
+++ /dev/null
@@ -1,599 +0,0 @@
-diff -crB openfst-1.3.4.orig/src/include/fst/interval-set.h openfst-1.3.4/src/include/fst/interval-set.h
-*** openfst-1.3.4.orig/src/include/fst/interval-set.h	2013-01-24 06:36:23.000000000 +0400
---- openfst-1.3.4/src/include/fst/interval-set.h	2013-11-21 15:59:08.541136087 +0400
-***************
-*** 37,74 ****
-  class IntervalSet {
-   public:
-    struct Interval {
-!     T begin;
-!     T end;
-  
-!     Interval() : begin(-1), end(-1) {}
-  
-!     Interval(T b, T e) : begin(b), end(e) {}
-  
-      bool operator<(const Interval &i) const {
-!       return begin < i.begin || (begin == i.begin && end > i.end);
-      }
-  
-      bool operator==(const Interval &i) const {
-!       return begin == i.begin && end == i.end;
-      }
-  
-      bool operator!=(const Interval &i) const {
-!       return begin != i.begin || end != i.end;
-      }
-  
-      istream &Read(istream &strm) {
-        T n;
-        ReadType(strm, &n);
-!       begin = n;
-        ReadType(strm, &n);
-!       end = n;
-        return strm;
-      }
-  
-      ostream &Write(ostream &strm) const {
-!       T n = begin;
-        WriteType(strm, n);
-!       n = end;
-        WriteType(strm, n);
-        return strm;
-      }
---- 37,74 ----
-  class IntervalSet {
-   public:
-    struct Interval {
-!     T begin_;
-!     T end_;
-  
-!     Interval() : begin_(-1), end_(-1) {}
-  
-!     Interval(T b, T e) : begin_(b), end_(e) {}
-  
-      bool operator<(const Interval &i) const {
-!       return begin_ < i.begin_ || (begin_ == i.begin_ && end_ > i.end_);
-      }
-  
-      bool operator==(const Interval &i) const {
-!       return begin_ == i.begin_ && end_ == i.end_;
-      }
-  
-      bool operator!=(const Interval &i) const {
-!       return begin_ != i.begin_ || end_ != i.end_;
-      }
-  
-      istream &Read(istream &strm) {
-        T n;
-        ReadType(strm, &n);
-!       begin_ = n;
-        ReadType(strm, &n);
-!       end_ = n;
-        return strm;
-      }
-  
-      ostream &Write(ostream &strm) const {
-!       T n = begin_;
-        WriteType(strm, n);
-!       n = end_;
-        WriteType(strm, n);
-        return strm;
-      }
-***************
-*** 108,114 ****
-          lower_bound(intervals_.begin(), intervals_.end(), interval);
-      if (lb == intervals_.begin())
-        return false;
-!     return (--lb)->end > value;
-    }
-  
-    // Requires intervals be normalized.
---- 108,114 ----
-          lower_bound(intervals_.begin(), intervals_.end(), interval);
-      if (lb == intervals_.begin())
-        return false;
-!     return (--lb)->end_ > value;
-    }
-  
-    // Requires intervals be normalized.
-***************
-*** 123,129 ****
-  
-    bool Singleton() const {
-      return intervals_.size() == 1 &&
-!         intervals_[0].begin + 1 == intervals_[0].end;
-    }
-  
-  
---- 123,129 ----
-  
-    bool Singleton() const {
-      return intervals_.size() == 1 &&
-!         intervals_[0].begin_ + 1 == intervals_[0].end_;
-    }
-  
-  
-***************
-*** 178,194 ****
-    T size = 0;
-    for (T i = 0; i < intervals_.size(); ++i) {
-      Interval &inti = intervals_[i];
-!     if (inti.begin == inti.end)
-        continue;
-      for (T j = i + 1; j < intervals_.size(); ++j) {
-        Interval &intj = intervals_[j];
-!       if (intj.begin > inti.end)
-          break;
-!       if (intj.end > inti.end)
-!         inti.end = intj.end;
-        ++i;
-      }
-!     count_ += inti.end - inti.begin;
-      intervals_[size++] = inti;
-    }
-    intervals_.resize(size);
---- 178,194 ----
-    T size = 0;
-    for (T i = 0; i < intervals_.size(); ++i) {
-      Interval &inti = intervals_[i];
-!     if (inti.begin_ == inti.end_)
-        continue;
-      for (T j = i + 1; j < intervals_.size(); ++j) {
-        Interval &intj = intervals_[j];
-!       if (intj.begin_ > inti.end_)
-          break;
-!       if (intj.end_ > inti.end_)
-!         inti.end_ = intj.end_;
-        ++i;
-      }
-!     count_ += inti.end_ - inti.begin_;
-      intervals_[size++] = inti;
-    }
-    intervals_.resize(size);
-***************
-*** 208,224 ****
-    oset->count_ = 0;
-  
-    while (it1 != intervals_.end() && it2 != iintervals->end()) {
-!     if (it1->end <= it2->begin) {
-        ++it1;
-!     } else if (it2->end <= it1->begin) {
-        ++it2;
-      } else {
-        Interval interval;
-!       interval.begin = max(it1->begin, it2->begin);
-!       interval.end = min(it1->end, it2->end);
-        ointervals->push_back(interval);
-!       oset->count_ += interval.end - interval.begin;
-!       if (it1->end < it2->end)
-          ++it1;
-        else
-          ++it2;
---- 208,224 ----
-    oset->count_ = 0;
-  
-    while (it1 != intervals_.end() && it2 != iintervals->end()) {
-!     if (it1->end_ <= it2->begin_) {
-        ++it1;
-!     } else if (it2->end_ <= it1->begin_) {
-        ++it2;
-      } else {
-        Interval interval;
-!       interval.begin_ = max(it1->begin_, it2->begin_);
-!       interval.end_ = min(it1->end_, it2->end_);
-        ointervals->push_back(interval);
-!       oset->count_ += interval.end_ - interval.begin_;
-!       if (it1->end_ < it2->end_)
-          ++it1;
-        else
-          ++it2;
-***************
-*** 235,255 ****
-    oset->count_ = 0;
-  
-    Interval interval;
-!   interval.begin = 0;
-    for (typename vector<Interval>::const_iterator it = intervals_.begin();
-         it != intervals_.end();
-         ++it) {
-!     interval.end = min(it->begin, maxval);
-!     if (interval.begin < interval.end) {
-        ointervals->push_back(interval);
-!       oset->count_ += interval.end - interval.begin;
-      }
-!     interval.begin = it->end;
-    }
-!   interval.end = maxval;
-!   if (interval.begin < interval.end) {
-      ointervals->push_back(interval);
-!     oset->count_ += interval.end - interval.begin;
-    }
-  }
-  
---- 235,255 ----
-    oset->count_ = 0;
-  
-    Interval interval;
-!   interval.begin_ = 0;
-    for (typename vector<Interval>::const_iterator it = intervals_.begin();
-         it != intervals_.end();
-         ++it) {
-!     interval.end_ = min(it->begin_, maxval);
-!     if (interval.begin_ < interval.end_) {
-        ointervals->push_back(interval);
-!       oset->count_ += interval.end_ - interval.begin_;
-      }
-!     interval.begin_ = it->end_;
-    }
-!   interval.end_ = maxval;
-!   if (interval.begin_ < interval.end_) {
-      ointervals->push_back(interval);
-!     oset->count_ += interval.end_ - interval.begin_;
-    }
-  }
-  
-***************
-*** 263,269 ****
-      oset->count_ = 0;
-    } else {
-      IntervalSet<T> cset;
-!     iset.Complement(intervals_.back().end, &cset);
-      Intersect(cset, oset);
-    }
-  }
---- 263,269 ----
-      oset->count_ = 0;
-    } else {
-      IntervalSet<T> cset;
-!     iset.Complement(intervals_.back().end_, &cset);
-      Intersect(cset, oset);
-    }
-  }
-***************
-*** 277,285 ****
-    typename vector<Interval>::const_iterator it2 = intervals->begin();
-  
-    while (it1 != intervals_.end() && it2 != intervals->end()) {
-!     if (it1->end <= it2->begin) {
-        ++it1;
-!     } else if (it2->end <= it1->begin) {
-        ++it2;
-      } else {
-        return true;
---- 277,285 ----
-    typename vector<Interval>::const_iterator it2 = intervals->begin();
-  
-    while (it1 != intervals_.end() && it2 != intervals->end()) {
-!     if (it1->end_ <= it2->begin_) {
-        ++it1;
-!     } else if (it2->end_ <= it1->begin_) {
-        ++it2;
-      } else {
-        return true;
-***************
-*** 300,320 ****
-    bool overlap = false; // point in both intervals_ and intervals
-  
-    while (it1 != intervals_.end() && it2 != intervals->end()) {
-!     if (it1->end <= it2->begin) {  // no overlap - it1 first
-        only1 = true;
-        ++it1;
-!     } else if (it2->end <= it1->begin) {  // no overlap - it2 first
-        only2 = true;
-        ++it2;
-!     } else if (it2->begin == it1->begin && it2->end == it1->end) {  // equals
-        overlap = true;
-        ++it1;
-        ++it2;
-!     } else if (it2->begin <= it1->begin && it2->end >= it1->end) {  // 1 c 2
-        only2 = true;
-        overlap = true;
-        ++it1;
-!     } else if (it1->begin <= it2->begin && it1->end >= it2->end) {  // 2 c 1
-        only1 = true;
-        overlap = true;
-        ++it2;
---- 300,320 ----
-    bool overlap = false; // point in both intervals_ and intervals
-  
-    while (it1 != intervals_.end() && it2 != intervals->end()) {
-!     if (it1->end_ <= it2->begin_) {  // no overlap - it1 first
-        only1 = true;
-        ++it1;
-!     } else if (it2->end_ <= it1->begin_) {  // no overlap - it2 first
-        only2 = true;
-        ++it2;
-!     } else if (it2->begin_ == it1->begin_ && it2->end_ == it1->end_) {  // equals
-        overlap = true;
-        ++it1;
-        ++it2;
-!     } else if (it2->begin_ <= it1->begin_ && it2->end_ >= it1->end_) {  // 1 c 2
-        only2 = true;
-        overlap = true;
-        ++it1;
-!     } else if (it1->begin_ <= it2->begin_ && it1->end_ >= it2->end_) {  // 2 c 1
-        only1 = true;
-        overlap = true;
-        ++it2;
-***************
-*** 346,356 ****
-    typename vector<Interval>::const_iterator it2 = intervals->begin();
-  
-    while (it1 != intervals_.end() && it2 != intervals->end()) {
-!     if (it1->end <= it2->begin) {  // no overlap - it1 first
-        ++it1;
-!     } else if (it2->begin < it1->begin || it2->end > it1->end) {  // no C
-        return false;
-!     } else if (it2->end == it1->end) {
-        ++it1;
-        ++it2;
-      } else {
---- 346,356 ----
-    typename vector<Interval>::const_iterator it2 = intervals->begin();
-  
-    while (it1 != intervals_.end() && it2 != intervals->end()) {
-!     if (it1->end_ <= it2->begin_) {  // no overlap - it1 first
-        ++it1;
-!     } else if (it2->begin_ < it1->begin_ || it2->end_ > it1->end_) {  // no C
-        return false;
-!     } else if (it2->end_ == it1->end_) {
-        ++it1;
-        ++it2;
-      } else {
-***************
-*** 370,376 ****
-         ++it) {
-      if (it != intervals->begin())
-        strm << ",";
-!     strm << "[" << it->begin << "," << it->end << ")";
-    }
-    strm << "}";
-    return strm;
---- 370,376 ----
-         ++it) {
-      if (it != intervals->begin())
-        strm << ",";
-!     strm << "[" << it->begin_ << "," << it->end_ << ")";
-    }
-    strm << "}";
-    return strm;
-diff -crB openfst-1.3.4.orig/src/include/fst/minimize.h openfst-1.3.4/src/include/fst/minimize.h
-*** openfst-1.3.4.orig/src/include/fst/minimize.h	2013-01-24 06:36:23.000000000 +0400
---- openfst-1.3.4/src/include/fst/minimize.h	2013-11-21 15:59:08.539136087 +0400
-***************
-*** 134,140 ****
-    typedef typename A::Weight Weight;
-    typedef ReverseArc<A> RevA;
-  
-!   CyclicMinimizer(const ExpandedFst<A>& fst) {
-      Initialize(fst);
-      Compute(fst);
-    }
---- 134,147 ----
-    typedef typename A::Weight Weight;
-    typedef ReverseArc<A> RevA;
-  
-!   CyclicMinimizer(const ExpandedFst<A>& fst):
-!       // tell the Partition data-member to expect multiple repeated
-!       // calls to SplitOn with the same element if we are non-deterministic.
-!       P_(fst.Properties(kIDeterministic, true) == 0) {
-!     if(fst.Properties(kIDeterministic, true) == 0)
-!       CHECK(Weight::Properties() & kIdempotent); // this minimization
-!     // algorithm for non-deterministic FSTs can only work with idempotent
-!     // semirings.
-      Initialize(fst);
-      Compute(fst);
-    }
-***************
-*** 315,321 ****
-    typedef typename A::StateId ClassId;
-    typedef typename A::Weight Weight;
-  
-!   AcyclicMinimizer(const ExpandedFst<A>& fst) {
-      Initialize(fst);
-      Refine(fst);
-    }
---- 322,334 ----
-    typedef typename A::StateId ClassId;
-    typedef typename A::Weight Weight;
-  
-!   AcyclicMinimizer(const ExpandedFst<A>& fst):
-!       // tell the Partition data-member to expect multiple repeated
-!       // calls to SplitOn with the same element if we are non-deterministic.
-!       partition_(fst.Properties(kIDeterministic, true) == 0) {
-!     if(fst.Properties(kIDeterministic, true) == 0)
-!       CHECK(Weight::Properties() & kIdempotent); // minimization for
-!     // non-deterministic FSTs can only work with idempotent semirings.
-      Initialize(fst);
-      Refine(fst);
-    }
-***************
-*** 531,543 ****
-  void Minimize(MutableFst<A>* fst,
-                MutableFst<A>* sfst = 0,
-                float delta = kDelta) {
-!   uint64 props = fst->Properties(kAcceptor | kIDeterministic|
-!                                  kWeighted | kUnweighted, true);
-!   if (!(props & kIDeterministic)) {
-!     FSTERROR() << "FST is not deterministic";
-!     fst->SetProperties(kError, kError);
-!     return;
-!   }
-  
-    if (!(props & kAcceptor)) {  // weighted transducer
-      VectorFst< GallicArc<A, STRING_LEFT> > gfst;
---- 544,550 ----
-  void Minimize(MutableFst<A>* fst,
-                MutableFst<A>* sfst = 0,
-                float delta = kDelta) {
-!   uint64 props = fst->Properties(kAcceptor | kWeighted | kUnweighted, true);
-  
-    if (!(props & kAcceptor)) {  // weighted transducer
-      VectorFst< GallicArc<A, STRING_LEFT> > gfst;
-diff -crB openfst-1.3.4.orig/src/include/fst/partition.h openfst-1.3.4/src/include/fst/partition.h
-*** openfst-1.3.4.orig/src/include/fst/partition.h	2013-01-24 06:36:23.000000000 +0400
---- openfst-1.3.4/src/include/fst/partition.h	2013-11-21 15:59:08.539136087 +0400
-***************
-*** 43,50 ****
-    friend class PartitionIterator<T>;
-  
-    struct Element {
-!    Element() : value(0), next(0), prev(0) {}
-!    Element(T v) : value(v), next(0), prev(0) {}
-  
-     T        value;
-     Element* next;
---- 43,50 ----
-    friend class PartitionIterator<T>;
-  
-    struct Element {
-!     Element() : value(0), next(0), prev(0) {}
-!     Element(T v) : value(v), next(0), prev(0) {}
-  
-     T        value;
-     Element* next;
-***************
-*** 52,60 ****
-    };
-  
-   public:
-!   Partition() {}
-  
-!   Partition(T num_states) {
-      Initialize(num_states);
-    }
-  
---- 52,62 ----
-    };
-  
-   public:
-!   Partition(bool allow_repeated_split):
-!       allow_repeated_split_(allow_repeated_split) {}
-  
-!   Partition(bool allow_repeated_split, T num_states):
-!       allow_repeated_split_(allow_repeated_split) {
-      Initialize(num_states);
-    }
-  
-***************
-*** 137,152 ****
-      if (class_size_[class_id] == 1) return;
-  
-      // first time class is split
-!     if (split_size_[class_id] == 0)
-        visited_classes_.push_back(class_id);
-! 
-      // increment size of split (set of element at head of chain)
-      split_size_[class_id]++;
-! 
-      // update split point
-!     if (class_split_[class_id] == 0)
-!       class_split_[class_id] = classes_[class_id];
-!     if (class_split_[class_id] == elements_[element_id])
-        class_split_[class_id] = elements_[element_id]->next;
-  
-      // move to head of chain in same class
---- 139,154 ----
-      if (class_size_[class_id] == 1) return;
-  
-      // first time class is split
-!     if (split_size_[class_id] == 0) { 
-        visited_classes_.push_back(class_id);
-!       class_split_[class_id] = classes_[class_id];
-!     }
-      // increment size of split (set of element at head of chain)
-      split_size_[class_id]++;
-!     
-      // update split point
-!     if (class_split_[class_id] != 0
-!         && class_split_[class_id] == elements_[element_id])
-        class_split_[class_id] = elements_[element_id]->next;
-  
-      // move to head of chain in same class
-***************
-*** 157,165 ****
-    // class indices of the newly created class. Returns the new_class id
-    // or -1 if no new class was created.
-    T SplitRefine(T class_id) {
-      // only split if necessary
-!     if (class_size_[class_id] == split_size_[class_id]) {
-!       class_split_[class_id] = 0;
-        split_size_[class_id] = 0;
-        return -1;
-      } else {
---- 159,169 ----
-    // class indices of the newly created class. Returns the new_class id
-    // or -1 if no new class was created.
-    T SplitRefine(T class_id) {
-+ 
-+     Element* split_el = class_split_[class_id];
-      // only split if necessary
-!     //if (class_size_[class_id] == split_size_[class_id]) {
-!     if(split_el == NULL) { // we split on everything...
-        split_size_[class_id] = 0;
-        return -1;
-      } else {
-***************
-*** 163,180 ****
-        split_size_[class_id] = 0;
-        return -1;
-      } else {
-- 
-        T new_class = AddClass();
-        size_t remainder = class_size_[class_id] - split_size_[class_id];
-        if (remainder < split_size_[class_id]) {  // add smaller
--         Element* split_el   = class_split_[class_id];
-          classes_[new_class] = split_el;
--         class_size_[class_id] = split_size_[class_id];
--         class_size_[new_class] = remainder;
-          split_el->prev->next = 0;
-          split_el->prev = 0;
-        } else {
--         Element* split_el   = class_split_[class_id];
-          classes_[new_class] = classes_[class_id];
-          class_size_[class_id] = remainder;
-          class_size_[new_class] = split_size_[class_id];
---- 167,189 ----
-        split_size_[class_id] = 0;
-        return -1;
-      } else {
-        T new_class = AddClass();
-+ 
-+       if(allow_repeated_split_) { // split_size_ is possibly
-+         // inaccurate, so work it out exactly.
-+         size_t split_count;  Element *e;
-+         for(split_count=0,e=classes_[class_id];
-+             e != split_el; split_count++, e=e->next);
-+         split_size_[class_id] = split_count;
-+       }
-        size_t remainder = class_size_[class_id] - split_size_[class_id];
-        if (remainder < split_size_[class_id]) {  // add smaller
-          classes_[new_class] = split_el;
-          split_el->prev->next = 0;
-          split_el->prev = 0;
-+         class_size_[class_id] = split_size_[class_id];
-+         class_size_[new_class] = remainder;
-        } else {
-          classes_[new_class] = classes_[class_id];
-          class_size_[class_id] = remainder;
-          class_size_[new_class] = split_size_[class_id];
-***************
-*** 245,254 ****
---- 254,269 ----
-    vector<T> class_size_;
-  
-    // size of split for each class
-+   // in the nondeterministic case, split_size_ is actually an upper
-+   // bound on the size of split for each class.
-    vector<T> split_size_;
-  
-    // set of visited classes to be used in split refine
-    vector<T> visited_classes_;
-+ 
-+   // true if input fst was deterministic: we can make
-+   // certain assumptions in this case that speed up the algorithm.
-+   bool allow_repeated_split_;
-  };
-  
-  

diff --git a/sci-misc/openfst/files/openfst-20080422_beta-gcc-4.3.patch b/sci-misc/openfst/files/openfst-20080422_beta-gcc-4.3.patch
deleted file mode 100644
index 8eb3116d0..000000000
--- a/sci-misc/openfst/files/openfst-20080422_beta-gcc-4.3.patch
+++ /dev/null
@@ -1,83 +0,0 @@
-diff -Naur -Naur OpenFst/fst/bin/main.cc OpenFst-nu/fst/bin/main.cc
---- OpenFst/fst/bin/main.cc	2008-03-17 17:42:00.000000000 +0200
-+++ OpenFst-nu/fst/bin/main.cc	2008-10-20 16:30:36.000000000 +0300
-@@ -18,6 +18,8 @@
- // Classes and functions for registering and invoking Fst main
- // functions that support multiple and extensible arc types.
- 
-+#include <cstring>
-+#include <climits>
- #include <iostream>
- 
- #include "fst/bin/main.h"
-diff -Naur -Naur OpenFst/fst/bin/Makefile OpenFst-nu/fst/bin/Makefile
---- OpenFst/fst/bin/Makefile	2008-03-17 17:42:00.000000000 +0200
-+++ OpenFst-nu/fst/bin/Makefile	2008-10-20 16:31:12.000000000 +0300
-@@ -15,7 +15,7 @@
- FSTLIBMAIN=libfstmain.$(LIBTYPE)
- LIBS=-lfstmain -lfst -lm -lpthread -ldl
- CC=g++
--OPT=-O2
-+OPT=-O2 -fPIC
- CFLAGS=-I../.. $(OPT) -DFST_DL
- LDLFLAGS=-Wl,-L$(LIBDIR),-L$(BINDIR)
- LDRFLAGS=-Wl,-rpath,$(LIBDIR),-rpath,$(BINDIR) # empty on macosx
-diff -Naur -Naur OpenFst/fst/lib/compat.h OpenFst-nu/fst/lib/compat.h
---- OpenFst/fst/lib/compat.h	2008-03-17 17:41:56.000000000 +0200
-+++ OpenFst-nu/fst/lib/compat.h	2008-10-20 16:25:49.000000000 +0300
-@@ -27,7 +27,7 @@
- #include <map>
- #include <string>
- #include <vector>
--
-+#include <cstring>
- #include <ext/hash_map>
- #include <fcntl.h>
- #include <pthread.h>
-diff -Naur -Naur OpenFst/fst/lib/Makefile OpenFst-nu/fst/lib/Makefile
---- OpenFst/fst/lib/Makefile	2008-03-17 17:41:56.000000000 +0200
-+++ OpenFst-nu/fst/lib/Makefile	2008-10-20 16:23:05.000000000 +0300
-@@ -2,7 +2,7 @@
- SRCS=fst.cc properties.cc symbol-table.cc compat.cc
- OBJS=fst.o properties.o symbol-table.o compat.o
- CC=g++
--OPT=-O2
-+OPT=-fPIC -O2
- CFLAGS=$(OPT) -I../.. -DFST_DL
- LIBTYPE=so # "dylib" on macosx
- SOFLAGS=-shared  # "-dynamiclib -flat_namespace -undefined suppress" on macosx
-diff -Naur -Naur OpenFst/fst/lib/randgen.h OpenFst-nu/fst/lib/randgen.h
---- OpenFst/fst/lib/randgen.h	2008-03-17 17:41:56.000000000 +0200
-+++ OpenFst-nu/fst/lib/randgen.h	2008-10-20 16:44:33.000000000 +0300
-@@ -23,6 +23,7 @@
- #include <cmath>
- #include <cstdlib>
- #include <ctime>
-+#include <climits>
- 
- #include "fst/lib/mutable-fst.h"
- 
-diff -Naur -Naur OpenFst/fst/lib/symbol-table.cc OpenFst-nu/fst/lib/symbol-table.cc
---- OpenFst/fst/lib/symbol-table.cc	2008-03-17 17:41:56.000000000 +0200
-+++ OpenFst-nu/fst/lib/symbol-table.cc	2008-10-20 16:21:16.000000000 +0300
-@@ -17,6 +17,8 @@
- // \file
- // Classes to provide symbol-to-integer and integer-to-symbol mappings.
- 
-+#include <cstring>
-+
- #include "fst/lib/symbol-table.h"
- #include "fst/lib/util.h"
- 
-diff -Naur -Naur OpenFst/fst/lib/vector-fst.h OpenFst-nu/fst/lib/vector-fst.h
---- OpenFst/fst/lib/vector-fst.h	2008-03-17 17:41:56.000000000 +0200
-+++ OpenFst-nu/fst/lib/vector-fst.h	2008-10-20 16:21:25.000000000 +0300
-@@ -21,6 +21,8 @@
- #ifndef FST_LIB_VECTOR_FST_H__
- #define FST_LIB_VECTOR_FST_H__
- 
-+#include <cstring>
-+
- #include "fst/lib/mutable-fst.h"
- #include "fst/lib/test-properties.h"
- 

diff --git a/sci-misc/openfst/metadata.xml b/sci-misc/openfst/metadata.xml
index 2d4fb61e6..8b44b5491 100644
--- a/sci-misc/openfst/metadata.xml
+++ b/sci-misc/openfst/metadata.xml
@@ -4,4 +4,8 @@
 	<maintainer type="person">
 		<email>flammie@gentoo.org</email>
 	</maintainer>
+	<maintainer type="project">
+		<email>sci@gentoo.org</email>
+		<name>Gentoo Science Project</name>
+	</maintainer>
 </pkgmetadata>

diff --git a/sci-misc/openfst/openfst-1.8.1.ebuild b/sci-misc/openfst/openfst-1.8.2.ebuild
similarity index 93%
rename from sci-misc/openfst/openfst-1.8.1.ebuild
rename to sci-misc/openfst/openfst-1.8.2.ebuild
index 16c275e8e..923a36f64 100644
--- a/sci-misc/openfst/openfst-1.8.1.ebuild
+++ b/sci-misc/openfst/openfst-1.8.2.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI=7
+EAPI=8
 
 DESCRIPTION="Finite State Transducer tools by Google et al"
 HOMEPAGE="http://www.openfst.org"


^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2023-09-20  7:21 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-02-28 20:58 [gentoo-commits] proj/sci:master commit in: sci-misc/openfst/, sci-misc/openfst/files/ Justin Lecher
  -- strict thread matches above, loose matches on Subject: below --
2023-09-20  7:21 Andrew Ammerlaan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox