guix-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug#58140] [PATCH 2/6] gnu: Add kaldi-for-vosk.


From: Maxime Devos
Subject: [bug#58140] [PATCH 2/6] gnu: Add kaldi-for-vosk.
Date: Wed, 28 Sep 2022 23:05:26 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.12.0

>+            (add-after 'unpack 'chdir
>+              (lambda _ (chdir "src") #t))

Trailing #t haven't been required since a long time.

On 28-09-2022 13:57, Nicolas Graves via Guix-patches via wrote:
+                (when (not (or (string-prefix? "x86_64" system)
+                               (string-prefix? "i686" system)))
+                  (substitute* "makefiles/linux_openblas.mk"
+                    (("-msse -msse2") "")))

You are testing for the system it is being compiled on ('system'), not the system it is being compiled for ('target'). For cross-compilation, usually the latter is required. You may find
#$@(if (target-x86?) #~((substitute* ...) #~())
useful, it automatically handles cross-compilation, both 32-bit and 64-bit, a hypothetical i786 it it ever starts existing, i586 if we ever lower the requirements ...

+                     (string-append "OPENBLASROOT=\"" #$openblas "\""))

#$PACKAGE does not compose with --with-input. I recommend doing something like
(dirname (dirname (search-input-file inputs "lib/libblas.so")))
instead.  Likewise for other uses of #$PACKAGE.

+                  (setenv "OPENFST_VER" #$(package-version openfst))

I recommend referring to 'openfst' with 'this-package-input', that way when --with-input or --with-latest is used to change it to something with a different version, the version should still be detetcxed properly.

+                (substitute* "./Makefile"
+                  (("USE_SHARED\\?=0")
+                   "USE_SHARED?=1")

IIUC, ?=0 means that 0 is the default, you can override it by setting #:make-flags.

dialects - English,

I think one of the special dashes (en dashes, em dashes, figure dash? Don't know which one) would be appropriate here.

+(define-public python-nerd-dictation
+  (let* ((commit "53ab129a5ee0f8b5df284e8cf2229219b732c59e")
+         (revision "0"))
+    (package
+      (name "python-nerd-dictation")
+      (version (git-version "0" revision commit))

Going by <https://github.com/ideasman42/nerd-dictation>, 'python-' is not part of its name, you can drop the prefix AFAICT.

+      (synopsis "Offline speech-to-text for desktop Linux")

If it's Linux only, you can use the 'supported-systems' field for that, see (gnu packages linux) for examples.

+                        #$(file-append bash-minimal "/bin/bash")

You can use 'search-input-file' to avoid depending on input labels.

+          (let* ((out (assoc-ref %outputs "out"))

If you are using G-exps, you can replace (assoc-ref %outputs "out") with its G-exp equivalent #$output.

+(define openfst-for-vosk
+  (package
+    (inherit openfst)
+    (version "1.8.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "http://www.openfst.org/twiki/pub/FST/";
+                           "FstDownload/openfst-" version ".tar.gz"))
+       (sha256
+        (base32 "0h2lfhhihg63b804hrcljnkggijbjmp84i5g8q735wb09y9z2c4p"))))

Why select an older version? Would keeping the original (and more up-to-date) version work? To avoid a name conflict between the openfst (which would be inconvenient for "guix show", "guix install", "guix shell"), you can override the 'name' field.

Greetings,
Maxime.

Attachment: OpenPGP_0x49E3EE22191725EE.asc
Description: OpenPGP public key

Attachment: OpenPGP_signature
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]