diff options
author | Christopher Baines <mail@cbaines.net> | 2017-10-11 11:59:20 +0100 |
---|---|---|
committer | Christopher Baines <mail@cbaines.net> | 2017-10-15 19:02:43 +0100 |
commit | dd2de2842344ede8e92459fe66c5a45ca3dc40ff (patch) | |
tree | 79756755718465e1481b84197706c372b23673e1 | |
parent | 791cfa672d1b0eda29634f603177d1bede5b419a (diff) | |
download | patches-dd2de2842344ede8e92459fe66c5a45ca3dc40ff.tar patches-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.scm | 8 |
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. |