guix-patches
[Top][All Lists]
Advanced

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

[bug#47434] [PATCH] Added Go 1.16.2


From: Maxime Devos
Subject: [bug#47434] [PATCH] Added Go 1.16.2
Date: Sat, 27 Mar 2021 20:56:06 +0100
User-agent: Evolution 3.34.2

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: signature.asc
Description: This is a digitally signed message part


reply via email to

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