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 @@ (define-module (gnu packages speech) #: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")