Subject: [bug#28586] [PATCH 2/2] gnu: Add Syncthing.

From: Leo Famulari <[email-masked]>
Date: Fri, 29 Sep 2017 15:24:31 -0400

On Tue, Sep 26, 2017 at 09:41:36AM +0200, Ludovic Courtès wrote:
> Leo Famulari <[email-masked]> skribis:
> Note that it should always return a Boolean:
> 
>   (or (zero? (system* "go" "install" …))
>       (begin  ;we failed but we want to print debugging info
>         (system* "go" "env")
>         #f))

Ah, yes, thanks for the reminder.

> > However, when it encounters a failure, it does not seem to run `go env`:
> >
> > ------
> > [...]
> > 	/gnu/store/40m4imp31qkhl2yqvxm4dfaw0j6hgfr2-golang-github-com-golang-groupcache-lru-0.0.0-0.72d04f9/src/github.com/pkg/errors
> > 	/gnu/store/dn3hbj11bzk6ys3yj5k36k7a9fyg1zp8-golang-github-com-edsrzf-mmap-go-0.0.0-0.0bce6a6/src/github.com/pkg/errors
> > 	/gnu/store/h36806f660r6p5xzwsc89zrbfnvi6nwi-golang-github-com-d4l3k-messagediff-1.1.0-0.29f32d8/src/github.com/pkg/errors
> > exit status 1
> > exit status 1
> > phase `build' failed after 1.9 seconds
> 
> I think it just means that “go env” returned with exit code 1, no?

No, it prints 'exit status 1' twice even when the `go env` invocation is
removed from the build phase. This particular case was really about
making debugging easier for me. It's not necessary to run `go env` when
things fail.

I'm still trying to solve the previously mentioned issue about certain
inputs needing to be propagated...