mirror of
https://git.savannah.gnu.org/git/guix.git
synced 2026-05-28 03:51:53 +02:00
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.
This commit is contained in:
@@ -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'.
|
||||
|
||||
Reference in New Issue
Block a user