[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#31678] [PATCH 1/2] gnu: erlang: Patch occurrences of /bin/sh in the
From: |
宋文武 |
Subject: |
[bug#31678] [PATCH 1/2] gnu: erlang: Patch occurrences of /bin/sh in the source. |
Date: |
Sun, 10 Jun 2018 14:00:07 +0800 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) |
address@hidden (宋文武) writes:
> Christopher Baines <address@hidden> writes:
>
>> 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 | 21 +++++++++++++++++++++
>> 1 file changed, 21 insertions(+)
>>
>> diff --git a/gnu/packages/erlang.scm b/gnu/packages/erlang.scm
>> index 0e2b7b5bc..1fce57388 100644
>> --- a/gnu/packages/erlang.scm
>> +++ b/gnu/packages/erlang.scm
>> @@ -127,6 +127,27 @@
>> (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")))))
>
> It should return ‘#t’, otherwise look good to me!
Oh, ‘substitute*’ does return ‘#t’ itself, never mind :-)