summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2022-05-31 09:47:42 +0200
committerLudovic Courtès <ludo@gnu.org>2022-06-01 22:22:19 +0200
commit2acc83daa5a3dd1b4ed3f8c32ecadf1313e6fd18 (patch)
tree5c8783c7b3b12bdf2479949f4eb5db95ce230948
parent572bc6d7bd4d970183965375161fa910d66c1d80 (diff)
downloadguix-2acc83daa5a3dd1b4ed3f8c32ecadf1313e6fd18.tar.gz
shell: '--export-manifest -D x -D y' generates a valid manifest.
* guix/scripts/shell.scm (manifest->code*): Add missing 'list' in
generated 'concatenate-manifests' call.
* tests/guix-shell-export-manifest.sh: Add test.
-rw-r--r--guix/scripts/shell.scm2
-rw-r--r--tests/guix-shell-export-manifest.sh5
2 files changed, 6 insertions, 1 deletions
diff --git a/guix/scripts/shell.scm b/guix/scripts/shell.scm
index d9af2517c2..1a6df98829 100644
--- a/guix/scripts/shell.scm
+++ b/guix/scripts/shell.scm
@@ -410,7 +410,7 @@ concatenates MANIFESTS, a list of expressions."
   (if (null? (manifest-entries manifest))
       (match extra-manifests
         ((one) one)
-        (lst   `(concatenate-manifests ,@extra-manifests)))
+        (lst   `(concatenate-manifests (list ,@extra-manifests))))
       (match (manifest->code manifest
                              #:entry-package-version
                              manifest-entry-version-prefix)
diff --git a/tests/guix-shell-export-manifest.sh b/tests/guix-shell-export-manifest.sh
index f83904deb4..05429955b9 100644
--- a/tests/guix-shell-export-manifest.sh
+++ b/tests/guix-shell-export-manifest.sh
@@ -69,6 +69,11 @@ guix build -m "$manifest" -d | \
 guix build -m "$manifest" -d | \
     grep "$(guix build git -d)"
 
+guix shell --export-manifest -D guile -D python-itsdangerous > "$manifest"
+guix build -m "$manifest" -d | grep "$(guix build libffi -d)"
+guix build -m "$manifest" -d | \
+    grep "$(guix build -e '(@ (gnu packages python) python)' -d)"
+
 # Test various combinations to make sure generated code uses interfaces
 # correctly.
 for options in					\