Subject: Re: [bug#47539] [PATCH 00/28] Add gh and dependencies

From: Xinglu Chen <[email-masked]>
Date: Thu, 01 Apr 2021 20:16:11 +0200

On Thu, Apr 01 2021, Leo Prikler wrote:

> Am Donnerstag, den 01.04.2021, 20:05 +0200 schrieb Xinglu Chen:
>> 
>> Thank you for the pointer, I managed to get it to work with the
>> following snippet:
>> 
>> #+begin_src scheme
>> (add-after 'unpack 'remove-safeexec
>>            (lambda* (#:key outputs #:allow-other-keys)
>>              (let ((prefix-file (lambda (file)
>>                              (string-append "src/github.com/cli/cli/"
>> file))))
>>                ;; 'github.com/cli/safeexec' is only used for Windows,
>> we
>>                ;; replace it with the regular 'os/exec'.  See
>>                ;; <https://issues.guix.gnu.org/47539> for discussion.
>>                (substitute* (map prefix-file
>>                                  '("pkg/cmd/alias/expand/expand.go"
>>                                    "script/build.go"))
>>                  (("github.com/cli/safeexec") "os/exec")
>>                  (("safeexec") "exec"))
>>                ;; These files have already imported 'os/exec',
>> meaning that
>>                ;; 'os/exec' would get imported twice, causing an
>> error.
>>                ;; Instead, we just remove the
>> 'github.com/cli/safeexec'.
>>                (substitute* (map prefix-file
>>                                  '("cmd/gh/main.go"
>>                                    "git/git.go"
>>                                    "pkg/iostreams/iostreams.go"
>>                                    "pkg/cmd/auth/shared/ssh_keys.go"
>>                                    "pkg/cmd/pr/checkout/checkout.go"
>>                                    "pkg/cmdutil/web_browser.go"
>>                                    "pkg/surveyext/editor_manual.go"))
>>                  (("\"github.com/cli/safeexec\"") "")
>>                  (("safeexec") "exec")))))
>> #+end_src
> This should probably be implemented with directory excursions, but
> other than that if it works for you, then LGTM :)

Ah, I didn't know about that.  Thanks for pointing this out. :)