[bug#54105] build-system/go: Use different default go on powerpc-linux.
Commit Message
* guix/build-system/go.scm (default-go): Return a different package
based on the target architecture.
---
guix/build-system/go.scm | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
base-commit: 7d72da6b07e99854751187d2694b067733fedda5
prerequisite-patch-id: 861786541b1231efceea28ba4d80d00c000a1b5e
prerequisite-patch-id: 7926cb990933a395cef6672939d171f8cd384170
Comments
Hi Efraim,
Is this patch still actually to be applied?
--
Oleg
On Thu, Sep 12, 2024 at 03:43:21PM +0100, Sharlatan Hellseher wrote:
>
> Hi Efraim,
>
> Is this patch still actually to be applied?
Let me get back to you about that. I thought I had a newer version of
that patch somewhere. I'll have to double-check that x86_64 -> ppc32
and ppc32->x86_64 both use gccgo. I think I had to do something also
with go-std also, which isn't needed with gccgo.
On Thu, Sep 12, 2024 at 03:43:21PM +0100, Sharlatan Hellseher wrote:
>
> Hi Efraim,
>
> Is this patch still actually to be applied?
I'm going to go with no. I have my powerpc machine back up and building,
but I haven't tested this patch out again.
It looks like instead of this patch I went with one that added a
default-gccgo, and then set 'go' in the build system depending on
"(if (supported-package? (default-go))". I think it falls over quickly
for cross-building (and for packages which don't build with go-18),
but that is a different issue.
Thanks for following up on one of my (many) forgotten patches!
@@ -3,7 +3,7 @@
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;; Copyright © 2021-2022 Ludovic Courtès <ludo@gnu.org>
-;;; Copyright © 2021 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2021, 2022 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
;;;
;;; This file is part of GNU Guix.
@@ -110,8 +110,11 @@ (define %go-build-system-modules
(define (default-go)
;; Lazily resolve the binding to avoid a circular dependency.
- (let ((go (resolve-interface '(gnu packages golang))))
- (module-ref go 'go)))
+ (let ((gcc (resolve-interface '(gnu packages gcc)))
+ (golang (resolve-interface '(gnu packages golang))))
+ (if (target-ppc32?)
+ (module-ref gcc 'gccgo-11)
+ (module-ref golang 'go))))
(define (make-go-std)
(module-ref (resolve-interface '(gnu packages golang)) 'make-go-std))