From b5453aa7c314bec95e0c25b904f3517d338577ed Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Fri, 1 Jun 2018 14:29:24 +0100 Subject: [PATCH] gnu: erlang: Patch occurrences of /bin/sh in the source. Previously, the elixir package would often fail to build, as running :os:cmd would fail, as /bin/sh doesn't exist when building the elixir package. These changes fix that issue. * gnu/packages/erlang.scm (erlang)[arguments]: Add new patch-/bin/sh phase to replace hardcoded references to /bin/sh with a file in the store. --- gnu/packages/erlang.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/erlang.scm b/gnu/packages/erlang.scm index 55e0e62478..1c18efe9da 100644 --- a/gnu/packages/erlang.scm +++ b/gnu/packages/erlang.scm @@ -128,6 +128,29 @@ (date->string source-date-epoch "{H,Mi,S} = {~H,~M,~S},"))) #t))) + (add-after 'unpack 'patch-/bin/sh + (lambda _ + (substitute* "erts/etc/unix/run_erl.c" + (("sh = \"/bin/sh\";") + (string-append "sh = \"" + (which "sh") + "\";"))) + + (substitute* "erts/emulator/sys/unix/sys_drivers.c" + (("SHELL \"/bin/sh\"") + (string-append "SHELL \"" + (which "sh") + "\""))) + (substitute* "erts/emulator/sys/unix/erl_child_setup.c" + (("SHELL \"/bin/sh\"") + (string-append "SHELL \"" + (which "sh") + "\""))) + + (substitute* "lib/kernel/src/os.erl" + (("/bin/sh") (which "sh"))) + + #t)) (add-after 'patch-source-shebangs 'patch-source-env (lambda _ (let ((escripts