~ruther/guix-local

dd2de2842344ede8e92459fe66c5a45ca3dc40ff — Christopher Baines 8 years ago 791cfa6
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.