all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Leo Famulari <leo@famulari.name>
To: 34752@debbugs.gnu.org
Subject: [bug#34752] [PATCH] WIP: Update Go to 1.12.
Date: Mon,  4 Mar 2019 17:28:00 -0500	[thread overview]
Message-ID: <e1b11f5dfcc7ed9793464db2f98b79e3851546b8.1551738339.git.leo@famulari.name> (raw)

This patch depends on the removal of Go 1.9 in bug #34280.

Any ideas about these new test failures? Something fails to find some
kernel headers for reasons that I don't understand.

* gnu/packages/golang.scm (go-1.11): Replace with ...
(go-1.12): ... new variable.
[arguments]: Remove the Go 1.11.5 'tarbomb-workaround' phase.
Move 'set-bootstrap-variables' into the 'build' phase.
Disable some more tests in the 'prebuild' phase. Set $HOME because Go
1.12 actually tries to use it.
(go): Update to go-1.12.
* guix/build/go-build-system.scm (setup-environment): Set $HOME.
---
 gnu/packages/golang.scm        | 39 ++++++++++++----------------------
 guix/build/go-build-system.scm |  1 +
 2 files changed, 14 insertions(+), 26 deletions(-)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index da8ad3d7fe..ff21bcdba9 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -223,11 +223,11 @@ in the style of communicating sequential processes (@dfn{CSP}).")
     (supported-systems '("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux"))
     (license license:bsd-3)))
 
-(define-public go-1.11
+(define-public go-1.12
   (package
     (inherit go-1.4)
     (name "go")
-    (version "1.11.5")
+    (version "1.12")
     (source
      (origin
        (method url-fetch)
@@ -235,23 +235,11 @@ in the style of communicating sequential processes (@dfn{CSP}).")
                            name version ".src.tar.gz"))
        (sha256
         (base32
-         "0gllmbjvp12iszwils8id78mvjxwviwf98lh2gdkb236n4mz07mw"))))
+         "1wl8kq21fbzmv4plnaza5acz8dhbaaq6smjzk3r6cf3l6qrkvi09"))))
     (arguments
      (substitute-keyword-arguments (package-arguments go-1.4)
        ((#:phases phases)
         `(modify-phases ,phases
-           ;; XXX Work around the Go 1.11.5 tarbomb.
-           ;; <https://github.com/golang/go/issues/29906>
-           (add-after 'unpack 'tarbomb-workaround
-             (lambda _
-               (chdir "..")
-               (delete-file-recursively "gocache")
-               (delete-file-recursively "tmp")
-               #t))
-           (replace 'chdir
-             (lambda _
-               (chdir "go/src")
-               #t))
            (replace 'prebuild
              (lambda* (#:key inputs outputs #:allow-other-keys)
                (let* ((gcclib (string-append (assoc-ref inputs "gcc:lib") "/lib"))
@@ -276,8 +264,10 @@ in the style of communicating sequential processes (@dfn{CSP}).")
                              ;; can not find crt1.o despite being present.
                              "cmd/go/testdata/script/list_compiled_imports.txt"
                              "cmd/go/testdata/script/mod_case_cgo.txt"
-                             ;; https://github.com/golang/go/issues/24884
-                             "os/user/user_test.go"))
+                             ;; XXX fails to find "asm/socket.h"
+                             "cmd/go/testdata/script/list_find.txt"
+                             ;; XXX fails to find "linux/errno.h"
+                             "cmd/go/testdata/script/cgo_syso_issue29253.txt"))
 
                  (substitute* "os/os_test.go"
                    (("/usr/bin") (getcwd))
@@ -352,19 +342,16 @@ in the style of communicating sequential processes (@dfn{CSP}).")
                  (substitute* (find-files "cmd" "\\.go")
                    (("/lib(64)?/ld-linux.*\\.so\\.[0-9]") loader))
                  #t)))
-           (add-before 'build 'set-bootstrap-variables
-             (lambda* (#:key outputs inputs #:allow-other-keys)
-               ;; Tell the build system where to find the bootstrap Go.
-               (let ((go  (assoc-ref inputs "go")))
-                 (setenv "GOROOT_BOOTSTRAP" go)
-                 (setenv "GOGC" "400")
-                 #t)))
            (replace 'build
              (lambda* (#:key inputs outputs #:allow-other-keys)
                ;; FIXME: Some of the .a files are not bit-reproducible.
-               (let* ((output (assoc-ref outputs "out")))
+               (let ((go (assoc-ref inputs "go"))
+                     (output (assoc-ref outputs "out")))
+                 (setenv "HOME" "/tmp")
+                 (setenv "GOGC" "400") ; XXX necessary?
                  (setenv "CC" (which "gcc"))
                  (setenv "GOOS" "linux")
+                 (setenv "GOROOT_BOOTSTRAP" go)
                  (setenv "GOROOT" (dirname (getcwd)))
                  (setenv "GOROOT_FINAL" output)
                  (setenv "CGO_ENABLED" "1")
@@ -415,7 +402,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
        ,@(package-native-inputs go-1.4)))
     (supported-systems %supported-systems)))
 
-(define-public go go-1.11)
+(define-public go go-1.12)
 
 (define-public go-github-com-alsm-ioprogress
   (let ((commit "063c3725f436e7fba0c8f588547bee21ffec7ac5")
diff --git a/guix/build/go-build-system.scm b/guix/build/go-build-system.scm
index 022d4fe16b..c4f55b06ee 100644
--- a/guix/build/go-build-system.scm
+++ b/guix/build/go-build-system.scm
@@ -172,6 +172,7 @@ respectively."
     (if (getenv "GOPATH")
       (setenv "GOPATH" (string-append (getcwd) ":" (getenv "GOPATH")))
       (setenv "GOPATH" (getcwd)))
+    (setenv "HOME" "/tmp")
     ;; Where to install compiled executable files ('commands' in Go parlance').
     (setenv "GOBIN" (string-append out "/bin"))
     #t))
-- 
2.21.0

             reply	other threads:[~2019-03-04 22:29 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-03-04 22:28 Leo Famulari [this message]
2019-03-16 22:57 ` [bug#34752] Duplicated work (sorry!) Katherine Cox-Buday
2019-03-18 20:14   ` bug#34752: " Leo Famulari

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=e1b11f5dfcc7ed9793464db2f98b79e3851546b8.1551738339.git.leo@famulari.name \
    --to=leo@famulari.name \
    --cc=34752@debbugs.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.