guix-patches
[Top][All Lists]
Advanced

[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: Christopher Baines
Subject: [bug#31678] [PATCH 1/2] gnu: erlang: Patch occurrences of /bin/sh in the source.
Date: Tue, 12 Jun 2018 07:56:43 +0100
User-agent: mu4e 1.0; emacs 26.1

宋文武 <address@hidden> writes:

> 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 :-)

I've added an explicit #t in there anyway, as I couldn't quite work out
under what circumstances substitute* returned #t. The other phase in the
erlang package using substitute* also explicitly returns #t.

Attachment: signature.asc
Description: PGP signature


reply via email to

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