Subject: Re: [bug#33893] [PATCH v5 2/4] gnu: Add docker-engine.

From: Danny Milosavljevic <[email-masked]>
Date: Mon, 7 Jan 2019 19:44:55 +0100

Hi Ludo,

On Sun, 06 Jan 2019 21:20:35 +0100
Ludovic Courtès <[email-masked]> wrote:

> Danny Milosavljevic <[email-masked]> skribis:
> 
> > * gnu/packages/docker.scm (docker-engine): New variable.
> > (%docker-version): New variable.  
> 
> [...]
> 
> > +              ;(("LookPath") "Guix_doesnt_want_LookPath")  
> 
> No longer needed?

It was meant as a detector in order to make compilation fail when, in future
versions, docker wants to invok new stuff that we didn't patch yet.
Should we do that?

> > +         (replace 'configure
> > +           (lambda _
> > +             (setenv "DOCKER_GITCOMMIT" (string-append "v" ,%docker-version))
> > +             (setenv "AUTO_GOPATH" "1")  
> 
> Could you add a comment saying what AUTO_GOPATH does?

Yes, I'll add one.

> > +         (replace 'build
> > +           (lambda _
> > +             ;(invoke "hack/make.sh" "binary")
> > +             ; FIXME: bash -c 'hack/validate/default && hack/make.sh'  
> 
> It’s not clear to me what should be fixed; perhaps a leftover?

Yeah, I meant to check what hack/validate/default does and it seems to do
developer-specific tests (commit message formatted the right way etc), so
I guess we can just not invoke it.

> > +         (replace 'check
> > +           (lambda _
> > +             ; FIXME: Those don't find any of the go packages
> > +             ; needed.  Probably GOPATH/GOROOT related.
> > +             ;(invoke "hack/test/unit")
> > +             #t))  
> 
> That’s potentially problematic.  :-)  Any idea how difficult it would be
> to run these tests?

Go has peculiar ideas of how the directory layout is supposed to be set up.
I could probably figure it out - but if someone with more Go knowledge could
step forward it would be much faster.

> > +         (replace 'install
> > +           (lambda* (#:key outputs #:allow-other-keys)
> > +             (let* ((out (assoc-ref outputs "out"))
> > +                    (out-bin (string-append out "/bin")))
> > +               (install-file "bundles/dynbinary-daemon/dockerd" out-bin)
> > +               (install-file "bundles/dynbinary-daemon/dockerd-dev" out-bin))
> > +             ;(setenv "DOCKER_MAKE_INSTALL_PREFIX" (assoc-ref outputs "out"))
> > +             ; TODO: KEEPBUNDLE=1
> > +             ;./source/bundles/dynbinary-daemon/dockerd
> > +             ;(invoke "hack/make.sh" "install-binary")  
> 
> Comments can be removed?

Yeah.

Thanks!