summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorRaghav Gururajan <raghavgururajan@disroot.org>2020-07-02 01:55:56 -0400
committerDanny Milosavljevic <dannym@scratchpost.org>2020-08-18 22:56:26 +0200
commit8dde7a8694d8ec032cb3f3c0302f3e124677cef6 (patch)
tree3526117e2e9b19dbe24d7e586651bdd6f2082fdd /gnu
parentde4ca0934119f61fec4195c69f86d6af31547249 (diff)
downloadguix-8dde7a8694d8ec032cb3f3c0302f3e124677cef6.tar.gz
gnu: Add flite.
* gnu/packages/speech.scm (flite): New variable.

Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/speech.scm68
1 files changed, 68 insertions, 0 deletions
diff --git a/gnu/packages/speech.scm b/gnu/packages/speech.scm
index fc87a19b79..66d8fca31b 100644
--- a/gnu/packages/speech.scm
+++ b/gnu/packages/speech.scm
@@ -51,6 +51,74 @@
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages textutils))
 
+(define-public flite
+  (package
+    (name "flite")
+    (version "2.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "http://www.festvox.org/" name "/packed/" name
+                       "-" version "/" name "-" version "-release.tar.bz2"))
+       (sha256
+        (base32 "119b7l7pjb1l5raqq24p8rmhdqni49vjh2mgdryrfr575rm3yg67"))))
+    (build-system gnu-build-system)
+    (arguments
+     ;; XXX:
+     ;; There numerous issues with the testsuite.
+     ;; Enable all of them once they are fixed in upstream.
+     `(#:tests? #f
+       #:configure-flags
+       (list
+        "--enable-shared"
+        (string-append "LDFLAGS=-Wl,-rpath="
+                       (assoc-ref %outputs "out")
+                       "/lib"))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-rpath
+           (lambda _
+             (substitute* "main/Makefile"
+              (("flite_LIBS_flags \\+= -Wl,-rpath [^ ]*")
+               "flite_LIBS_flags +="))
+             #t))
+         (delete 'check)
+         ;; Modifying testsuite/Makefile is not done in favor of
+         ;; overriding 'check.
+         ;; The path not taken would be:
+         ;; test:\n\t$(foreach x,$(subst tris1,,$(subst dcoffset_wave,,$(subst flite_test,,$(subst by_word,,$(subst bin2ascii,,$(subst lpc_resynth,,$(subst rfc,,$(subst compare_wave,,$(subst record_in_noise,,$(subst combine_waves,,$(patsubst play_%,,$(subst record_wave,,$(subst lex_lookup,,$(patsubst lpc_test%,,$(patsubst asciiS2U%,,$(patsubst asciiU2S%,,$(ALL))))))))))))))))),echo TEST $x && ./$x data.one && ) true
+         (add-after 'install 'check
+           (lambda _
+             (invoke "make" "-C" "testsuite")
+             (with-directory-excursion "testsuite"
+               (invoke "./token_test")
+               (invoke "./hrg_test")
+               (invoke "./regex_test")
+               (invoke "./nums_test")
+               (invoke "./lex_test")
+               (invoke "./utt_test")
+               (invoke "./multi_thread"))
+             #t))
+         (add-after 'install 'remove-static-libs
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out")))
+               (for-each delete-file
+                         (find-files out "\\.a$"))
+               #t))))))
+    (native-inputs
+     `(("perl" ,perl)))
+    (inputs
+     `(("alsa" ,alsa-lib)))
+    (synopsis "Speech synthesis system")
+    (description "Flite (festival-lite) is a small, fast run-time text to speech
+synthesis engine developed at CMU and primarily designed for small embedded
+machines and/or large servers.  It is designed as an alternative text to speech
+synthesis engine to Festival for voices built using the FestVox suite of voice
+building tools.")
+    (home-page "http://www.festvox.org/flite/index.html")
+    (license (license:non-copyleft "file:///COPYING"))))
+
 (define-public espeak
   (package
     (name "espeak")