gnu: go-1.14: Fix building on some platforms.
authorEfraim Flashner <efraim@flashner.co.il>
Sun, 12 Dec 2021 09:53:38 +0000 (11:53 +0200)
committerEfraim Flashner <efraim@flashner.co.il>
Sun, 12 Dec 2021 12:25:45 +0000 (14:25 +0200)
* gnu/packages/golang.scm (go-1.14)[arguments]: In custom 'prebuild
phase also search for loader without 'linux' in the string. In custom
'build phase set the GOCACHE directory.
[native-inputs]: On systems which don't have support in go-1.4 use
gccgo-10 instead.

gnu/packages/golang.scm

index 41f4d1d..e546922 100644 (file)
@@ -272,7 +272,8 @@ in the style of communicating sequential processes (@dfn{CSP}).")
              (lambda* (#:key inputs outputs #:allow-other-keys)
                (let* ((gcclib (string-append (assoc-ref inputs "gcc:lib") "/lib"))
                       (ld (string-append (assoc-ref inputs "libc") "/lib"))
-                      (loader (car (find-files ld "^ld-linux.+")))
+                      (loader (car (append (find-files ld "^ld-linux.+")
+                                           (find-files ld "^ld(64)?\\.so.+"))))
                       (net-base (assoc-ref inputs "net-base"))
                       (tzdata-path
                        (string-append (assoc-ref inputs "tzdata") "/share/zoneinfo"))
@@ -409,6 +410,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
                  (setenv "GOOS" "linux")
                  (setenv "GOROOT" (dirname (getcwd)))
                  (setenv "GOROOT_FINAL" output)
+                 (setenv "GOCACHE" "/tmp/go-cache")
                  (setenv "CGO_ENABLED" "1")
                  (invoke "sh" "all.bash"))))
            (replace 'install
@@ -447,7 +449,9 @@ in the style of communicating sequential processes (@dfn{CSP}).")
                  (copy-recursively "../" output)
                  #t)))))))
     (native-inputs
-     `(("go" ,go-1.4)
+     `(,@(if (member (%current-system) (package-supported-systems go-1.4))
+           `(("go" ,go-1.4))
+           `(("go" ,gccgo-10)))
        ("go-skip-gc-test.patch" ,(search-patch "go-skip-gc-test.patch"))
        ,@(match (%current-system)
            ((or "armhf-linux" "aarch64-linux")