GNU bug report logs - #47434
[PATCH] Added Go 1.16.2

Previous Next

Package: guix-patches;

Reported by: Néfix Estrada <nefixestrada <at> gmail.com>

Date: Sat, 27 Mar 2021 16:50:02 UTC

Severity: normal

Tags: patch

Done: Sarah Morgensen <iskarian <at> mgsn.dev>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 47434 in the body.
You can then email your comments to 47434 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#47434; Package guix-patches. (Sat, 27 Mar 2021 16:50:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Néfix Estrada <nefixestrada <at> gmail.com>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Sat, 27 Mar 2021 16:50:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Néfix Estrada <nefixestrada <at> gmail.com>
To: guix-patches <at> gnu.org
Cc: Néfix Estrada <nefixestrada <at> gmail.com>
Subject: [PATCH] Added Go 1.16.2
Date: Sat, 27 Mar 2021 17:29:53 +0100
Signed-off-by: Néfix Estrada <nefixestrada <at> gmail.com>
---
 gnu/packages/golang.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index d9988cd7ad..df17955c93 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -25,6 +25,7 @@
 ;;; Copyright © 2020 Martin Becze <mjbecze <at> riseup.net>
 ;;; Copyright © 2021 Ricardo Wurmus <rekado <at> elephly.net>
 ;;; Copyright © 2021 Guillaume Le Vaillant <glv <at> posteo.net>
+;;; Copyright © 2021 Néfix Estrada <nefixestrada <at> gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -440,6 +441,32 @@ in the style of communicating sequential processes (@dfn{CSP}).")
        ,@(package-native-inputs go-1.4)))
     (supported-systems %supported-systems)))
 
+(define-public go-1.16
+  (package
+    (inherit go-1.14)
+    (name "go")
+    (version "1.16.2")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/golang/go")
+             (commit (string-append "go" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "1cvw81hgb7akqp53lqbgpk303km8a7xs7lcr8c8z30hr5ql2kz90"))))
+    (arguments
+     (substitute-keyword-arguments (package-arguments go-1.14)
+       ((#:phases phases)
+        `(modify-phases ,phases
+	   (add-after 'prebuild 'prebuild-1-16
+	     (lambda* (#:key inputs #:allow-other-keys)
+	       (let* ((gcclib (string-append (assoc-ref inputs "gcc:lib") "/lib")))
+		 (substitute* "cmd/go/testdata/script/link_syso_issue33139.txt"
+		   (("\\[\\!cgo\\] skip")
+		    "[!exec:cc] skip")))))))))))
+
 (define-public go go-1.14)
 
 (define-public go-github-com-alsm-ioprogress
-- 
2.31.0





Information forwarded to guix-patches <at> gnu.org:
bug#47434; Package guix-patches. (Sat, 27 Mar 2021 19:57:02 GMT) Full text and rfc822 format available.

Message #8 received at 47434 <at> debbugs.gnu.org (full text, mbox):

From: Maxime Devos <maximedevos <at> telenet.be>
To: Néfix Estrada <nefixestrada <at> gmail.com>, 
 47434 <at> debbugs.gnu.org
Subject: Re: [bug#47434] [PATCH] Added Go 1.16.2
Date: Sat, 27 Mar 2021 20:56:06 +0100
[Message part 1 (text/plain, inline)]
On Sat, 2021-03-27 at 17:29 +0100, Néfix Estrada wrote:
> Signed-off-by: Néfix Estrada <nefixestrada <at> gmail.com>
> ---
>  gnu/packages/golang.scm | 27 +++++++++++++++++++++++++++
>  1 file changed, 27 insertions(+)

A commit message is missing, see ‘16.6 Submitting Patches’ in
the manual (and there are plenty of examples in "git log").

There have been a few patches lately by new
contributers without commit messages; is this section of the
manual hard to find?  Is there some location where we could
prominently feature a link to the section?

Also, ‘we’ don't use ‘Signed-off-by’ like that.  From ‘16.8 Commit Access’:

   When pushing a commit on behalf of somebody else, please add a
‘Signed-off-by’ line at the end of the commit log message—e.g., with
‘git am --signoff’.  This improves tracking of who did what.

Thus, it is up to committers to add a line like that.  Perhaps a system
like the Linux kernel project uses could be useful in the future,
but I don't think ‘we’ are at that point yet

> diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
> index d9988cd7ad..df17955c93 100644
> --- a/gnu/packages/golang.scm
> +++ b/gnu/packages/golang.scm
> @@ -25,6 +25,7 @@
>  ;;; Copyright © 2020 Martin Becze <mjbecze <at> riseup.net>
>  ;;; Copyright © 2021 Ricardo Wurmus <rekado <at> elephly.net>
>  ;;; Copyright © 2021 Guillaume Le Vaillant <glv <at> posteo.net>
> +;;; Copyright © 2021 Néfix Estrada <nefixestrada <at> gmail.com>
>  ;;;
>  ;;; This file is part of GNU Guix.
>  ;;;
> @@ -440,6 +441,32 @@ in the style of communicating sequential processes (@dfn{CSP}).")
>         ,@(package-native-inputs go-1.4)))
>      (supported-systems %supported-systems)))
>  
> +(define-public go-1.16
> +  (package
> +    (inherit go-1.14)
> +    [...]

> +    (arguments
> +     (substitute-keyword-arguments (package-arguments go-1.14)
> +       ((#:phases phases)
> +        `(modify-phases ,phases

This part looks good to me.

> +	   (add-after 'prebuild 'prebuild-1-16
> +	     (lambda* (#:key inputs #:allow-other-keys)
> +	       (let* ((gcclib (string-append (assoc-ref inputs "gcc:lib") "/lib")))
> +		 (substitute* "cmd/go/testdata/script/link_syso_issue33139.txt"
> +		   (("\\[\\!cgo\\] skip")
> +		    "[!exec:cc] skip")))))))))))
> +

