gnu: openfst-for-vosk: Fix build with gcc@14.

Just adds an upstream patch.

* gnu/packages/patches/openfst-for-vosk-fix-unique-ptr.patch: Add
  patch.
* gnu/packages/machine-learning.scm (openfst-for-vosk)[source]
  <patches>: Record patch.
* gnu/local.mk: Record patch.

Signed-off-by: Andreas Enge <andreas@enge.fr>
This commit is contained in:
Nicolas Graves 2025-07-19 15:37:39 +02:00 committed by Andreas Enge
parent 234505067a
commit 1a76e68d29
No known key found for this signature in database
GPG key ID: F7D5C9BF765C61E3
3 changed files with 28 additions and 1 deletions

View file

@ -1982,6 +1982,7 @@ dist_patch_DATA = \
%D%/packages/patches/openbox-add-fix-for-glib2-exposed-segfault.patch \
%D%/packages/patches/openbox-python3.patch \
%D%/packages/patches/openexr-2-gcc-14.patch \
%D%/packages/patches/openfst-for-vosk-fix-unique-ptr.patch \
%D%/packages/patches/openjdk-currency-time-bomb.patch \
%D%/packages/patches/openjdk-currency-time-bomb2.patch \
%D%/packages/patches/openjdk-9-pointer-comparison.patch \

View file

@ -1036,7 +1036,9 @@ optimizing, and searching weighted finite-state transducers (FSTs).")
(uri (string-append "http://www.openfst.org/twiki/pub/FST/"
"FstDownload/openfst-" version ".tar.gz"))
(sha256
(base32 "0h2lfhhihg63b804hrcljnkggijbjmp84i5g8q735wb09y9z2c4p"))))
(base32 "0h2lfhhihg63b804hrcljnkggijbjmp84i5g8q735wb09y9z2c4p"))
(patches
(search-patches "openfst-for-vosk-fix-unique-ptr.patch"))))
(arguments
'(#:configure-flags
'("--enable-shared" "--enable-far" "--enable-ngram-fsts"

View file

@ -0,0 +1,24 @@
From 879f09d2ac799cca99b78de3442194ebbe29d24a Mon Sep 17 00:00:00 2001
From: Nickolay Shmyrev <nshmyrev@gmail.com>
Date: Fri, 23 Aug 2024 16:10:49 +0200
Subject: [PATCH] Proper assign to unique_ptr
---
src/include/fst/fst.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/include/fst/fst.h b/src/include/fst/fst.h
index 80e394808..57cf1fd68 100644
--- a/src/include/fst/fst.h
+++ b/src/include/fst/fst.h
@@ -701,8 +701,8 @@ class FstImpl {
properties_.store(impl.properties_.load(std::memory_order_relaxed),
std::memory_order_relaxed);
type_ = impl.type_;
- isymbols_ = impl.isymbols_ ? impl.isymbols_->Copy() : nullptr;
- osymbols_ = impl.osymbols_ ? impl.osymbols_->Copy() : nullptr;
+ isymbols_.reset(impl.isymbols_ ? impl.isymbols_->Copy() : nullptr);
+ osymbols_.reset(impl.osymbols_ ? impl.osymbols_->Copy() : nullptr);
return *this;
}