GNU bug report logs - #59843
[PATCH] shell: Enable --target for guix shell (--development)

Previous Next

Package: guix-patches;

Reported by: Yarl Baudig <yarl-baudig <at> mailoo.org>

Date: Mon, 5 Dec 2022 20:32:01 UTC

Severity: normal

Tags: patch

Done: Ludovic Courtès <ludo <at> gnu.org>

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: Ludovic Courtès <ludo <at> gnu.org>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#59843: closed ([PATCH] shell: Enable --target for guix shell
 (--development))
Date: Wed, 21 Dec 2022 13:43:02 +0000
[Message part 1 (text/plain, inline)]
Your message dated Wed, 21 Dec 2022 14:42:28 +0100
with message-id <87mt7g50vv.fsf_-_ <at> gnu.org>
and subject line Re: bug#59843: [PATCH] shell: Enable --target for guix shell (--development)
has caused the debbugs.gnu.org bug report #59843,
regarding [PATCH] shell: Enable --target for guix shell (--development)
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
59843: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=59843
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Yarl Baudig <yarl-baudig <at> mailoo.org>
To: guix-patches <at> gnu.org
Cc: Yarl Baudig <yarl-baudig <at> mailoo.org>
Subject: [PATCH] shell: Enable --target for guix shell (--development)
Date: Mon,  5 Dec 2022 21:30:51 +0100
This enable the use of --target for development inputs, that is:
with `guix shell`, includes the dependencies for cross-building packages
given with --development

* guix/scripts/environment.scm: Enable --target.
* guix/scripts/shell.scm: Enable --target.
* doc/guix.texi: Document it.
---
 doc/guix.texi                |  5 +++++
 guix/scripts/environment.scm | 14 +++++++++++---
 guix/scripts/shell.scm       |  3 +++
 3 files changed, 19 insertions(+), 3 deletions(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index a79b777826..f1da3a4865 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -6176,6 +6176,11 @@ environment.
 @itemx -s @var{system}
 Attempt to build for @var{system}---e.g., @code{i686-linux}.
 
+@item --target=@var{target}
+Attempt to build the environment dependencies (see @option{--development})
+for @var{target}--e.g., @code{aarch64-linux-gnu}. Useful to debug cross-build
+failures (@pxref{Debugging Build Failures}).
+
 @item --container
 @itemx -C
 @cindex container
diff --git a/guix/scripts/environment.scm b/guix/scripts/environment.scm
index 64597f6e9f..b269be828e 100644
--- a/guix/scripts/environment.scm
+++ b/guix/scripts/environment.scm
@@ -127,7 +127,9 @@ (define (show-environment-options-help)
   (display (G_ "
   -v, --verbosity=LEVEL  use the given verbosity LEVEL"))
   (display (G_ "
-      --bootstrap        use bootstrap binaries to build the environment")))
+      --bootstrap        use bootstrap binaries to build the environment"))
+  (display (G_ "
+      --list-targets     list available targets")))
 
 (define (show-help)
   (display (G_ "Usage: guix environment [OPTION]... PACKAGE... [-- COMMAND...]
@@ -144,6 +146,10 @@ (define (show-help)
       --ad-hoc           include all specified packages in the environment instead
                          of only their inputs"))
 
+   (display (G_ "
+      --target=TRIPLET   cross-build inputs for non-adhoc packages for
+ TRIPLET--e.g., \"aarch64-linux-gnu\""))
+
   (show-environment-options-help)
   (newline)
   (show-build-options-help)
@@ -277,7 +283,8 @@ (define %options
 
          (append %transformation-options
                  %standard-build-options
-                 %standard-native-build-options)))
+                 %standard-native-build-options
+                 %standard-cross-build-options)))
 
 (define (pick-all alist key)
   "Return a list of values in ALIST associated with KEY."
@@ -332,7 +339,8 @@ (define (packages->outputs packages mode)
                   (('package 'package (? string? spec))
                    (manifest-entries
                     (package->development-manifest
-                     (transform (specification->package+output spec)))))
+                     (transform (specification->package+output spec))
+                     #:target (assoc-ref opts 'target))))
                   (('expression mode str)
                    ;; Add all the outputs of the package STR evaluates to.
                    (packages->outputs (read/eval str) mode))
diff --git a/guix/scripts/shell.scm b/guix/scripts/shell.scm
index 2fc1dc942a..b2ae12cec2 100644
--- a/guix/scripts/shell.scm
+++ b/guix/scripts/shell.scm
@@ -62,6 +62,9 @@ (define (show-help)
   (display (G_ "
   -f, --file=FILE        add to the environment the package FILE evaluates to"))
 
+   (display (G_ "
+      --target=TRIPLET   cross-build development inputs packages for
+ TRIPLET--e.g., \"aarch64-linux-gnu\""))
   (display (G_ "
   -q                     inhibit loading of 'guix.scm' and 'manifest.scm'"))
   (display (G_ "

base-commit: c3713d53e0bdf1186e08880b9e0ae6dd85f55fc4
-- 
2.38.1





[Message part 3 (message/rfc822, inline)]
From: Ludovic Courtès <ludo <at> gnu.org>
To: "yarl baudig" <yarl-baudig <at> mailoo.org>
Cc: 59843-done <at> debbugs.gnu.org
Subject: Re: bug#59843: [PATCH] shell: Enable --target for guix shell
 (--development)
Date: Wed, 21 Dec 2022 14:42:28 +0100
Hi,

"yarl baudig" <yarl-baudig <at> mailoo.org> skribis:

> I responded too fast. You are right, something is wrong. Not every path is accessible. I will try to understand when I'll have some time.

Alright!  I’m closing this bug for now, but do get in touch on IRC or
guix-devel if you’d like to discuss it.

Thanks,
Ludo’.


This bug report was last modified 2 years and 151 days ago.

Previous Next


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