What's this 'prebuild-1-16' phase for?  Please add a comment explaining!
And what's (let* ((gcclib ...) ...) doing there if gcclib isn't used afterwards?

>  (define-public go go-1.14)

Something to consider for people who know the go situation in guix:
could this be replaced with (define-public go go-1.16) after this patch?
(And go-1.14 deleted as there are no uses of it anymore.)
The output of "guix refresh --list-dependent go" is:

Building the following 125 packages would ensure 440 dependent packages are rebuilt:
[...]

so this shouldn't cause a world-rebuild (note go packages are (reportedly)
cheap to build).  But perhaps there are API incompatibilities between 1.16 and
1.14? idk.

Note: this patch should be reviewed by someone more knowledged about go
in guix than me.

Thanks for looking into this,
Greetings,
Maxime
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#47434; Package guix-patches. (Mon, 29 Mar 2021 00:48:01 GMT) Full text and rfc822 format available.

Message #11 received at 47434 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: Maxime Devos <maximedevos <at> telenet.be>
Cc: 47434 <at> debbugs.gnu.org,
 Néfix Estrada <nefixestrada <at> gmail.com>
Subject: Re: bug#47434: [PATCH] Added Go 1.16.2
Date: Sun, 28 Mar 2021 20:46:49 -0400
Hi,

Maxime Devos <maximedevos <at> telenet.be> writes:

