aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2017-10-11 11:59:20 +0100
committerChristopher Baines <mail@cbaines.net>2017-10-15 19:02:43 +0100
commitdd2de2842344ede8e92459fe66c5a45ca3dc40ff (patch)
tree79756755718465e1481b84197706c372b23673e1
parent791cfa672d1b0eda29634f603177d1bede5b419a (diff)
downloadguix-dd2de2842344ede8e92459fe66c5a45ca3dc40ff.tar
guix-dd2de2842344ede8e92459fe66c5a45ca3dc40ff.tar.gz
emacs-build-system: Handle missing programs when patching.
Previously the string-append here would error, which isn't useful as it doesn't tell you which command couldn't be found. To make the error actionable, catch it earlier, and explicitly error. * guix/build/emacs-build-system.scm (patch-el-files): Handle (which cmd) returning #f.
-rw-r--r--guix/build/emacs-build-system.scm8
1 files changed, 6 insertions, 2 deletions
diff --git a/guix/build/emacs-build-system.scm b/guix/build/emacs-build-system.scm
index 2404dbddb4..1474c80dd3 100644
--- a/guix/build/emacs-build-system.scm
+++ b/guix/build/emacs-build-system.scm
@@ -92,8 +92,12 @@ store in '.el' files."
(el-dir (string-append out %install-suffix "/" elpa-name-ver))
(substitute-cmd (lambda ()
(substitute* (find-files "." "\\.el$")
- (("\"/bin/([^.].*)\"" _ cmd)
- (string-append "\"" (which cmd) "\""))))))
+ (("\"/bin/([^.].*)\"" _ cmd-name)
+ (let ((cmd (which cmd-name)))
+ (unless cmd
+ (error
+ "patch-el-files: unable to locate " cmd-name))
+ (string-append "\"" cmd "\"")))))))
(with-directory-excursion el-dir
;; Some old '.el' files (e.g., tex-buf.el in AUCTeX) are still encoded
;; with the "ISO-8859-1" locale.