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

From: [email-masked] (Ludovic Courtès)
Date: Tue, 26 Sep 2017 09:41:36 +0200

Heya!

Leo Famulari <[email-masked]> skribis:

> On Mon, Sep 25, 2017 at 02:21:44PM -0400, Leo Famulari wrote:
>> This suggests to me that the Syncthing build process is not using the
>> compiled objects of these packages but is instead trying to rebuild
>> them.
>> 
>> So, perhaps something is not quite right with the go-build-system — I'm
>> not sure.
>
> While debugging, I tried changing the go-build-system's build procedure
> to this:
>
> ------
> (define* (build #:key import-path #:allow-other-keys)
>   "Build the package named by IMPORT-PATH."
>   (unless (zero? (system* "go" "install" "-v" import-path))
>     (zero? (system* "go" "env"))))  
> ------

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

> 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?

Ludo’.

PS: Great to see ‘go-build-system’ coming!