> On Sat, 2021-03-27 at 17:29 +0100, Néfix Estrada wrote:
>> Signed-off-by: Néfix Estrada <nefixestrada <at> gmail.com>
>> ---
>>  gnu/packages/golang.scm | 27 +++++++++++++++++++++++++++
>>  1 file changed, 27 insertions(+)
>
> A commit message is missing, see ‘16.6 Submitting Patches’ in
> the manual (and there are plenty of examples in "git log").
>
> There have been a few patches lately by new
> contributers without commit messages; is this section of the
> manual hard to find?  Is there some location where we could
> prominently feature a link to the section?
>
> Also, ‘we’ don't use ‘Signed-off-by’ like that.  From ‘16.8 Commit Access’:
>
>    When pushing a commit on behalf of somebody else, please add a
> ‘Signed-off-by’ line at the end of the commit log message—e.g., with
> ‘git am --signoff’.  This improves tracking of who did what.
>
> Thus, it is up to committers to add a line like that.  Perhaps a system
> like the Linux kernel project uses could be useful in the future,
> but I don't think ‘we’ are at that point yet
>
>> diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
>> index d9988cd7ad..df17955c93 100644
>> --- a/gnu/packages/golang.scm
>> +++ b/gnu/packages/golang.scm
>> @@ -25,6 +25,7 @@
>>  ;;; Copyright © 2020 Martin Becze <mjbecze <at> riseup.net>
>>  ;;; Copyright © 2021 Ricardo Wurmus <rekado <at> elephly.net>
>>  ;;; Copyright © 2021 Guillaume Le Vaillant <glv <at> posteo.net>
>> +;;; Copyright © 2021 Néfix Estrada <nefixestrada <at> gmail.com>
>>  ;;;
>>  ;;; This file is part of GNU Guix.
>>  ;;;
>> @@ -440,6 +441,32 @@ in the style of communicating sequential processes (@dfn{CSP}).")
>>         ,@(package-native-inputs go-1.4)))
>>      (supported-systems %supported-systems)))
>>  
>> +(define-public go-1.16
>> +  (package
>> +    (inherit go-1.14)
>> +    [...]
>
>> +    (arguments
>> +     (substitute-keyword-arguments (package-arguments go-1.14)
>> +       ((#:phases phases)
>> +        `(modify-phases ,phases
>
> This part looks good to me.
>
>> +	   (add-after 'prebuild 'prebuild-1-16
>> +	     (lambda* (#:key inputs #:allow-other-keys)
>> +	       (let* ((gcclib (string-append (assoc-ref inputs "gcc:lib") "/lib")))
>> +		 (substitute* "cmd/go/testdata/script/link_syso_issue33139.txt"
>> +		   (("\\[\\!cgo\\] skip")
>> +		    "[!exec:cc] skip")))))))))))
>> +
>
> What's this 'prebuild-1-16' phase for?  Please add a comment explaining!
> And what's (let* ((gcclib ...) ...) doing there if gcclib isn't used afterwards?
>
>>  (define-public go go-1.14)
>
> Something to consider for people who know the go situation in guix:
> could this be replaced with (define-public go go-1.16) after this patch?
> (And go-1.14 deleted as there are no uses of it anymore.)
> The output of "guix refresh --list-dependent go" is:
>
> Building the following 125 packages would ensure 440 dependent packages are rebuilt:
> [...]
>
> so this shouldn't cause a world-rebuild (note go packages are (reportedly)
> cheap to build).  But perhaps there are API incompatibilities between 1.16 and
> 1.14? idk.

Go 1.16 does break some go packages.  I have a similar patch locally but
I haven't pushed it yet because I was pursuing the different failures it
causes.

Maxim




Information forwarded to guix-patches <at> gnu.org:
bug#47434; Package guix-patches. (Mon, 29 Mar 2021 06:19:02 GMT) Full text and rfc822 format available.

Message #14 received at 47434 <at> debbugs.gnu.org (full text, mbox):

From: Maxime Devos <maximedevos <at> telenet.be>
To: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Cc: 47434 <at> debbugs.gnu.org,
 Néfix Estrada <nefixestrada <at> gmail.com>
Subject: Re: bug#47434: [PATCH] Added Go 1.16.2
Date: Mon, 29 Mar 2021 08:18:34 +0200
[Message part 1 (text/plain, inline)]
On Sun, 2021-03-28 at 20:46 -0400, Maxim Cournoyer wrote:
> Hi,
> 
> Maxime Devos <maximedevos <at> telenet.be> writes:
> 
> > [...]
> 
> Go 1.16 does break some go packages.  I have a similar patch locally but
> I haven't pushed it yet because I was pursuing the different failures it
> causes.

Ok. If the 1.14 -> 1.16 upgrade would break packages, then it makes sense to
(at first) define the updated go as a package variant and only later use it
in the go packages once the update issues have been fixed or worked-around.

Greetings,
Maxime.
[signature.asc (application/pgp-signature, inline)]

Reply sent to Sarah Morgensen <iskarian <at> mgsn.dev>:
You have taken responsibility. (Thu, 05 Aug 2021 22:51:01 GMT) Full text and rfc822 format available.

Notification sent to Néfix Estrada <nefixestrada <at> gmail.com>:
bug acknowledged by developer. (Thu, 05 Aug 2021 22:51:01 GMT) Full text and rfc822 format available.

Message #19 received at 47434-done <at> debbugs.gnu.org (full text, mbox):

From: Sarah Morgensen <iskarian <at> mgsn.dev>
To: 47434-done <at> debbugs.gnu.org
Subject: Re: bug#47434: [PATCH] Added Go 1.16.2
Date: Thu, 05 Aug 2021 15:50:49 -0700
Superseded by #49221; closing.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Fri, 03 Sep 2021 11:24:07 GMT) Full text and rfc822 format available.

This bug report was last modified 2 years and 208 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.