summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2020-05-14 12:50:18 +0200
committerLudovic Courtès <ludo@gnu.org>2020-05-14 17:21:27 +0200
commita89df83c79340b5d0dfefcc6250dc69d502f3f5d (patch)
treee45312541a7845642c40ba7f81b1ef47a81b400a
parent19e8a754181e78acde3ee8e0d201d4fe02d604f9 (diff)
downloadguix-a89df83c79340b5d0dfefcc6250dc69d502f3f5d.tar.gz
pack: Do not cross-compile the image building tools.
Until now, something like:

  guix pack -f docker --target=arm-linux-gnueabihf

would attempt to cross-compile tar.

* guix/scripts/pack.scm (self-contained-tarball): Pass #:target to
'gexp->derivation'.
(squashfs-image): Use #+ instead of #$ for ARCHIVER.  Use 'file-append'
instead of 'string-append'.  Pass #:target to 'gexp->derivation'.
(docker-image): Likewise.
-rw-r--r--guix/scripts/pack.scm9
1 files changed, 6 insertions, 3 deletions
diff --git a/guix/scripts/pack.scm b/guix/scripts/pack.scm
index 580f696b41..11d0653d9a 100644
--- a/guix/scripts/pack.scm
+++ b/guix/scripts/pack.scm
@@ -286,6 +286,7 @@ added to the pack."
   (gexp->derivation (string-append name ".tar"
                                    (compressor-extension compressor))
                     build
+                    #:target target
                     #:references-graphs `(("profile" ,profile))))
 
 (define (singularity-environment-file profile)
@@ -384,7 +385,7 @@ added to the pack."
                      ;; Reset all UIDs and GIDs.
                      "-force-uid" "0" "-force-gid" "0")))
 
-          (setenv "PATH" (string-append #$archiver "/bin"))
+          (setenv "PATH" #+(file-append archiver "/bin"))
 
           ;; We need an empty file in order to have a valid file argument when
           ;; we reparent the root file system.  Read on for why that's
@@ -484,6 +485,7 @@ added to the pack."
                                    (compressor-extension compressor)
                                    ".squashfs")
                     build
+                    #:target target
                     #:references-graphs `(("profile" ,profile))))
 
 (define* (docker-image name profile
@@ -558,7 +560,7 @@ the image."
                         ((_) str)
                         ((names ... _) (loop names))))))) ;drop one entry
 
-            (setenv "PATH" (string-append #$archiver "/bin"))
+            (setenv "PATH" #+(file-append archiver "/bin"))
 
             (build-docker-image #$output
                                 (map store-info-item
@@ -574,12 +576,13 @@ the image."
                                        #~(list (string-append #$profile "/"
                                                               #$entry-point)))
                                 #:extra-files directives
-                                #:compressor '#$(compressor-command compressor)
+                                #:compressor '#+(compressor-command compressor)
                                 #:creation-time (make-time time-utc 0 1))))))
 
   (gexp->derivation (string-append name ".tar"
                                    (compressor-extension compressor))
                     build
+                    #:target target
                     #:references-graphs `(("profile" ,profile))))