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.
1 files changed, 6 insertions(+), 2 deletions(-) M guix/build/emacs-build-system.scm
M guix/build/emacs-build-system.scm => guix/build/emacs-build-system.scm +6 -2
@@ 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.