Subject: bug#50493: Update go-build-system to use Go 1.17.

From: Leo Famulari <[email-masked]>
Date: Tue, 14 Dec 2021 15:11:04 -0500

Alright, it's time to land these patches. I tested with a handful of
packages on x86_64 and it seems fine. I can test every package before
pushing.

However, Go 1.17.4 doesn't build for us on aarch64. I tried building the
derivation for this scheduled CI job:

https://ci.guix.gnu.org/build/1952348/details
/gnu/store/bldlnwxjwbi1iidm6cdw20kkpgy5gk09-go-1.17.4.drv

And it fails the test suite due to missing libgcc (I think), or maybe
something related to 'hello.exe', which seems weird:

------
$ guix build /gnu/store/bldlnwxjwbi1iidm6cdw20kkpgy5gk09-go-1.17.4.drv
[...]
--- FAIL: TestTrampolineCgo (78.58s)
    link_test.go:739: executable failed to run: exit status 127
        /tmp/guix-build-go-1.17.4.drv-0/TestTrampolineCgo602252092/001/hello.exe: error while loading shared libraries: libgcc_s.so.1: cannot open shared object file: No such file or directory
    link_test.go:742: unexpected output:
        /tmp/guix-build-go-1.17.4.drv-0/TestTrampolineCgo602252092/001/hello.exe: error while loading shared libraries: libgcc_s.so.1: cannot open shared object file: No such file or directory
FAIL
FAIL    cmd/link        425.553s
ok      cmd/link/internal/benchmark     0.449s
ok      cmd/link/internal/ld    84.727s
ok      cmd/link/internal/loader        0.366s
ok      cmd/nm  73.342s
ok      cmd/objdump     96.072s
ok      cmd/pack        77.197s
ok      cmd/pprof       155.165s
ok      cmd/trace       2.437s
ok      cmd/vet 318.126s
FAIL
go tool dist: Failed: exit status 1
command "sh" "run.bash" "--no-rebuild" failed with status 1
builder for `/gnu/store/bldlnwxjwbi1iidm6cdw20kkpgy5gk09-go-1.17.4.drv' failed with exit code 1
------

I notice that we remove libgcc from the dependencies of go-1.17:

https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/golang.scm?id=b484301f529e246df80380a641822f09a8775755#n799

Anyways, any ideas?