Message ID | 20210327162953.32278-1-nefixestrada@gmail.com |
---|---|
State | Accepted |
Headers | show |
Series | [bug#47434] Added Go 1.16.2 | expand |
Context | Check | Description |
---|---|---|
cbaines/submitting builds | success | |
cbaines/comparison | success | View comparision |
cbaines/git branch | success | View Git branch |
cbaines/applying patch | success | View Laminar job |
cbaines/issue | success | View issue |
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
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
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.
Superseded by #49221; closing.
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
Signed-off-by: Néfix Estrada <nefixestrada@gmail.com> --- gnu/packages/golang.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+)