[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#47434] [PATCH] Added Go 1.16.2
From: |
Maxim Cournoyer |
Subject: |
[bug#47434] [PATCH] Added Go 1.16.2 |
Date: |
Sun, 28 Mar 2021 20:46:49 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) |
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