Subject: go: Commit d36c73b8a8f breaks `go tool`
From: Katherine Cox-Buday <[email-masked]>
To: [email-masked]
Cc: Sarah Morgensen <[email-masked]>, Leo Famulari <[email-masked]>
Date: Wed, 15 Sep 2021 12:29:53 -0500
List-Id: <debbugs-submit.debbugs.gnu.org>

Aside from not being able to issue ~go tool~ commands, things like
~gopls~[1] are broken as well.

By design, ~GOTOOLDIR~ cannot be set from the user's environment[2].
This commit moved the directory, but did not update the ~GOTOOLDIR~
path.

#+begin_example
  $ env |grep GOTOOLDIR

  $ go env GOTOOLDIR
  /home/katco/.guix-profile/pkg/tool/linux_amd64

  $ export GOTOOLDIR=/tmp

  $ env |grep GOTOOLDIR
  GOTOOLDIR=/tmp

  $ go env GOTOOLDIR
  /home/katco/.guix-profile/pkg/tool/linux_amd64

  $ go env -w GOTOOLDIR=/tmp
  go env -w: GOTOOLDIR cannot be modified

  $ [ -e $(go env GOTOOLDIR) ] || echo Nope, not here.
  Nope, not here.

  $ [ -e /home/katco/.guix-profile/lib/go/pkg/tool ] && echo Here it is
  Here it is
#+end_example

I think these are the lines to blame:

#+begin_example
  d36c73b8a8f (Sarah Morgensen                 2021-09-02  763)                (for-each
  d36c73b8a8f (Sarah Morgensen                 2021-09-02  764)                 (lambda (file)
  d36c73b8a8f (Sarah Morgensen                 2021-09-02  765)                   (copy-recursively file (string-append out "/lib/go/" file)))
  d36c73b8a8f (Sarah Morgensen                 2021-09-02  766)                 '("lib" "VERSION" "pkg/include" "pkg/tool"))
#+end_example

[1] - https://pkg.go.dev/golang.org/x/tools/gopls
[2] - https://github.com/golang/go/issues/10264#issuecomment-91394026

--
Katherine