GNU bug report logs - #50348
[PATCH] gnu: Add go-1.17.

Previous Next

Package: guix-patches;

Reported by: Sarah Morgensen <iskarian <at> mgsn.dev>

Date: Thu, 2 Sep 2021 22:10:02 UTC

Severity: normal

Tags: patch

Done: Leo Famulari <leo <at> famulari.name>

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 50348 in the body.
You can then email your comments to 50348 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#50348; Package guix-patches. (Thu, 02 Sep 2021 22:10:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Sarah Morgensen <iskarian <at> mgsn.dev>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Thu, 02 Sep 2021 22:10:02 GMT) Full text and rfc822 format available.

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

From: Sarah Morgensen <iskarian <at> mgsn.dev>
To: guix-patches <at> gnu.org
Subject: [PATCH] gnu: Add go-1.17.
Date: Thu,  2 Sep 2021 15:09:27 -0700
* gnu/packages.golang.scm (go-1.17): New variable.
---
Hello Guix,

This patch (finally) adds Go 1.17, with some further improvements!

Highlights:

* 43% closure size compared to go-1.16 (~50% output size)

* No longer dependent on single GCC version (fixes #36823, #39400)[0][1]

* Many tests re-enabled

* 'doc' output merged (makes docs usable with `godoc')

* Installs in FHS paths rather than directly in $out/

* Builds nearly all our Go packages

* Phases refactored

For the few Guix Go packages which require an update or patch to build with Go
1.17, I will send those later.  But I don't think those should be required to
merge this, since go-1.17 won't be used to build Go packages by default.

What do you think? (Details below the break, for those interested.)

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

This update removes Go's dependence on canonical-gcc by replacing the patch
that hardcodes the gcc-lib runpath in Go's own linker with one that tells Go
to use the host linker (which knows how to add runpaths) when linking against
libraries (glibc, gcc-lib, etc).  This removes GCC from Go's closure (fixing
[0]), and allows users to build with any GCC library (fixing [1]).

In the future, we may be able to drop this patch and instead use
GO_EXTLINK_ENABLED=1 or similar when [2] or [3] is resolved.

Removing the GCC dependency reduces closure size by ~107MiB.  Properly
stripping the binaries shaves off ~20MiB.  No longer installing pre-compiled
standard library archives shaves off another ~180MiB.

Quoting my explanatory comment:

> Notably, we do not install archives (180M), which Go will happily recompile
> quickly (and cache) if needed, almost surely faster than they could be
> substituted.

> The main motivation for pre-compiled archives is to use libc-linked `net' or
> `os' packages without a C compiler, but on Guix a C compiler is necessary to
> properly link the final binaries anyway.  Many build flags also invalidate
> these pre-compiled archives, so in practice Go often recompiles them anyway.

> Upstream is also planning to no longer install these archives:
> <https://github.com/golang/go/issues/47257>

> When necessary, a custom pre-compiled library package can be created
> with `#:import-path "std"' and used with `-pkgdir'.

That latter step should only be necessary when updating the build-system to
use this Go.

Finally, rather than installing directly in $out, Go now installs to /bin,
/lib/go, /share/go, and /share/doc/go (albeit with symlinks to them from
/lib/go).  Also, the 'doc' output, with less than 1MB, was merged into 'out',
which makes `godoc' work correctly for the standard library.

[0] <https://issues.guix.gnu.org/36823> Go retains a reference to GCC.
[1] https://issues.guix.gnu.org/39400
[2] <https://github.com/golang/go/issues/31544> cmd/go: spurious error message
when external linking a pure Go program
[3] <https://github.com/golang/go/issues/43525> cmd/link: provide a way to
always use external linking if cgo is used

--
Sarah

 gnu/packages/golang.scm | 182 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 182 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index b6e8b84749..8da7c9bf85 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -608,6 +608,188 @@ (define-public go-1.16
              (alist-replace "go" (list gccgo-10) (package-native-inputs go-1.14))
              (package-native-inputs go-1.14))))))
 
+(define-public go-1.17
+  (package
+    (inherit go-1.16)
+    (name "go")
+    (version "1.17")
+    (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
+         "1psra6j95ws38mx3scc1whky8cwk32mazqs0wzzdwbs8ppl8iwl5"))))
+    (outputs '("out" "tests")) ; 'tests' contains distribution tests.
+    (arguments
+     `(#:modules ((ice-9 match)
+                  (guix build gnu-build-system)
+                  (guix build utils))
+       #:phases
+       (modify-phases %standard-phases
+         (replace 'configure
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let ((output (assoc-ref outputs "out"))
+                   (loader (string-append (assoc-ref inputs "libc")
+                                          ,(glibc-dynamic-linker))))
+               (setenv "GOOS" "linux")
+               (setenv "GO_LDSO" loader)
+               (setenv "GOROOT" (getcwd))
+               (setenv "GOROOT_FINAL" (string-append output "/lib/go"))
+               (setenv "GOGC" "400")
+               (setenv "GOCACHE" "/tmp/go-cache"))))
+         (add-after 'unpack 'patch-source
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let* ((net-base (assoc-ref inputs "net-base"))
+                    (tzdata-path (string-append (assoc-ref inputs "tzdata")
+                                                "/share/zoneinfo")))
+               ;; XXX: Remove when #49729 is merged?
+               (for-each make-file-writable (find-files "src"))
+
+               ;; Having the patch in the 'patches' field of <origin> breaks
+               ;; the 'TestServeContent' test due to the fact that
+               ;; timestamps are reset.  Thus, apply it from here.
+               (invoke "patch" "-p1" "--force" "-i"
+                       (assoc-ref inputs "go-skip-gc-test.patch"))
+               (invoke "patch" "-p1" "--force" "-i"
+                       (assoc-ref inputs "go-fix-script-tests.patch"))
+
+               (substitute* "src/os/os_test.go"
+                 (("/usr/bin") (getcwd))
+                 (("/bin/sh") (which "sh")))
+
+               (substitute* "src/cmd/go/testdata/script/cgo_path_space.txt"
+                 (("/bin/sh") (which "sh")))
+
+               ;; fix shebang for testar script
+               ;; note the target script is generated at build time.
+               (substitute* "misc/cgo/testcarchive/carchive_test.go"
+                 (("/usr/bin/env bash") (which "bash")))
+
+               (substitute* "src/net/lookup_unix.go"
+                 (("/etc/protocols")
+                  (string-append net-base "/etc/protocols")))
+               (substitute* "src/net/port_unix.go"
+                 (("/etc/services")
+                  (string-append net-base "/etc/services")))
+               (substitute* "src/time/zoneinfo_unix.go"
+                 (("/usr/share/zoneinfo/") tzdata-path)))))
+         (add-after 'patch-source 'disable-failing-tests
+           (lambda _
+             ;; Disable failing tests: these tests attempt to access
+             ;; commands or network resources which are neither available
+             ;; nor necessary for the build to succeed.
+             (for-each
+              (match-lambda
+                ((file test)
+                 (let ((regex (string-append "^(func\\s+)(" test "\\()")))
+                   (substitute* file
+                     ((regex all before test_name)
+                      (string-append before "Disabled" test_name))))))
+              '(("src/net/cgo_unix_test.go" "TestCgoLookupPort")
+                ("src/net/cgo_unix_test.go" "TestCgoLookupPortWithCancel")
+                ;; 127.0.0.1 doesn't exist
+                ("src/net/cgo_unix_test.go" "TestCgoLookupPTR")
+                ("src/net/cgo_unix_test.go" "TestCgoLookupPTRWithCancel")
+                ;; /etc/services doesn't exist
+                ("src/net/parse_test.go" "TestReadLine")
+                ;; The user's directory doesn't exist
+                ("src/os/os_test.go" "TestUserHomeDir")))
+
+             ;; These tests fail on aarch64-linux
+             (substitute* "src/cmd/dist/test.go"
+               (("t.registerHostTest\\(\"testsanitizers/msan.*") ""))))
+         (add-after 'patch-source 'enable-external-linking
+           (lambda _
+             ;; Invoke GCC to link any archives created with GCC (that is, any
+             ;; packages built using 'cgo'), because Go doesn't know how to
+             ;; handle the runpaths but GCC does.  Use substitute* rather than
+             ;; a patch since these files are liable to change often.
+             ;;
+             ;; XXX: Replace with GO_EXTLINK_ENABLED=1 or similar when
+             ;; <https://github.com/golang/go/issues/31544> and/or
+             ;; <https://github.com/golang/go/issues/43525> are resolved.
+             (substitute* "src/cmd/link/internal/ld/config.go"
+               (("iscgo && externalobj") "iscgo"))
+             (substitute* '("src/cmd/nm/nm_cgo_test.go"
+                            "src/cmd/dist/test.go")
+               (("^func.*?nternalLink\\(\\).*" all)
+                (string-append all "\n\treturn false\n")))))
+         (replace 'build
+           (lambda* (#:key (parallel-build? #t) #:allow-other-keys)
+             (let* ((njobs (if parallel-build? (parallel-job-count) 1)))
+               (with-directory-excursion "src"
+                 (setenv "GOMAXPROCS" (number->string njobs))
+                 (invoke "sh" "make.bash" "--no-banner")))))
+         (replace 'check
+           (lambda* (#:key target (tests? (not target)) (parallel-tests? #t)
+                     #:allow-other-keys)
+             (let* ((njobs (if parallel-tests? (parallel-job-count) 1)))
+               (when tests?
+                 (with-directory-excursion "src"
+                   (setenv "GOMAXPROCS" (number->string njobs))
+                   (invoke "sh" "run.bash" "--no-rebuild"))))))
+         (add-before 'install 'unpatch-perl-shebangs
+           (lambda _
+             ;; Avoid inclusion of perl in closure by rewriting references
+             ;; to perl input in sourcecode generators and test scripts
+             (substitute* (cons "src/net/http/cgi/testdata/test.cgi"
+                                (find-files "src" "\\.pl$"))
+               (("^#!.*") "#!/usr/bin/env perl\n"))))
+         (replace 'install
+           (lambda* (#:key outputs #:allow-other-keys)
+             ;; Notably, we do not install archives (180M), which Go will
+             ;; happily recompile quickly (and cache) if needed, almost
+             ;; surely faster than they could be substituted.
+             ;;
+             ;; The main motivation for pre-compiled archives is to use
+             ;; libc-linked `net' or `os' packages without a C compiler,
+             ;; but on Guix a C compiler is necessary to properly link the
+             ;; final binaries anyway.  Many build flags also invalidate
+             ;; these pre-compiled archives, so in practice Go often
+             ;; recompiles them anyway.
+             ;;
+             ;; Upstream is also planning to no longer install these
+             ;; archives: <https://github.com/golang/go/issues/47257>
+             ;;
+             ;; When necessary, a custom pre-compiled library package can
+             ;; be created with `#:import-path "std"' and used with
+             ;; `-pkgdir'.
+             (let* ((out (assoc-ref outputs "out"))
+                    (tests (assoc-ref outputs "tests")))
+               (for-each
+                (lambda (file)
+                  (copy-recursively file (string-append out "/lib/go/" file)))
+                '("lib" "VERSION" "pkg/include" "pkg/tool"))
+
+               (for-each
+                (match-lambda
+                  ((file dest output)
+                   ;; Copy to output/dest and symlink from output/lib/go/file.
+                   (let ((file* (string-append output "/lib/go/" file))
+                         (dest* (string-append output "/" dest)))
+                     (copy-recursively file dest*)
+                     (mkdir-p (dirname file*))
+                     (symlink (string-append "../../" dest) file*))))
+                `(("bin"          "bin"                 ,out)
+                  ("src"          "share/go/src"        ,out)
+                  ("misc"         "share/go/misc"       ,out)
+                  ("doc"          "share/doc/go/doc"    ,out)
+                  ("api"          "share/go/api"        ,tests)
+                  ("test"         "share/go/test"       ,tests))))))
+         (add-after 'install 'install-doc-files
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out")))
+               (for-each
+                (lambda (file)
+                  (install-file file (string-append out "/share/doc/go")))
+                '("AUTHORS" "CONTRIBUTORS" "CONTRIBUTING.md" "PATENTS"
+                  "README.md" "SECURITY.md"))))))))
+    (inputs (alist-delete "gcc:lib" (package-inputs go-1.16)))))
+
 (define-public go go-1.14)
 
 (define-public go-0xacab-org-leap-shapeshifter

base-commit: 95c29d2746943733cbe8df7013854d45bb0df413
-- 
2.31.1





Information forwarded to guix-patches <at> gnu.org:
bug#50348; Package guix-patches. (Thu, 09 Sep 2021 19:46:01 GMT) Full text and rfc822 format available.

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

From: Sarah Morgensen <iskarian <at> mgsn.dev>
To: 50348 <at> debbugs.gnu.org
Subject: [PATCH v2] gnu: Add go-1.17.
Date: Thu,  9 Sep 2021 12:45:42 -0700
* gnu/packages.golang.scm (go-1.17): New variable.
---
Rebased on current master and updated to use Go 1.17.1.

 gnu/packages/golang.scm | 182 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 182 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index b6e8b84749..95cff83e9e 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -608,6 +608,188 @@ in the style of communicating sequential processes (@dfn{CSP}).")
              (alist-replace "go" (list gccgo-10) (package-native-inputs go-1.14))
              (package-native-inputs go-1.14))))))
 
+(define-public go-1.17
+  (package
+    (inherit go-1.16)
+    (name "go")
+    (version "1.17.1")
+    (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
+         "0wk99lwpzp4qwrksl932lm9vb70nyf4vgb5lxwh7gzjcbhlqj992"))))
+    (outputs '("out" "tests")) ; 'tests' contains distribution tests.
+    (arguments
+     `(#:modules ((ice-9 match)
+                  (guix build gnu-build-system)
+                  (guix build utils))
+       #:phases
+       (modify-phases %standard-phases
+         (replace 'configure
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let ((output (assoc-ref outputs "out"))
+                   (loader (string-append (assoc-ref inputs "libc")
+                                          ,(glibc-dynamic-linker))))
+               (setenv "GOOS" "linux")
+               (setenv "GO_LDSO" loader)
+               (setenv "GOROOT" (getcwd))
+               (setenv "GOROOT_FINAL" (string-append output "/lib/go"))
+               (setenv "GOGC" "400")
+               (setenv "GOCACHE" "/tmp/go-cache"))))
+         (add-after 'unpack 'patch-source
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let* ((net-base (assoc-ref inputs "net-base"))
+                    (tzdata-path (string-append (assoc-ref inputs "tzdata")
+                                                "/share/zoneinfo")))
+               ;; XXX: Remove when #49729 is merged?
+               (for-each make-file-writable (find-files "src"))
+
+               ;; Having the patch in the 'patches' field of <origin> breaks
+               ;; the 'TestServeContent' test due to the fact that
+               ;; timestamps are reset.  Thus, apply it from here.
+               (invoke "patch" "-p1" "--force" "-i"
+                       (assoc-ref inputs "go-skip-gc-test.patch"))
+               (invoke "patch" "-p1" "--force" "-i"
+                       (assoc-ref inputs "go-fix-script-tests.patch"))
+
+               (substitute* "src/os/os_test.go"
+                 (("/usr/bin") (getcwd))
+                 (("/bin/sh") (which "sh")))
+
+               (substitute* "src/cmd/go/testdata/script/cgo_path_space.txt"
+                 (("/bin/sh") (which "sh")))
+
+               ;; fix shebang for testar script
+               ;; note the target script is generated at build time.
+               (substitute* "misc/cgo/testcarchive/carchive_test.go"
+                 (("/usr/bin/env bash") (which "bash")))
+
+               (substitute* "src/net/lookup_unix.go"
+                 (("/etc/protocols")
+                  (string-append net-base "/etc/protocols")))
+               (substitute* "src/net/port_unix.go"
+                 (("/etc/services")
+                  (string-append net-base "/etc/services")))
+               (substitute* "src/time/zoneinfo_unix.go"
+                 (("/usr/share/zoneinfo/") tzdata-path)))))
+         (add-after 'patch-source 'disable-failing-tests
+           (lambda _
+             ;; Disable failing tests: these tests attempt to access
+             ;; commands or network resources which are neither available
+             ;; nor necessary for the build to succeed.
+             (for-each
+              (match-lambda
+                ((file test)
+                 (let ((regex (string-append "^(func\\s+)(" test "\\()")))
+                   (substitute* file
+                     ((regex all before test_name)
+                      (string-append before "Disabled" test_name))))))
+              '(("src/net/cgo_unix_test.go" "TestCgoLookupPort")
+                ("src/net/cgo_unix_test.go" "TestCgoLookupPortWithCancel")
+                ;; 127.0.0.1 doesn't exist
+                ("src/net/cgo_unix_test.go" "TestCgoLookupPTR")
+                ("src/net/cgo_unix_test.go" "TestCgoLookupPTRWithCancel")
+                ;; /etc/services doesn't exist
+                ("src/net/parse_test.go" "TestReadLine")
+                ;; The user's directory doesn't exist
+                ("src/os/os_test.go" "TestUserHomeDir")))
+
+             ;; These tests fail on aarch64-linux
+             (substitute* "src/cmd/dist/test.go"
+               (("t.registerHostTest\\(\"testsanitizers/msan.*") ""))))
+         (add-after 'patch-source 'enable-external-linking
+           (lambda _
+             ;; Invoke GCC to link any archives created with GCC (that is, any
+             ;; packages built using 'cgo'), because Go doesn't know how to
+             ;; handle the runpaths but GCC does.  Use substitute* rather than
+             ;; a patch since these files are liable to change often.
+             ;;
+             ;; XXX: Replace with GO_EXTLINK_ENABLED=1 or similar when
+             ;; <https://github.com/golang/go/issues/31544> and/or
+             ;; <https://github.com/golang/go/issues/43525> are resolved.
+             (substitute* "src/cmd/link/internal/ld/config.go"
+               (("iscgo && externalobj") "iscgo"))
+             (substitute* '("src/cmd/nm/nm_cgo_test.go"
+                            "src/cmd/dist/test.go")
+               (("^func.*?nternalLink\\(\\).*" all)
+                (string-append all "\n\treturn false\n")))))
+         (replace 'build
+           (lambda* (#:key (parallel-build? #t) #:allow-other-keys)
+             (let* ((njobs (if parallel-build? (parallel-job-count) 1)))
+               (with-directory-excursion "src"
+                 (setenv "GOMAXPROCS" (number->string njobs))
+                 (invoke "sh" "make.bash" "--no-banner")))))
+         (replace 'check
+           (lambda* (#:key target (tests? (not target)) (parallel-tests? #t)
+                     #:allow-other-keys)
+             (let* ((njobs (if parallel-tests? (parallel-job-count) 1)))
+               (when tests?
+                 (with-directory-excursion "src"
+                   (setenv "GOMAXPROCS" (number->string njobs))
+                   (invoke "sh" "run.bash" "--no-rebuild"))))))
+         (add-before 'install 'unpatch-perl-shebangs
+           (lambda _
+             ;; Avoid inclusion of perl in closure by rewriting references
+             ;; to perl input in sourcecode generators and test scripts
+             (substitute* (cons "src/net/http/cgi/testdata/test.cgi"
+                                (find-files "src" "\\.pl$"))
+               (("^#!.*") "#!/usr/bin/env perl\n"))))
+         (replace 'install
+           (lambda* (#:key outputs #:allow-other-keys)
+             ;; Notably, we do not install archives (180M), which Go will
+             ;; happily recompile quickly (and cache) if needed, almost
+             ;; surely faster than they could be substituted.
+             ;;
+             ;; The main motivation for pre-compiled archives is to use
+             ;; libc-linked `net' or `os' packages without a C compiler,
+             ;; but on Guix a C compiler is necessary to properly link the
+             ;; final binaries anyway.  Many build flags also invalidate
+             ;; these pre-compiled archives, so in practice Go often
+             ;; recompiles them anyway.
+             ;;
+             ;; Upstream is also planning to no longer install these
+             ;; archives: <https://github.com/golang/go/issues/47257>
+             ;;
+             ;; When necessary, a custom pre-compiled library package can
+             ;; be created with `#:import-path "std"' and used with
+             ;; `-pkgdir'.
+             (let* ((out (assoc-ref outputs "out"))
+                    (tests (assoc-ref outputs "tests")))
+               (for-each
+                (lambda (file)
+                  (copy-recursively file (string-append out "/lib/go/" file)))
+                '("lib" "VERSION" "pkg/include" "pkg/tool"))
+
+               (for-each
+                (match-lambda
+                  ((file dest output)
+                   ;; Copy to output/dest and symlink from output/lib/go/file.
+                   (let ((file* (string-append output "/lib/go/" file))
+                         (dest* (string-append output "/" dest)))
+                     (copy-recursively file dest*)
+                     (mkdir-p (dirname file*))
+                     (symlink (string-append "../../" dest) file*))))
+                `(("bin"          "bin"                 ,out)
+                  ("src"          "share/go/src"        ,out)
+                  ("misc"         "share/go/misc"       ,out)
+                  ("doc"          "share/doc/go/doc"    ,out)
+                  ("api"          "share/go/api"        ,tests)
+                  ("test"         "share/go/test"       ,tests))))))
+         (add-after 'install 'install-doc-files
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out")))
+               (for-each
+                (lambda (file)
+                  (install-file file (string-append out "/share/doc/go")))
+                '("AUTHORS" "CONTRIBUTORS" "CONTRIBUTING.md" "PATENTS"
+                  "README.md" "SECURITY.md"))))))))
+    (inputs (alist-delete "gcc:lib" (package-inputs go-1.16)))))
+
 (define-public go go-1.14)
 
 (define-public go-0xacab-org-leap-shapeshifter

base-commit: bae57cc7d2917c4a67e9afb68ed61ad7117ea7ea
-- 
2.33.0





Information forwarded to guix-patches <at> gnu.org:
bug#50348; Package guix-patches. (Thu, 09 Sep 2021 20:28:02 GMT) Full text and rfc822 format available.

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

From: Leo Famulari <leo <at> famulari.name>
To: Sarah Morgensen <iskarian <at> mgsn.dev>
Cc: 50348 <at> debbugs.gnu.org
Subject: Re: [bug#50348] [PATCH] gnu: Add go-1.17.
Date: Thu, 9 Sep 2021 16:27:06 -0400
On Thu, Sep 02, 2021 at 03:09:27PM -0700, Sarah Morgensen wrote:
> * gnu/packages.golang.scm (go-1.17): New variable.

[...]

Wow, excellent!

> That latter step should only be necessary when updating the build-system to
> use this Go.

Apologies if you've already answered this elsewhere, but what remains to
be done in order to make go-build-system use Go 1.17? Can we just do it
now?




Information forwarded to guix-patches <at> gnu.org:
bug#50348; Package guix-patches. (Thu, 09 Sep 2021 20:51:02 GMT) Full text and rfc822 format available.

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

From: Leo Famulari <leo <at> famulari.name>
To: Sarah Morgensen <iskarian <at> mgsn.dev>
Cc: 50348 <at> debbugs.gnu.org
Subject: Re: [bug#50348] [PATCH v2] gnu: Add go-1.17.
Date: Thu, 9 Sep 2021 16:50:46 -0400
On Thu, Sep 09, 2021 at 12:45:42PM -0700, Sarah Morgensen wrote:
> * gnu/packages.golang.scm (go-1.17): New variable.

Urgh, somehow I missed this and pushed 1.17. Now I'll build and push
1.17.1.




Information forwarded to guix-patches <at> gnu.org:
bug#50348; Package guix-patches. (Thu, 09 Sep 2021 20:55:01 GMT) Full text and rfc822 format available.

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

From: Leo Famulari <leo <at> famulari.name>
To: Sarah Morgensen <iskarian <at> mgsn.dev>
Cc: 50348 <at> debbugs.gnu.org
Subject: Re: [bug#50348] [PATCH] gnu: Add go-1.17.
Date: Thu, 9 Sep 2021 16:53:57 -0400
On Thu, Sep 02, 2021 at 03:09:27PM -0700, Sarah Morgensen wrote:
> * gnu/packages.golang.scm (go-1.17): New variable.

Pushed as d36c73b8a8f52732753c11125cfb4d8bf735f8b7




Reply sent to Leo Famulari <leo <at> famulari.name>:
You have taken responsibility. (Thu, 09 Sep 2021 20:57:02 GMT) Full text and rfc822 format available.

Notification sent to Sarah Morgensen <iskarian <at> mgsn.dev>:
bug acknowledged by developer. (Thu, 09 Sep 2021 20:57:02 GMT) Full text and rfc822 format available.

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

From: Leo Famulari <leo <at> famulari.name>
To: Sarah Morgensen <iskarian <at> mgsn.dev>
Cc: 50348-done <at> debbugs.gnu.org
Subject: Re: [bug#50348] [PATCH v2] gnu: Add go-1.17.
Date: Thu, 9 Sep 2021 16:55:54 -0400
On Thu, Sep 09, 2021 at 12:45:42PM -0700, Sarah Morgensen wrote:
> * gnu/packages.golang.scm (go-1.17): New variable.

I pushed the update as cf4ccde47d9df93569851e848c73a5c3d489a440




Information forwarded to guix-patches <at> gnu.org:
bug#50348; Package guix-patches. (Thu, 09 Sep 2021 21:37:01 GMT) Full text and rfc822 format available.

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

From: Sarah Morgensen <iskarian <at> mgsn.dev>
To: Leo Famulari <leo <at> famulari.name>
Cc: 50348 <at> debbugs.gnu.org
Subject: Re: [bug#50348] [PATCH] gnu: Add go-1.17.
Date: Thu, 09 Sep 2021 14:36:28 -0700
Hi Leo,

Thanks for taking a look at this (and pushing it)!

Leo Famulari <leo <at> famulari.name> writes:

>> That latter step should only be necessary when updating the build-system to
>> use this Go.
>
> Apologies if you've already answered this elsewhere, but what remains to
> be done in order to make go-build-system use Go 1.17? Can we just do it
> now?

We still have a few things to do.  In fact, since I haven't really
written this down anywhere, I'll just go ahead and open a tracking issue
for the update with all of the info and CC you.

--
Sarah




Added blocking bug(s) 50495, 49921, and 50227 Request was from Sarah Morgensen <iskarian <at> mgsn.dev> to control <at> debbugs.gnu.org. (Fri, 10 Sep 2021 00:52:02 GMT) Full text and rfc822 format available.

Removed blocking bug(s) 49921, 50495, and 50227 Request was from Sarah Morgensen <iskarian <at> mgsn.dev> to control <at> debbugs.gnu.org. (Fri, 10 Sep 2021 00:56:01 GMT) Full text and rfc822 format available.

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

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

Previous Next


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