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.
This commit is contained in:
Ludovic Courtès 2022-05-31 09:47:42 +02:00
parent 572bc6d7bd
commit 2acc83daa5
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5
2 changed files with 6 additions and 1 deletions

View file

@ -410,7 +410,7 @@ (define (manifest->code* manifest extra-manifests)
(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)

View file

@ -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 \