GNU bug report logs - #67505
[PATCH] build/go: Don't use set!

Previous Next

Package: guix-patches;

Reported by: Efraim Flashner <efraim <at> flashner.co.il>

Date: Tue, 28 Nov 2023 10:28:02 UTC

Severity: normal

Tags: patch

Done: Efraim Flashner <efraim <at> flashner.co.il>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Efraim Flashner <efraim <at> flashner.co.il>
Subject: bug#67505: closed (Re: [bug#67505] [PATCH] build/go: Don't use set!)
Date: Mon, 04 Dec 2023 09:55:03 +0000
[Message part 1 (text/plain, inline)]
Your bug report

#67505: [PATCH] build/go: Don't use set!

which was filed against the guix-patches package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to 67505 <at> debbugs.gnu.org.

-- 
67505: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=67505
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Efraim Flashner <efraim <at> flashner.co.il>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 67505-done <at> debbugs.gnu.org,
 Katherine Cox-Buday <cox.katherine.e+guix <at> gmail.com>
Subject: Re: [bug#67505] [PATCH] build/go: Don't use set!
Date: Mon, 4 Dec 2023 11:53:58 +0200
[Message part 3 (text/plain, inline)]
On Sun, Dec 03, 2023 at 11:49:03PM +0100, Ludovic Courtès wrote:
> Efraim Flashner <efraim <at> flashner.co.il> skribis:
> 
> > This causes build failures on powerpc-linux.
> >
> > * guix/build/go-build-system.scm (unpack): When the unpack-path is unset
> > use the import-path but don't redefine the unpack-path.
> >
> > Change-Id: I2b5a36eb738abb14307941d388038139dbaf2bdf
> 
> [...]
> 
> > -  (when (string-null? unpack-path)
> > -    (set! unpack-path import-path))
> > -  (let ((dest (string-append (getenv "GOPATH") "/src/" unpack-path)))
> > +  (let ((dest (string-append (getenv "GOPATH") "/src/"
> > +                             (if (string-null? unpack-path)
> > +                               import-path
> > +                               unpack-path))))
> 
> Could you adjust indentation of the ‘if’ arms?
> 
> Otherwise LGTM, thanks!

Done. Patch pushed!

-- 
Efraim Flashner   <efraim <at> flashner.co.il>   רנשלפ םירפא
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
[signature.asc (application/pgp-signature, inline)]
[Message part 5 (message/rfc822, inline)]
From: Efraim Flashner <efraim <at> flashner.co.il>
To: guix-patches <at> gnu.org
Cc: Efraim Flashner <efraim <at> flashner.co.il>
Subject: [PATCH] build/go: Don't use set!
Date: Tue, 28 Nov 2023 12:24:15 +0200
This causes build failures on powerpc-linux.

* guix/build/go-build-system.scm (unpack): When the unpack-path is unset
use the import-path but don't redefine the unpack-path.

Change-Id: I2b5a36eb738abb14307941d388038139dbaf2bdf
---

I checked the rest of the build code in (guix build go-build-system) and
I didn't see anywhere that didn't also check to make sure the
unpack-path wasn't empty.  I have yet to create a minimal reproducer for
the set! issue on powerpc-linux but this is the only change preventing
building go packages on powerpc-linux (the 32-bit ones, not
powerpc64le-linux).

 guix/build/go-build-system.scm | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/guix/build/go-build-system.scm b/guix/build/go-build-system.scm
index 7f25e05d0d..d32235bf5a 100644
--- a/guix/build/go-build-system.scm
+++ b/guix/build/go-build-system.scm
@@ -4,7 +4,7 @@
 ;;; Copyright © 2019 Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
 ;;; Copyright © 2020 Jack Hill <jackhill <at> jackhill.us>
 ;;; Copyright © 2020 Jakub Kądziołka <kuba <at> kadziolka.net>
-;;; Copyright © 2020, 2021 Efraim Flashner <efraim <at> flashner.co.il>
+;;; Copyright © 2020, 2021, 2023 Efraim Flashner <efraim <at> flashner.co.il>
 ;;; Copyright © 2021 Sarah Morgensen <iskarian <at> mgsn.dev>
 ;;;
 ;;; This file is part of GNU Guix.
@@ -227,9 +227,10 @@ (define* (unpack #:key source import-path unpack-path #:allow-other-keys)
 
   (when (string-null? import-path)
     (display "WARNING: The Go import path is unset.\n"))
-  (when (string-null? unpack-path)
-    (set! unpack-path import-path))
-  (let ((dest (string-append (getenv "GOPATH") "/src/" unpack-path)))
+  (let ((dest (string-append (getenv "GOPATH") "/src/"
+                             (if (string-null? unpack-path)
+                               import-path
+                               unpack-path))))
     (mkdir-p dest)
     (if (file-is-directory? source)
         (copy-recursively source dest #:keep-mtime? #t)

base-commit: 62376e3eb67644454bc655bed56be4be965bd13e
-- 
Efraim Flashner   <efraim <at> flashner.co.il>   רנשלפ םירפא
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted




This bug report was last modified 1 year and 218 days ago.

Previous Next


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