go: update to 1.13
(address . guix-patches@gnu.org)
Hi Guix,
The following is the minimal patch to update Go to 1.13. I'm motivated to
do this, in part, because of the go modules transition [0]. In the short
term, this will allow users of the go tooling to use the newest modules
behavior. The Guix go tooling, however, is not ready for modules [1], so
in this commit, I configure the go-build-system to use the old behavior.
Eventually the switch to do so will go away upstream, so we'll need to
update the build system.
Some things to be aware of when reviewing:
I believe that in Go 1.13, the upstream issued that lead to excessive
references being maintained in go programs [2] has been fixed, but I did
not undo our workaround.
With 1.13 the behavior of `go get` changed to download packages from
Google's mirror at proxy.golang.org by default [3] as opposed to directly
from upstream. This is configurable by users, and I don't think it is a
FSDG issue (if it is, I think it would be on privacy grounds), but we
could change the default behavior if needed.
I replaced the go-1.12 package with go-1.13, rather than having both.
guix refresh -l go says that "Building the following 51 packages would
ensure 175 dependent packages are rebuilt," so I have prepared the commit
against master.
I tested the commit by building syncthing and restic on my x86_64 system.
Thanks,
Jack