unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#47434] [PATCH] Added Go 1.16.2
@ 2021-03-27 16:29 Néfix Estrada
  2021-03-27 19:56 ` Maxime Devos
  2021-08-05 22:50 ` bug#47434: " Sarah Morgensen
  0 siblings, 2 replies; 5+ messages in thread
From: Néfix Estrada @ 2021-03-27 16:29 UTC (permalink / raw)
  To: 47434; +Cc: Néfix Estrada

Signed-off-by: Néfix Estrada <nefixestrada@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@riseup.net>
 ;;; Copyright © 2021 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
+;;; Copyright © 2021 Néfix Estrada <nefixestrada@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





^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [bug#47434] [PATCH] Added Go 1.16.2
  2021-03-27 16:29 [bug#47434] [PATCH] Added Go 1.16.2 Néfix Estrada
@ 2021-03-27 19:56 ` Maxime Devos
  2021-03-29  0:46   ` Maxim Cournoyer
  2021-08-05 22:50 ` bug#47434: " Sarah Morgensen
  1 sibling, 1 reply; 5+ messages in thread
From: Maxime Devos @ 2021-03-27 19:56 UTC (permalink / raw)
  To: Néfix Estrada, 47434

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

On Sat, 2021-03-27 at 17:29 +0100, Néfix Estrada wrote:
> Signed-off-by: Néfix Estrada <nefixestrada@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@riseup.net>
>  ;;; Copyright © 2021 Ricardo Wurmus <rekado@elephly.net>
>  ;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
> +;;; Copyright © 2021 Néfix Estrada <nefixestrada@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

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [bug#47434] [PATCH] Added Go 1.16.2
  2021-03-27 19:56 ` Maxime Devos
@ 2021-03-29  0:46   ` Maxim Cournoyer
  2021-03-29  6:18     ` Maxime Devos
  0 siblings, 1 reply; 5+ messages in thread
From: Maxim Cournoyer @ 2021-03-29  0:46 UTC (permalink / raw)
  To: Maxime Devos; +Cc: 47434, Néfix Estrada

Hi,

Maxime Devos <maximedevos@telenet.be> writes:

> On Sat, 2021-03-27 at 17:29 +0100, Néfix Estrada wrote:
>> Signed-off-by: Néfix Estrada <nefixestrada@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@riseup.net>
>>  ;;; Copyright © 2021 Ricardo Wurmus <rekado@elephly.net>
>>  ;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
>> +;;; Copyright © 2021 Néfix Estrada <nefixestrada@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




^ permalink raw reply	[flat|nested] 5+ messages in thread

* [bug#47434] [PATCH] Added Go 1.16.2
  2021-03-29  0:46   ` Maxim Cournoyer
@ 2021-03-29  6:18     ` Maxime Devos
  0 siblings, 0 replies; 5+ messages in thread
From: Maxime Devos @ 2021-03-29  6:18 UTC (permalink / raw)
  To: Maxim Cournoyer; +Cc: 47434, Néfix Estrada

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

On Sun, 2021-03-28 at 20:46 -0400, Maxim Cournoyer wrote:
> Hi,
> 
> Maxime Devos <maximedevos@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.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#47434: [PATCH] Added Go 1.16.2
  2021-03-27 16:29 [bug#47434] [PATCH] Added Go 1.16.2 Néfix Estrada
  2021-03-27 19:56 ` Maxime Devos
@ 2021-08-05 22:50 ` Sarah Morgensen
  1 sibling, 0 replies; 5+ messages in thread
From: Sarah Morgensen @ 2021-08-05 22:50 UTC (permalink / raw)
  To: 47434-done

Superseded by #49221; closing.




^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2021-08-05 22:51 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-27 16:29 [bug#47434] [PATCH] Added Go 1.16.2 Néfix Estrada
2021-03-27 19:56 ` Maxime Devos
2021-03-29  0:46   ` Maxim Cournoyer
2021-03-29  6:18     ` Maxime Devos
2021-08-05 22:50 ` bug#47434: " Sarah Morgensen

Code repositories for project(s) associated with this public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).