aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages
diff options
context:
space:
mode:
authorKei Kebreau <kkebreau@posteo.net>2021-03-28 22:38:09 -0400
committerKei Kebreau <kkebreau@posteo.net>2021-04-21 17:15:37 -0400
commit50616a7dfbbda1d7f8d5cffceaa165b829d2c8ae (patch)
tree6c1efb939a0e97517bec4c507b90c5f08b9ed7ff /gnu/packages
parent235f2c98b99d78c5f4b45bd0036a19ee02033efd (diff)
downloadguix-50616a7dfbbda1d7f8d5cffceaa165b829d2c8ae.tar.gz
guix-50616a7dfbbda1d7f8d5cffceaa165b829d2c8ae.zip
gnu: emacspeak: Fix Tclx and espeak server loading.
Fixes <https://issues.guix.gnu.org/42861>. * gnu/packages/emacs-xyz.scm (emacspeak)[arguments]: In the 'configure' phase, add Tclx library to the load path of Tcl in the espeak server script. Remove 'wrap-program' phase.
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/emacs-xyz.scm25
1 files changed, 12 insertions, 13 deletions
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 20aab598e7..c7cce1563d 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -12126,8 +12126,18 @@ highlights quasi-quoted expressions.")
#:phases
(modify-phases %standard-phases
(replace 'configure
- (lambda _
+ (lambda* (#:key inputs outputs #:allow-other-keys)
(setenv "SHELL" (which "sh"))
+ ;; Ensure the tclespeak.so binary is found in the correct location
+ ;; by adding the path to the Tclx library to the Tcl $auto_path
+ ;; variable.
+ (with-fluids ((%default-port-encoding "ISO-8859-1"))
+ (substitute* "servers/espeak"
+ (("package require Tclx")
+ (string-append "set auto_path [linsert $auto_path 0 "
+ (assoc-ref inputs "tclx")
+ "/lib]\n"
+ "package require Tclx"))))
;; Configure Emacspeak according to etc/install.org.
(invoke "make" "config")))
(add-after 'build 'build-espeak
@@ -12155,18 +12165,7 @@ highlights quasi-quoted expressions.")
;; Install the convenient startup script.
(mkdir-p bin)
(copy-file "run" (string-append bin "/emacspeak")))
- #t))
- (add-after 'install 'wrap-program
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (emacspeak (string-append out "/bin/emacspeak"))
- (espeak (string-append (assoc-ref inputs "espeak")
- "/bin/espeak")))
- ;; The environment variable DTK_PROGRAM tells emacspeak what
- ;; program to use for speech.
- (wrap-program emacspeak
- `("DTK_PROGRAM" ":" prefix (,espeak)))
- #t))))
+ #t)))
#:tests? #f)) ; no check target
(inputs
`(("emacs" ,emacs)