guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

07/08: gnu: emacs: Patch references to /bin/sh.


From: guix-commits
Subject: 07/08: gnu: emacs: Patch references to /bin/sh.
Date: Sun, 22 Mar 2020 21:45:17 -0400 (EDT)

apteryx pushed a commit to branch master
in repository guix.

commit 4cbd60698daf648979fe8ad924602e87dcdefde1
Author: Maxim Cournoyer <address@hidden>
AuthorDate: Sat Mar 21 23:16:08 2020 -0400

    gnu: emacs: Patch references to /bin/sh.
    
    When attempting to run ert-runner in the build side environment where 
/bin/sh
    doesn't exist as part of the emacs-elpy test suite, Emacs was throwing the
    error "Searching for program: No such file or directory, /bin/sh".  This is
    because the default shell when SHELL is not set was "/bin/sh", as can be 
seen
    in callproc.c:
    
      sh = getenv ("SHELL");
      Vshell_file_name = build_string (sh ? sh : "/bin/sh");
    
    Thus, patch the occurrences of "/bin/sh" in the source files of Emacs to 
refer
    to their correct store location.
    
    * gnu/packages/emacs.scm (emacs)[phases]{patch-program-file-names}: Add 
phase.
---
 gnu/packages/emacs.scm | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 3be3ff0..de19998 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -131,6 +131,16 @@
                                "--disable-build-details")
        #:phases
        (modify-phases %standard-phases
+         (add-after 'unpack 'patch-program-file-names
+           (lambda _
+             (substitute* '("src/callproc.c"
+                            "lisp/term.el"
+                            "lisp/htmlfontify.el"
+                            "lisp/textmodes/artist.el"
+                            "lisp/progmodes/sh-script.el")
+               (("\"/bin/sh\"")
+                (format "~s" (which "sh"))))
+             #t))
          (add-before 'configure 'fix-/bin/pwd
            (lambda _
              ;; Use `pwd', not `/bin/pwd'.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]