summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2018-05-07 14:04:19 +0200
committerLudovic Courtès <ludo@gnu.org>2018-05-07 14:04:19 +0200
commitd26727a143fab0dded1dbc848899270dbacd5dad (patch)
tree23c29b5c322a960768c4624a6350fc5602222dd1
parent91a56b4ab5e714e230c0088fb9f5ce0519efe1a0 (diff)
downloadguix-d26727a143fab0dded1dbc848899270dbacd5dad.tar.gz
pack: Fix handling of '-e'.
Fixes a regression introduced in
aad16cc1965ab3488449c262455eb29b15c77e95.
Reported by Julien Lepiller.

* guix/scripts/pack.scm (guix-pack)[manifest-from-args]: In
'match-lambda', add clause for single packages.
* tests/guix-pack.sh: Add test for '-e'.
-rw-r--r--guix/scripts/pack.scm5
-rw-r--r--tests/guix-pack.sh7
2 files changed, 8 insertions, 4 deletions
diff --git a/guix/scripts/pack.scm b/guix/scripts/pack.scm
index 1f493d8a09..0e09a01496 100644
--- a/guix/scripts/pack.scm
+++ b/guix/scripts/pack.scm
@@ -402,8 +402,9 @@ Create a bundle of PACKAGE.\n"))
     (let* ((transform     (options->transformation opts))
            (packages      (map (match-lambda
                                  (((? package? package) output)
-                                  (list (transform store package)
-                                        output)))
+                                  (list (transform store package) output))
+                                 ((? package? package)
+                                  (list (transform store package) "out")))
                                (filter-map maybe-package-argument opts)))
            (manifest-file (assoc-ref opts 'manifest)))
       (cond
diff --git a/tests/guix-pack.sh b/tests/guix-pack.sh
index ec56ac96a2..5584c10e00 100644
--- a/tests/guix-pack.sh
+++ b/tests/guix-pack.sh
@@ -35,8 +35,11 @@ export GUIX_BUILD_OPTIONS
 # Build a tarball with no compression.
 guix pack --compression=none --bootstrap guile-bootstrap
 
-# Build a tarball (with compression).
-guix pack --bootstrap guile-bootstrap
+# Build a tarball (with compression).  Check that '-e' works as well.
+out1="`guix pack --bootstrap guile-bootstrap`"
+out2="`guix pack --bootstrap -e '(@ (gnu packages bootstrap) %bootstrap-guile)'`"
+test -n "$out1"
+test "$out1" = "$out2"
 
 # Build a tarball with a symlink.
 the_pack="`guix pack --bootstrap -S /opt/gnu/bin=bin guile-bootstrap`"