summaryrefslogtreecommitdiff
path: root/guix
diff options
context:
space:
mode:
authorEfraim Flashner <efraim@flashner.co.il>2021-10-18 14:39:58 +0300
committerEfraim Flashner <efraim@flashner.co.il>2021-10-18 14:53:17 +0300
commit0cd912186a178aab591bf151a86899dfb0d29fe3 (patch)
treeb627e6d7b6f830ef12dc0fd9f2a0424fa88d17b4 /guix
parent9cda21cf20a5c9bdf97e3a6d6c8f901fc3e4307d (diff)
build-system/go: Fix building on host's secondary architecture.
Before when building for i686-linux on x86_64-linux GOARCH would be set to amd64, not 386. * guix/build-system/go.scm (go-build): Set goarch and goos to #f when not cross-compiling. * guix/build/go-build-system.scm (setup-go-environment): Set GOARCH according to the calculated goarch or using GOHOSTARCH and GOOS according to the calculated goos or using GOHOSTOS.
Diffstat (limited to 'guix')
-rw-r--r--guix/build-system/go.scm4
-rw-r--r--guix/build/go-build-system.scm6
2 files changed, 6 insertions, 4 deletions
diff --git a/guix/build-system/go.scm b/guix/build-system/go.scm
index 4c1a732107..757e63afe9 100644
--- a/guix/build-system/go.scm
+++ b/guix/build-system/go.scm
@@ -163,8 +163,8 @@ commit hash and its date rather than a proper release tag."
(tests? #t)
(allow-go-reference? #f)
(system (%current-system))
- (goarch (first (go-target (%current-system))))
- (goos (last (go-target (%current-system))))
+ (goarch #f)
+ (goos #f)
(guile #f)
(imported-modules %go-build-system-modules)
(modules '((guix build go-build-system)
diff --git a/guix/build/go-build-system.scm b/guix/build/go-build-system.scm
index 645d2fe680..4768ee8562 100644
--- a/guix/build/go-build-system.scm
+++ b/guix/build/go-build-system.scm
@@ -152,8 +152,10 @@ dependencies, so it should be self-contained."
;; Make sure we're building for the correct architecture and OS targets
;; that Guix targets.
- (setenv "GOARCH" goarch)
- (setenv "GOOS" goos)
+ (setenv "GOARCH" (or goarch
+ (getenv "GOHOSTARCH")))
+ (setenv "GOOS" (or goos
+ (getenv "GOHOSTOS")))
(match goarch
("arm"
(setenv "GOARM" "7"))