emacs-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#49221: closed ([PATCH 00/13] Add go-1.16 and build with gccgo)


From: GNU bug Tracking System
Subject: bug#49221: closed ([PATCH 00/13] Add go-1.16 and build with gccgo)
Date: Fri, 06 Aug 2021 03:01:02 +0000

Your message dated Thu, 05 Aug 2021 22:59:52 -0400
with message-id <874kc3mg5z.fsf@gmail.com>
and subject line Re: bug#49221: [PATCH 00/13] Add go-1.16 and build with gccgo
has caused the debbugs.gnu.org bug report #49221,
regarding [PATCH 00/13] Add go-1.16 and build with gccgo
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs@gnu.org.)


-- 
49221: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=49221
GNU Bug Tracking System
Contact help-debbugs@gnu.org with problems
--- Begin Message --- Subject: [PATCH 00/13] Add go-1.16 and build with gccgo Date: Thu, 24 Jun 2021 23:52:55 -0700
Hello Guix,

This patch adds go 1.16, but does *not* make it the default for other packages
which use go (as suggested in [2]). There have been a lot of changes between
1.14 and 1.16, and while I have fixed many issues, I am sure continued testing
will uncover many more.

This patch is based on [0], which adds gccgo-10.

With this patch, go automatically bootstraps from gccgo[0][1] on platforms not
supported by go 1.4, but you can do so on any platform with:

  guix build go --with-input=go@1.4-bootstrap-20171003=gccgo@10

Additionally, to build packages with 1.16:

  guix build <package> --with-input=go@1.14=go@1.16

I would appreciate testing and feedback on the new bootstrap process,
especially from powerpc64le users, as I have only been able to test on x86-64.
(Note that it took about two hours for gccgo to build and 30 minutes for gccgo
to build go.)

Changes from 1.14:

  * Bootstrap with gccgo on platforms which do not support go 1.4 (see above)
  * Use GO_LDSO to set the interpreter rather than patching files
  * Fix typo in cgoldflags patch ("-rpath=" > "-Wl,-rpath=")
  * Fix and re-enable some cgo/gccgo tests
  * Remove references to perl (used for tests) to reduce closure size by 10%
  * Set GOCACHE so go doesn't complain that it can't access it $HOME
  * Break out tests into "check" phase so builders have more control

I have successfully built and tested most go packages on x86-64, including
restic, syncthing, chezmoi, and exercism.

However... docker does not pass tests. It should probably be updated to 20.10,
but it is a very complicated package and I do not have the skill to do so. I
attempted to backport some of the fixes, but that was also beyond my abilities.

Perhaps someone else will rise to the challenge? :)

Sarah

[0] <https://issues.guix.gnu.org/49019> [PATCH 0/1] gnu: Add gccgo-10.
[1] <https://issues.guix.gnu.org/28226> Build go with gccgo
[2] <https://issues.guix.gnu.org/45161> [PATCH] Added Go 1.16.2

Sarah Morgensen (13):
  gnu: go-github-com-puerkitobio-goquery: Update to 1.7.0.
  gnu: go-go-uber-org-atomic: Update to 1.8.0.
  gnu: go-github-com-sergi-go-diff: Update to 1.2.0.
  gnu: go-github-com-pelletier-go-toml: Update to 1.9.3.
  gnu: go-github-com-masterminds-goutils: Update to 1.1.1.
  gnu: go-github-com-magiconair-properties: Update to 1.8.5.
  gnu: go-github-com-dlclark-regexp2: Update to 1.4.0.
  gnu: earlyoom: Patch tests for go-1.16.
  gnu: go-github-com-bmatcuk-doublestar: Remove test incompatible with
    go-1.16.
  gnu: restic: Patch tests for go-1.16.
  gnu: go-gopkg-in-check-v1: Update to latest.
  gnu: go-etcd-io-bbolt: Update to 1.3.6.
  gnu: Add go-1.16.

 gnu/local.mk                                  |   4 +
 gnu/packages/backup.scm                       |   5 +-
 gnu/packages/golang.scm                       | 243 +++++++++++++++---
 gnu/packages/linux.scm                        |   4 +-
 .../earlyoom-1.6.2-disable-go-module.patch    |  17 ++
 .../patches/go-fix-script-tests.patch         |  18 ++
 ...m-bmatcuk-doublestar-1.3-remove-test.patch |  15 ++
 .../restic-0.9.6-fix-tests-for-go1.15.patch   |  51 ++++
 8 files changed, 314 insertions(+), 43 deletions(-)
 create mode 100644 gnu/packages/patches/earlyoom-1.6.2-disable-go-module.patch
 create mode 100644 gnu/packages/patches/go-fix-script-tests.patch
 create mode 100644 
gnu/packages/patches/go-github-com-bmatcuk-doublestar-1.3-remove-test.patch
 create mode 100644 gnu/packages/patches/restic-0.9.6-fix-tests-for-go1.15.patch


base-commit: c7804cd97b28ef012acc20c1d861904e9592382b
prerequisite-patch-id: edb56de17ac3cce58402c83a9671b00381dfee76
-- 
2.31.1




--- End Message ---
--- Begin Message --- Subject: Re: bug#49221: [PATCH 00/13] Add go-1.16 and build with gccgo Date: Thu, 05 Aug 2021 22:59:52 -0400 User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux)
Hello Sarah,

Sarah Morgensen <iskarian@mgsn.dev> writes:

[...]

>> I'm guessing this may also be not be necessary if we were to
>> successfully update restic to v0.12.1.  Do you think that would be
>> difficult to try?
>
> You are correct. This should eventually be done, but between v0.9.6 and
> v0.10, restic unvendored all its dependencies, so it would require
> packaging any missing dependencies.

I see!  Thanks for the explanation.  I've now merged both remaining
patches from this tracker as commits 733ca63bcd and 1273548f4f, with the
first one modified to do the patching as a phase (the patch file name
was too long -- caught by guix lint).

Thank you!

Closing.

Maxim


--- End Message ---

reply via email to

[Prev in Thread] Current Thread [Next in Thread]