summaryrefslogtreecommitdiff
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-patches-2acc83daa5a3dd1b4ed3f8c32ecadf1313e6fd18.tar
guix-patches-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 \