Package: guix-patches;
Reported by: Nicolas Graves <ngraves <at> ngraves.fr>
Date: Wed, 23 Apr 2025 23:00:02 UTC
Severity: normal
Tags: patch
Done: Christopher Baines <mail <at> cbaines.net>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 78022 in the body.
You can then email your comments to 78022 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
View this report as an mbox folder, status mbox, maintainer mbox
guix-patches <at> gnu.org
:bug#78022
; Package guix-patches
.
(Wed, 23 Apr 2025 23:00:02 GMT) Full text and rfc822 format available.Nicolas Graves <ngraves <at> ngraves.fr>
:guix-patches <at> gnu.org
.
(Wed, 23 Apr 2025 23:00:02 GMT) Full text and rfc822 format available.Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Nicolas Graves <ngraves <at> ngraves.fr> To: guix-patches <at> gnu.org Cc: Nicolas Graves <ngraves <at> ngraves.fr> Subject: [PATCH 0/8] Fix kaldi-based packages Date: Thu, 24 Apr 2025 00:57:31 +0200
Nicolas Graves (8): gnu: kaldi-for-vosk: Update to 0-1.bc5baf1. gnu: vosk-api: Update to 0.3.50. gnu: Remove openfst-1.7.3. gnu: openfst: Update to 1.8.4. gnu: kaldi: Update to 0-2.01aadd7. gnu: kaldi: Improve style. gnu: gst-kaldi-nnet2-online: Fix build. gnu: kaldi-gstreamer-server: Fix build, cleanup tests. gnu/local.mk | 2 + gnu/packages/machine-learning.scm | 307 +++++++++--------- .../patches/kaldi-ignore-failing-test.patch | 28 ++ .../kaldi-openblas-0.3.29-compatibility.patch | 70 ++++ 4 files changed, 256 insertions(+), 151 deletions(-) create mode 100644 gnu/packages/patches/kaldi-ignore-failing-test.patch create mode 100644 gnu/packages/patches/kaldi-openblas-0.3.29-compatibility.patch -- 2.49.0
guix-patches <at> gnu.org
:bug#78022
; Package guix-patches
.
(Wed, 23 Apr 2025 23:09:02 GMT) Full text and rfc822 format available.Message #8 received at 78022 <at> debbugs.gnu.org (full text, mbox):
From: Nicolas Graves <ngraves <at> ngraves.fr> To: 78022 <at> debbugs.gnu.org Cc: Nicolas Graves <ngraves <at> ngraves.fr> Subject: [PATCH 1/8] gnu: kaldi-for-vosk: Update to 0-1.bc5baf1. Date: Thu, 24 Apr 2025 01:08:05 +0200
* gnu/packages/patches/kaldi-openblas-0.3.29-compatibility.patch: Add patch. * gnu/local.mk: Record patch. * gnu/packages/machine-learning.scm (kaldi-for-vosk): Update to 0-1.bc5baf1. [origin]: Record patch. --- gnu/local.mk | 1 + gnu/packages/machine-learning.scm | 9 ++- .../kaldi-openblas-0.3.29-compatibility.patch | 70 +++++++++++++++++++ 3 files changed, 77 insertions(+), 3 deletions(-) create mode 100644 gnu/packages/patches/kaldi-openblas-0.3.29-compatibility.patch diff --git a/gnu/local.mk b/gnu/local.mk index 4aa84f8ef96..9f0ed220d07 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1680,6 +1680,7 @@ dist_patch_DATA = \ %D%/packages/patches/lightdm-vnc-color-depth.patch \ %D%/packages/patches/lightdm-vncserver-check.patch \ %D%/packages/patches/localed-xorg-keyboard.patch \ + %D%/packages/patches/kaldi-openblas-0.3.29-compatibility.patch \ %D%/packages/patches/kcontacts-incorrect-country-name.patch \ %D%/packages/patches/kde-cli-tools-delay-mime-db.patch \ %D%/packages/patches/kdiagram-Fix-missing-link-libraries.patch \ diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm index c4dd9e2c2dd..964e2aceb49 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -3044,8 +3044,9 @@ (define-public kaldi (license license:asl2.0)))) (define kaldi-for-vosk - (let* ((commit "a25f216f5ce4eec5e45a6ab7651e20c9840a05cd") - (revision "0") + ;; Commit of branch "vosk" + (let* ((commit "bc5baf14231660bd50b7d05788865b4ac6c34481") + (revision "1") (openfst openfst-for-vosk)) (package (inherit kaldi) @@ -3059,7 +3060,9 @@ (define kaldi-for-vosk (commit commit))) (file-name (git-file-name name version)) (sha256 - (base32 "16w90za8narkfi590cxj4p7vc1f5sdxc927g5hk6kh4l3mf6iisl")))) + (base32 "1y3d6918srr7cn5r72v5wvbdwz9p9j2bjw1x78sfis2r2k60lllw")) + (patches + (search-patches "kaldi-openblas-0.3.29-compatibility.patch")))) (inputs (list alsa-lib glib diff --git a/gnu/packages/patches/kaldi-openblas-0.3.29-compatibility.patch b/gnu/packages/patches/kaldi-openblas-0.3.29-compatibility.patch new file mode 100644 index 00000000000..c00e742e433 --- /dev/null +++ b/gnu/packages/patches/kaldi-openblas-0.3.29-compatibility.patch @@ -0,0 +1,70 @@ +From c8febca41cecf68f468f346409735c90ed340a5e Mon Sep 17 00:00:00 2001 +Message-ID: <c8febca41cecf68f468f346409735c90ed340a5e.1745338218.git.ngraves <at> ngraves.fr> +From: Nicolas Graves <ngraves <at> ngraves.fr> +Date: Tue, 22 Apr 2025 17:57:34 +0200 +Subject: [PATCH] Openblas <at> 0.3.29 compatibility. + +--- + src/matrix/cblas-wrappers.h | 16 ++++++++-------- + 1 file changed, 8 insertions(+), 8 deletions(-) + +diff --git a/src/matrix/cblas-wrappers.h b/src/matrix/cblas-wrappers.h +index f869ab7e0..bcc2c2b75 100644 +--- a/src/matrix/cblas-wrappers.h ++++ b/src/matrix/cblas-wrappers.h +@@ -383,10 +383,10 @@ inline void mul_elements( + // add clapack here + #if !defined(HAVE_ATLAS) + inline void clapack_Xtptri(KaldiBlasInt *num_rows, float *Mdata, KaldiBlasInt *result) { +- stptri_(const_cast<char *>("U"), const_cast<char *>("N"), num_rows, Mdata, result); ++ stptri_(const_cast<char *>("U"), const_cast<char *>("N"), num_rows, Mdata, result, 1, 1); + } + inline void clapack_Xtptri(KaldiBlasInt *num_rows, double *Mdata, KaldiBlasInt *result) { +- dtptri_(const_cast<char *>("U"), const_cast<char *>("N"), num_rows, Mdata, result); ++ dtptri_(const_cast<char *>("U"), const_cast<char *>("N"), num_rows, Mdata, result, 1, 1); + } + // + inline void clapack_Xgetrf2(KaldiBlasInt *num_rows, KaldiBlasInt *num_cols, +@@ -420,7 +420,7 @@ inline void clapack_Xgesvd(char *v, char *u, KaldiBlasInt *num_cols, + sgesvd_(v, u, + num_cols, num_rows, Mdata, stride, + sv, Vdata, vstride, Udata, ustride, +- p_work, l_work, result); ++ p_work, l_work, result, 1, 1); + } + inline void clapack_Xgesvd(char *v, char *u, KaldiBlasInt *num_cols, + KaldiBlasInt *num_rows, double *Mdata, KaldiBlasInt *stride, +@@ -430,25 +430,25 @@ inline void clapack_Xgesvd(char *v, char *u, KaldiBlasInt *num_cols, + dgesvd_(v, u, + num_cols, num_rows, Mdata, stride, + sv, Vdata, vstride, Udata, ustride, +- p_work, l_work, result); ++ p_work, l_work, result, 1, 1); + } + // + void inline clapack_Xsptri(KaldiBlasInt *num_rows, float *Mdata, + KaldiBlasInt *ipiv, float *work, KaldiBlasInt *result) { +- ssptri_(const_cast<char *>("U"), num_rows, Mdata, ipiv, work, result); ++ ssptri_(const_cast<char *>("U"), num_rows, Mdata, ipiv, work, result, 1); + } + void inline clapack_Xsptri(KaldiBlasInt *num_rows, double *Mdata, + KaldiBlasInt *ipiv, double *work, KaldiBlasInt *result) { +- dsptri_(const_cast<char *>("U"), num_rows, Mdata, ipiv, work, result); ++ dsptri_(const_cast<char *>("U"), num_rows, Mdata, ipiv, work, result, 1); + } + // + void inline clapack_Xsptrf(KaldiBlasInt *num_rows, float *Mdata, + KaldiBlasInt *ipiv, KaldiBlasInt *result) { +- ssptrf_(const_cast<char *>("U"), num_rows, Mdata, ipiv, result); ++ ssptrf_(const_cast<char *>("U"), num_rows, Mdata, ipiv, result, 1); + } + void inline clapack_Xsptrf(KaldiBlasInt *num_rows, double *Mdata, + KaldiBlasInt *ipiv, KaldiBlasInt *result) { +- dsptrf_(const_cast<char *>("U"), num_rows, Mdata, ipiv, result); ++ dsptrf_(const_cast<char *>("U"), num_rows, Mdata, ipiv, result, 1); + } + #else + inline void clapack_Xgetrf(MatrixIndexT num_rows, MatrixIndexT num_cols, +-- +2.49.0 + -- 2.49.0
guix-patches <at> gnu.org
:bug#78022
; Package guix-patches
.
(Wed, 23 Apr 2025 23:09:02 GMT) Full text and rfc822 format available.Message #11 received at 78022 <at> debbugs.gnu.org (full text, mbox):
From: Nicolas Graves <ngraves <at> ngraves.fr> To: 78022 <at> debbugs.gnu.org Cc: Nicolas Graves <ngraves <at> ngraves.fr> Subject: [PATCH 3/8] gnu: Remove openfst-1.7.3. Date: Thu, 24 Apr 2025 01:08:07 +0200
* gnu/packages/machine-learning.scm (openfst-1.7.3): Delete variable. (kaldi, gst-kaldi-nnet2-online): Replace openfst-1.7.3 by openfst. --- gnu/packages/machine-learning.scm | 20 ++------------------ 1 file changed, 2 insertions(+), 18 deletions(-) diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm index b4d921733ab..32b8160e176 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -1036,21 +1036,6 @@ (define-public openfst optimizing, and searching weighted finite-state transducers (FSTs).") (license license:asl2.0))) -;; This is a temporary addition to bypass upstream issues with the kaldi -;; package. -(define-public openfst-1.7.3 - (package (inherit openfst) - (version "1.7.3") - (source (origin - (method url-fetch) - (uri (string-append "http://www.openfst.org/twiki/pub/FST/" - "FstDownload/openfst-" version ".tar.gz")) - (sha256 - (base32 - "038a60w7y8qnbxmcrsim9rafz9mihsny8xv50jpzlr7rl166pp5q")))) - (arguments '(#:configure-flags '("--enable-ngram-fsts" "CXXFLAGS=-std=c++14") - #:make-flags '("CXXFLAGS=-std=c++14"))))) - (define openfst-for-vosk (package (inherit openfst) @@ -2933,8 +2918,7 @@ (define-public python-jaxtyping ;; There have been no proper releases yet. (define-public kaldi (let ((commit "be22248e3a166d9ec52c78dac945f471e7c3a8aa") - (revision "1") - (openfst openfst-1.7.3)) ;; Temporary bypass for upstream issues + (revision "1")) (package (name "kaldi") (version (git-version "0" revision commit)) @@ -3197,7 +3181,7 @@ (define-public gst-kaldi-nnet2-online (lib (string-append out "/lib/gstreamer-1.0"))) (install-file "libgstkaldinnet2onlinedecoder.so" lib))))))) (inputs - (list glib gstreamer jansson openfst-1.7.3 kaldi)) + (list glib gstreamer jansson openfst kaldi)) (native-inputs `(("bash" ,bash) ("glib:bin" ,glib "bin") ; glib-genmarshal -- 2.49.0
guix-patches <at> gnu.org
:bug#78022
; Package guix-patches
.
(Wed, 23 Apr 2025 23:09:03 GMT) Full text and rfc822 format available.Message #14 received at 78022 <at> debbugs.gnu.org (full text, mbox):
From: Nicolas Graves <ngraves <at> ngraves.fr> To: 78022 <at> debbugs.gnu.org Cc: Nicolas Graves <ngraves <at> ngraves.fr> Subject: [PATCH 2/8] gnu: vosk-api: Update to 0.3.50. Date: Thu, 24 Apr 2025 01:08:06 +0200
* gnu/packages/machine-learning.scm (vosk-api): Update to 0.3.50. --- gnu/packages/machine-learning.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm index 964e2aceb49..b4d921733ab 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -6741,7 +6741,7 @@ (define-public vosk-api (kaldi kaldi-for-vosk)) (package (name "vosk-api") - (version "0.3.43") + (version "0.3.50") (source (origin (method git-fetch) @@ -6750,7 +6750,7 @@ (define-public vosk-api (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0xmp8i140c2hd3rj9dap8a2rnsvzb1k9hnqm12xzbaxrw73rkc29")))) + (base32 "0rm7c1n9iv4y9q6a860rqiy2bdawxjhbfd993lms1ly86vwyai8k")))) (build-system gnu-build-system) (arguments (list -- 2.49.0
guix-patches <at> gnu.org
:bug#78022
; Package guix-patches
.
(Wed, 23 Apr 2025 23:09:03 GMT) Full text and rfc822 format available.Message #17 received at 78022 <at> debbugs.gnu.org (full text, mbox):
From: Nicolas Graves <ngraves <at> ngraves.fr> To: 78022 <at> debbugs.gnu.org Cc: Nicolas Graves <ngraves <at> ngraves.fr> Subject: [PATCH 4/8] gnu: openfst: Update to 1.8.4. Date: Thu, 24 Apr 2025 01:08:08 +0200
* gnu/packages/machine-learning.scm (openfst): Update to 1.8.4. --- gnu/packages/machine-learning.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm index 32b8160e176..d4d44f00838 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -1020,14 +1020,14 @@ (define-public r-rcppml/devel (define-public openfst (package (name "openfst") - (version "1.8.2") + (version "1.8.4") (source (origin (method url-fetch) - (uri (string-append "http://www.openfst.org/twiki/pub/FST/" + (uri (string-append "https://www.openfst.org/twiki/pub/FST/" "FstDownload/openfst-" version ".tar.gz")) (sha256 (base32 - "0hlbdmjjf1jgsvi3d2hwni5lz3l9a5bzj6ijpbawa8a7cbrpp66y")))) + "05l057mx1cmbm2jm99mrg75qgz4ca5r78n002mkpxl4j7mpvpsx8")))) (build-system gnu-build-system) (arguments '(#:configure-flags '("--enable-ngram-fsts"))) (home-page "https://www.openfst.org") -- 2.49.0
guix-patches <at> gnu.org
:bug#78022
; Package guix-patches
.
(Wed, 23 Apr 2025 23:09:04 GMT) Full text and rfc822 format available.Message #20 received at 78022 <at> debbugs.gnu.org (full text, mbox):
From: Nicolas Graves <ngraves <at> ngraves.fr> To: 78022 <at> debbugs.gnu.org Cc: Nicolas Graves <ngraves <at> ngraves.fr> Subject: [PATCH 5/8] gnu: kaldi: Update to 0-2.01aadd7. Date: Thu, 24 Apr 2025 01:08:09 +0200
* gnu/packages/patches/kaldi-ignore-failing-test.patch: Add patch. * gnu/local.mk: Record patch. * gnu/packages/machine-learning.scm (kaldi): Update to 0-2.01aadd7. [origin]: Record patches. --- gnu/local.mk | 1 + gnu/packages/machine-learning.scm | 9 ++++-- .../patches/kaldi-ignore-failing-test.patch | 28 +++++++++++++++++++ 3 files changed, 35 insertions(+), 3 deletions(-) create mode 100644 gnu/packages/patches/kaldi-ignore-failing-test.patch diff --git a/gnu/local.mk b/gnu/local.mk index 9f0ed220d07..62ae15ce0f0 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1680,6 +1680,7 @@ dist_patch_DATA = \ %D%/packages/patches/lightdm-vnc-color-depth.patch \ %D%/packages/patches/lightdm-vncserver-check.patch \ %D%/packages/patches/localed-xorg-keyboard.patch \ + %D%/packages/patches/kaldi-ignore-failing-test.patch \ %D%/packages/patches/kaldi-openblas-0.3.29-compatibility.patch \ %D%/packages/patches/kcontacts-incorrect-country-name.patch \ %D%/packages/patches/kde-cli-tools-delay-mime-db.patch \ diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm index d4d44f00838..e94b782d2cf 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -2917,8 +2917,8 @@ (define-public python-jaxtyping ;; There have been no proper releases yet. (define-public kaldi - (let ((commit "be22248e3a166d9ec52c78dac945f471e7c3a8aa") - (revision "1")) + (let ((commit "01aadd7c19372e3eacadec88caabd86162f33d69") + (revision "2")) (package (name "kaldi") (version (git-version "0" revision commit)) @@ -2930,7 +2930,10 @@ (define-public kaldi (file-name (git-file-name name version)) (sha256 (base32 - "1wkxz3p0h68mxbg41i1wygir2r4rraxbb4672xkkvvs85r6c8r8i")))) + "08l31g256wl81fsrm1dvi0d2rq2vk5zq7ihbbiw7hp51iwg2miif")) + (patches + (search-patches "kaldi-openblas-0.3.29-compatibility.patch" + "kaldi-ignore-failing-test.patch")))) (build-system gnu-build-system) (arguments `(#:test-target "test" diff --git a/gnu/packages/patches/kaldi-ignore-failing-test.patch b/gnu/packages/patches/kaldi-ignore-failing-test.patch new file mode 100644 index 00000000000..5d89b1173b1 --- /dev/null +++ b/gnu/packages/patches/kaldi-ignore-failing-test.patch @@ -0,0 +1,28 @@ +From e64436f496834b0727b9daad708629f2a05082d8 Mon Sep 17 00:00:00 2001 +Message-ID: <e64436f496834b0727b9daad708629f2a05082d8.1745360110.git.ngraves <at> ngraves.fr> +From: Nicolas Graves <ngraves <at> ngraves.fr> +Date: Wed, 23 Apr 2025 00:14:51 +0200 +Subject: [PATCH] Ignore flaky test. + +--- + src/fstext/lattice-utils-test.cc | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/fstext/lattice-utils-test.cc b/src/fstext/lattice-utils-test.cc +index 6f1d2747c..750d3104c 100644 +--- a/src/fstext/lattice-utils-test.cc ++++ b/src/fstext/lattice-utils-test.cc +@@ -102,8 +102,8 @@ template<class Weight, class Int> void TestShortestPath() { + assert(ApproxEqual(ShortestDistance(nbest_fst_1), + ShortestDistance(nbest_fst_1b))); + // since semiring is idempotent, this should succeed too. +- assert(ApproxEqual(ShortestDistance(cfst), +- ShortestDistance(nbest_fst_1b))); ++ // assert(ApproxEqual(ShortestDistance(cfst), ++ // ShortestDistance(nbest_fst_1b))); + } + + delete fst; +-- +2.49.0 + -- 2.49.0
guix-patches <at> gnu.org
:bug#78022
; Package guix-patches
.
(Wed, 23 Apr 2025 23:09:04 GMT) Full text and rfc822 format available.Message #23 received at 78022 <at> debbugs.gnu.org (full text, mbox):
From: Nicolas Graves <ngraves <at> ngraves.fr> To: 78022 <at> debbugs.gnu.org Cc: Nicolas Graves <ngraves <at> ngraves.fr> Subject: [PATCH 6/8] gnu: kaldi: Improve style. Date: Thu, 24 Apr 2025 01:08:10 +0200
* gnu/packages/machine-learning.scm (kaldi): [arguments]<configure-flags>: Use it. Add --fst-version flag. <phases>: Use gexps. Use configure-flags in the 'configure-phase. --- gnu/packages/machine-learning.scm | 143 +++++++++++++++--------------- 1 file changed, 72 insertions(+), 71 deletions(-) diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm index e94b782d2cf..a4eff194eaf 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -2936,78 +2936,79 @@ (define-public kaldi "kaldi-ignore-failing-test.patch")))) (build-system gnu-build-system) (arguments - `(#:test-target "test" - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'chdir - (lambda _ (chdir "src"))) - (replace 'configure - (lambda* (#:key build system inputs outputs #:allow-other-keys) - (when (not (or (string-prefix? "x86_64" system) - (string-prefix? "i686" system))) - (substitute* "makefiles/linux_openblas.mk" - (("-msse -msse2") ""))) - (substitute* "makefiles/default_rules.mk" - (("/bin/bash") (which "bash"))) - (substitute* "Makefile" - (("ext_depend: check_portaudio") - "ext_depend:")) - (substitute* '("online/Makefile" - "onlinebin/Makefile" - "gst-plugin/Makefile") - (("../../tools/portaudio/install") - (assoc-ref inputs "portaudio"))) - (substitute* "matrix/Makefile" ;temporary test bypass - (("matrix-lib-test sparse-matrix-test") "")) + (list + #:test-target "test" + #:configure-flags + (let ((fst (this-package-input "openfst"))) + #~(list "--use-cuda=no" + "--shared" + (string-append "--openblas-root=" + #$(this-package-input "openblas")) + (string-append "--fst-root=" #$fst) + (string-append "--fst-version=" #$(package-version fst)))) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda _ (chdir "src"))) + (replace 'configure + (lambda* (#:key build system inputs configure-flags + #:allow-other-keys) + (when (not (or (string-prefix? "x86_64" system) + (string-prefix? "i686" system))) + (substitute* "makefiles/linux_openblas.mk" + (("-msse -msse2") ""))) + (substitute* "makefiles/default_rules.mk" + (("/bin/bash") (which "bash"))) + (substitute* "Makefile" + (("ext_depend: check_portaudio") + "ext_depend:")) + (substitute* '("online/Makefile" + "onlinebin/Makefile" + "gst-plugin/Makefile") + (("../../tools/portaudio/install") + (assoc-ref inputs "portaudio"))) + (substitute* "matrix/Makefile" ;temporary test bypass + (("matrix-lib-test sparse-matrix-test") "")) - ;; This `configure' script doesn't support variables passed as - ;; arguments, nor does it support "prefix". - (let ((out (assoc-ref outputs "out")) - (openblas (assoc-ref inputs "openblas")) - (openfst (assoc-ref inputs "openfst"))) - (substitute* "configure" - (("check_for_slow_expf;") "") - ;; This affects the RPATH and also serves as the installation - ;; directory. - (("KALDILIBDIR=`pwd`/lib") - (string-append "KALDILIBDIR=" out "/lib"))) - (mkdir-p out) ; must exist - (setenv "CONFIG_SHELL" (which "bash")) - (setenv "OPENFST_VER" ,(package-version openfst)) - (invoke "./configure" - "--use-cuda=no" - "--shared" - (string-append "--openblas-root=" openblas) - (string-append "--fst-root=" openfst))))) - (add-after 'build 'build-ext-and-gstreamer-plugin - (lambda _ - (invoke "make" "-C" "online" "depend") - (invoke "make" "-C" "online") - (invoke "make" "-C" "onlinebin" "depend") - (invoke "make" "-C" "onlinebin") - (invoke "make" "-C" "gst-plugin" "depend") - (invoke "make" "-C" "gst-plugin"))) - ;; TODO: also install the executables. - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (inc (string-append out "/include")) - (lib (string-append out "/lib"))) - (mkdir-p lib) - ;; The build phase installed symlinks to the actual - ;; libraries. Install the actual targets. - (for-each (lambda (file) - (let ((target (readlink file))) - (delete-file file) - (install-file target lib))) - (find-files lib "\\.so")) - ;; Install headers - (for-each (lambda (file) - (let ((target-dir (string-append inc "/" (dirname file)))) - (install-file file target-dir))) - (find-files "." "\\.h")) - (install-file "gst-plugin/libgstonlinegmmdecodefaster.so" - (string-append lib "/gstreamer-1.0")))))))) + ;; This `configure' script doesn't support variables passed as + ;; arguments, nor does it support "prefix". + (substitute* "configure" + (("check_for_slow_expf;") "") + ;; This affects the RPATH and also serves as the installation + ;; directory. + (("KALDILIBDIR=`pwd`/lib") + (string-append "KALDILIBDIR=" #$output "/lib"))) + (mkdir-p #$output) ; must exist + (setenv "CONFIG_SHELL" (which "bash")) + (apply invoke "./configure" configure-flags))) + (add-after 'build 'build-ext-and-gstreamer-plugin + (lambda _ + (invoke "make" "-C" "online" "depend") + (invoke "make" "-C" "online") + (invoke "make" "-C" "onlinebin" "depend") + (invoke "make" "-C" "onlinebin") + (invoke "make" "-C" "gst-plugin" "depend") + (invoke "make" "-C" "gst-plugin"))) + ;; TODO: also install the executables. + (replace 'install + (lambda _ + (let* ((inc (string-append #$output "/include")) + (lib (string-append #$output "/lib"))) + (mkdir-p lib) + ;; The build phase installed symlinks to the actual + ;; libraries. Install the actual targets. + (for-each (lambda (file) + (let ((target (readlink file))) + (delete-file file) + (install-file target lib))) + (find-files lib "\\.so")) + ;; Install headers + (for-each (lambda (file) + (let ((target-dir (string-append inc "/" (dirname file)))) + (install-file file target-dir))) + (find-files "." "\\.h")) + (install-file "gst-plugin/libgstonlinegmmdecodefaster.so" + (string-append lib "/gstreamer-1.0")))))))) (inputs (list alsa-lib `(,gfortran "lib") -- 2.49.0
guix-patches <at> gnu.org
:bug#78022
; Package guix-patches
.
(Wed, 23 Apr 2025 23:09:05 GMT) Full text and rfc822 format available.Message #26 received at 78022 <at> debbugs.gnu.org (full text, mbox):
From: Nicolas Graves <ngraves <at> ngraves.fr> To: 78022 <at> debbugs.gnu.org Cc: Nicolas Graves <ngraves <at> ngraves.fr> Subject: [PATCH 7/8] gnu: gst-kaldi-nnet2-online: Fix build. Date: Thu, 24 Apr 2025 01:08:11 +0200
* gnu/packages/machine-learning.scm (gst-kaldi-nnet2-online): Fix build. [arguments]<make-flags>: Improve style. <phases>: Migrate to gexps, improve style. Add configure CXXFLAGS for OPENFST_VER, fixes build. [native-inputs]: Improve style. --- gnu/packages/machine-learning.scm | 73 ++++++++++++++++--------------- 1 file changed, 38 insertions(+), 35 deletions(-) diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm index a4eff194eaf..fb583e93273 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -3152,45 +3152,48 @@ (define-public gst-kaldi-nnet2-online (list #:tests? #f ; there are none #:make-flags - '(list (string-append "SHELL=" - (assoc-ref %build-inputs "bash") "/bin/bash") - (string-append "KALDI_ROOT=" - (assoc-ref %build-inputs "kaldi-src")) - (string-append "KALDILIBDIR=" - (assoc-ref %build-inputs "kaldi") "/lib") - "KALDI_FLAVOR=dynamic") + (let ((kaldi (this-package-input "kaldi")) + (bash (this-package-native-input "bash"))) + #~(list (string-append "SHELL=" #$bash "/bin/bash") + (string-append "KALDI_ROOT=" #$(package-source kaldi)) + (string-append "KALDILIBDIR=" #$kaldi "/lib") + "KALDI_FLAVOR=dynamic")) #:phases - '(modify-phases %standard-phases - (add-after 'unpack 'chdir - (lambda _ (chdir "src"))) - (replace 'configure - (lambda* (#:key inputs #:allow-other-keys) - (let ((glib (assoc-ref inputs "glib"))) - (setenv "CXXFLAGS" "-fPIC") - (setenv "CPLUS_INCLUDE_PATH" - (string-append glib "/include/glib-2.0:" - glib "/lib/glib-2.0/include:" - (assoc-ref inputs "gstreamer") - "/include/gstreamer-1.0:" - (getenv "CPLUS_INCLUDE_PATH")))) - (substitute* "Makefile" - (("include \\$\\(KALDI_ROOT\\)/src/kaldi.mk") "") - (("\\$\\(error Cannot find") "#")))) - (add-before 'build 'build-depend - (lambda* (#:key make-flags #:allow-other-keys) - (apply invoke "make" "depend" make-flags))) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (lib (string-append out "/lib/gstreamer-1.0"))) - (install-file "libgstkaldinnet2onlinedecoder.so" lib))))))) + #~(modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda _ (chdir "src"))) + (replace 'configure + (lambda* (#:key inputs #:allow-other-keys) + (let ((fst-version #$(package-version + (this-package-input "openfst")))) + (setenv "CXXFLAGS" + (string-append + "-fPIC -DOPENFST_VER=" + (string-join (string-split fst-version #\.) "0"))) + (setenv "CPLUS_INCLUDE_PATH" + (string-join + (append (map (lambda (dir) + (search-input-directory inputs dir)) + '("/include/glib-2.0" + "/lib/glib-2.0/include" + "/include/gstreamer-1.0")) + (list (getenv "CPLUS_INCLUDE_PATH"))) + ":"))) + (substitute* "Makefile" + (("include \\$\\(KALDI_ROOT\\)/src/kaldi.mk") "") + (("\\$\\(error Cannot find") "#")))) + (add-before 'build 'build-depend + (lambda* (#:key make-flags #:allow-other-keys) + (apply invoke "make" "depend" make-flags))) + (replace 'install + (lambda _ + (install-file + "libgstkaldinnet2onlinedecoder.so" + (string-append #$output "/lib/gstreamer-1.0"))))))) (inputs (list glib gstreamer jansson openfst kaldi)) (native-inputs - `(("bash" ,bash) - ("glib:bin" ,glib "bin") ; glib-genmarshal - ("kaldi-src" ,(package-source kaldi)) - ("pkg-config" ,pkg-config))) + (list bash `(,glib "bin") pkg-config)) (home-page "https://kaldi-asr.org/") (synopsis "Gstreamer plugin for decoding speech") (description "This package provides a GStreamer plugin that wraps -- 2.49.0
guix-patches <at> gnu.org
:bug#78022
; Package guix-patches
.
(Wed, 23 Apr 2025 23:09:05 GMT) Full text and rfc822 format available.Message #29 received at 78022 <at> debbugs.gnu.org (full text, mbox):
From: Nicolas Graves <ngraves <at> ngraves.fr> To: 78022 <at> debbugs.gnu.org Cc: Nicolas Graves <ngraves <at> ngraves.fr> Subject: [PATCH 8/8] gnu: kaldi-gstreamer-server: Fix build, cleanup tests. Date: Thu, 24 Apr 2025 01:08:12 +0200
* gnu/packages/machine-learning.scm (kaldi-gstreamer-server): [origin]<snippet>: Remove test files. [arguments]<phases>: Migrate from GObject.MainLoop to GLib.MainLoop in 'build phase. Adapt to the absence of test files. Improve the wrap part of 'install phase. [inputs]: Add gstreamer, gst-plugins-base, gst-plugins-good, kaldi. They are necessary for proper install/wrapping. --- gnu/packages/machine-learning.scm | 45 +++++++++++++++++++------------ 1 file changed, 28 insertions(+), 17 deletions(-) diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm index fb583e93273..9a8dee28191 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -3217,10 +3217,18 @@ (define-public kaldi-gstreamer-server (file-name (git-file-name name version)) (sha256 (base32 - "1iijq8jmgdxr7961inal1ggs496ymxradm51m4sqx8vl983x14y8")))) + "1iijq8jmgdxr7961inal1ggs496ymxradm51m4sqx8vl983x14y8")) + ;; XXX: Tests are broken beyond repair and are mingled in the + ;; source directory. Remove them to avoid installing them. + ;; See https://github.com/nicolas-graves/kaldi-gstreamer-server + ;; for a fork that tries to repair them, to no avail. + (snippet #~(for-each delete-file + '("kaldigstserver/test-buffer.py" + "kaldigstserver/decoder_test.py" + "kaldigstserver/decoder2_test.py"))))) (build-system gnu-build-system) (arguments - `(#:tests? #f ; there are no tests that can be run automatically + `(#:tests? #f #:modules ((guix build utils) (guix build gnu-build-system) (srfi srfi-26)) @@ -3228,7 +3236,11 @@ (define-public kaldi-gstreamer-server (modify-phases %standard-phases (delete 'configure) (replace 'build - (lambda* (#:key outputs #:allow-other-keys) + (lambda _ + ;; Migrate to Glib.MainLoop. + (substitute* (find-files "kaldigstserver" "\\.py") + (("GObject\\.threads_init\\(\\)") "") + (("GObject") "GLib")) ;; Disable hash randomization to ensure the generated .pycs ;; are reproducible. (setenv "PYTHONHASHSEED" "0") @@ -3237,10 +3249,6 @@ (define-public kaldi-gstreamer-server (substitute* "master_server.py" (("\\.replace\\('\\\\.*") ")")) - ;; This is a Python 2 file - (delete-file "decoder_test.py") - (delete-file "test-buffer.py") - (for-each (lambda (file) (apply invoke `("python" @@ -3267,19 +3275,18 @@ (define-public kaldi-gstreamer-server (let* ((server (string-append bin "/kaldi-gst-server")) (client (string-append bin "/kaldi-gst-client")) (worker (string-append bin "/kaldi-gst-worker")) - (PYTHONPATH (getenv "GUIX_PYTHONPATH")) - (GST_PLUGIN_PATH (string-append - (assoc-ref inputs "gst-kaldi-nnet2-online") - "/lib/gstreamer-1.0:${GST_PLUGIN_PATH}")) (wrap (lambda (wrapper what) (with-output-to-file wrapper (lambda _ - (format #t - "#!~a + (format #t "#!~a export GUIX_PYTHONPATH=~a -export GST_PLUGIN_PATH=~a -exec ~a ~a/~a \"$@\"~%" - (which "bash") PYTHONPATH GST_PLUGIN_PATH +export GI_TYPELIB_PATH=~a:${GI_TYPELIB_PATH} +export GST_PLUGIN_SYSTEM_PATH=~a:${GST_PLUGIN_SYSTEM_PATH} +exec ~a ~a~a \"$@\"~%" + (which "bash") + (getenv "GUIX_PYTHONPATH") + (getenv "GI_TYPELIB_PATH") + (getenv "GST_PLUGIN_SYSTEM_PATH") (which "python") share what))) (chmod wrapper #o555)))) (for-each wrap @@ -3288,7 +3295,11 @@ (define-public kaldi-gstreamer-server "client.py" "worker.py"))))))))) (inputs - (list gst-kaldi-nnet2-online + (list gstreamer + gst-kaldi-nnet2-online + gst-plugins-base + gst-plugins-good + kaldi python-wrapper python-pygobject python-pyyaml -- 2.49.0
guix-patches <at> gnu.org
:bug#78022
; Package guix-patches
.
(Sun, 27 Apr 2025 12:53:03 GMT) Full text and rfc822 format available.Message #32 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Christopher Baines <mail <at> cbaines.net> To: Nicolas Graves via Guix-patches via <guix-patches <at> gnu.org> Cc: 78022-done <at> debbugs.gnu.org, Nicolas Graves <ngraves <at> ngraves.fr> Subject: Re: [bug#78022] [PATCH 0/8] Fix kaldi-based packages Date: Sun, 27 Apr 2025 13:52:23 +0100
[Message part 1 (text/plain, inline)]
Nicolas Graves via Guix-patches via <guix-patches <at> gnu.org> writes: > Nicolas Graves (8): > gnu: kaldi-for-vosk: Update to 0-1.bc5baf1. > gnu: vosk-api: Update to 0.3.50. > gnu: Remove openfst-1.7.3. > gnu: openfst: Update to 1.8.4. > gnu: kaldi: Update to 0-2.01aadd7. > gnu: kaldi: Improve style. > gnu: gst-kaldi-nnet2-online: Fix build. > gnu: kaldi-gstreamer-server: Fix build, cleanup tests. > > gnu/local.mk | 2 + > gnu/packages/machine-learning.scm | 307 +++++++++--------- > .../patches/kaldi-ignore-failing-test.patch | 28 ++ > .../kaldi-openblas-0.3.29-compatibility.patch | 70 ++++ > 4 files changed, 256 insertions(+), 151 deletions(-) > create mode 100644 gnu/packages/patches/kaldi-ignore-failing-test.patch > create mode 100644 gnu/packages/patches/kaldi-openblas-0.3.29-compatibility.patch Thanks for the patches, these look good to me, I've pushed them to master as 97ea59b846c5267098a019f36c84dcaa55fb123e. Chris
[signature.asc (application/pgp-signature, inline)]
Christopher Baines <mail <at> cbaines.net>
:Nicolas Graves <ngraves <at> ngraves.fr>
:Debbugs Internal Request <help-debbugs <at> gnu.org>
to internal_control <at> debbugs.gnu.org
.
(Mon, 26 May 2025 11:24:06 GMT) Full text and rfc822 format available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.