all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Efraim Flashner <efraim@flashner.co.il>
To: Sarah Morgensen <iskarian@mgsn.dev>
Cc: 49221@debbugs.gnu.org
Subject: [bug#49221] [PATCH 00/13] Add go-1.16 and build with gccgo
Date: Mon, 28 Jun 2021 22:22:15 +0300	[thread overview]
Message-ID: <YNohZ0bbgwSnVFnA@3900XT> (raw)
In-Reply-To: <cover.1624602942.git.iskarian@mgsn.dev>

[-- Attachment #1: Type: text/plain, Size: 4815 bytes --]

On Thu, Jun 24, 2021 at 11:52:55PM -0700, Sarah Morgensen via Guix-patches via wrote:
> 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.

I've applied the patch, so it should now be available in the main repo :)

> 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.)

I was able to build go@1.16 as-is and with the conditional switched, so
it used gccgo to bootstrap go@1.16. Additionally on my x86_64 machine
using emulation I was able to build go@1.16 for powerpc64le. On the
powerpc64le box I have access to I was able to build gccgo and I'm still
building out to go@1.16.

> 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? :)

My only concern about the patches is that I've been burned before about
pushing updates to go packages, where some seem to have insufficient
testing and then they'll build and fail. So in the meantime I've pushed
the go@1.16 patch.

> 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
> 
> 
> 
> 

-- 
Efraim Flashner   <efraim@flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

  parent reply	other threads:[~2021-06-28 19:24 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-25  6:52 [bug#49221] [PATCH 00/13] Add go-1.16 and build with gccgo Sarah Morgensen via Guix-patches via
2021-06-25  7:20 ` [bug#49221] [PATCH 01/13] gnu: go-github-com-puerkitobio-goquery: Update to 1.7.0 Sarah Morgensen via Guix-patches via
2021-06-25  7:20 ` [bug#49221] [PATCH 02/13] gnu: go-go-uber-org-atomic: Update to 1.8.0 Sarah Morgensen via Guix-patches via
2021-06-25  7:20 ` [bug#49221] [PATCH 03/13] gnu: go-github-com-sergi-go-diff: Update to 1.2.0 Sarah Morgensen via Guix-patches via
2021-06-25  7:20 ` [bug#49221] [PATCH 04/13] gnu: go-github-com-pelletier-go-toml: Update to 1.9.3 Sarah Morgensen via Guix-patches via
2021-06-25  7:20 ` [bug#49221] [PATCH 05/13] gnu: go-github-com-masterminds-goutils: Update to 1.1.1 Sarah Morgensen via Guix-patches via
2021-06-25  7:20 ` [bug#49221] [PATCH 06/13] gnu: go-github-com-magiconair-properties: Update to 1.8.5 Sarah Morgensen via Guix-patches via
2021-06-25  7:21 ` [bug#49221] [PATCH 07/13] gnu: go-github-com-dlclark-regexp2: Update to 1.4.0 Sarah Morgensen via Guix-patches via
2021-06-25  7:21 ` [bug#49221] [PATCH 08/13] gnu: earlyoom: Patch tests for go-1.16 Sarah Morgensen via Guix-patches via
2021-06-25  7:21 ` [bug#49221] [PATCH 09/13] gnu: go-github-com-bmatcuk-doublestar: Remove test incompatible with go-1.16 Sarah Morgensen via Guix-patches via
2021-08-05 17:17   ` [bug#49221] [PATCH 00/13] Add go-1.16 and build with gccgo Maxim Cournoyer
2021-08-05 20:23     ` Sarah Morgensen
2021-06-25  7:21 ` [bug#49221] [PATCH 10/13] gnu: restic: Patch tests for go-1.16 Sarah Morgensen via Guix-patches via
2021-08-05 17:20   ` [bug#49221] [PATCH 00/13] Add go-1.16 and build with gccgo Maxim Cournoyer
2021-08-05 20:24     ` Sarah Morgensen
2021-08-06  2:59       ` bug#49221: " Maxim Cournoyer
2021-06-25  7:21 ` [bug#49221] [PATCH 11/13] gnu: go-gopkg-in-check-v1: Update to latest Sarah Morgensen via Guix-patches via
2021-06-25  7:21 ` [bug#49221] [PATCH 12/13] gnu: go-etcd-io-bbolt: Update to 1.3.6 Sarah Morgensen via Guix-patches via
2021-06-25  7:21 ` [bug#49221] [PATCH 13/13] gnu: Add go-1.16 Sarah Morgensen via Guix-patches via
2021-06-28 19:22 ` Efraim Flashner [this message]
2021-07-01  3:24   ` [bug#49221] [PATCH 00/13] Add go-1.16 and build with gccgo Sarah Morgensen via Guix-patches via
2021-07-25  2:17   ` Sarah Morgensen
2021-08-05 14:03     ` Efraim Flashner
2021-08-05 20:20       ` [bug#49221] [PATCH v2 1/2] gnu: go-github-com-bmatcuk-doublestar: Remove test incompatible with go-1.16 Sarah Morgensen
2021-08-05 20:20       ` [bug#49221] [PATCH v2 2/2] gnu: restic: Patch tests for go-1.16 Sarah Morgensen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=YNohZ0bbgwSnVFnA@3900XT \
    --to=efraim@flashner.co.il \
    --cc=49221@debbugs.gnu.org \
    --cc=iskarian@mgsn.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.