environment: Non ad-hoc mode also honors transformation options.

Fixes <https://bugs.gnu.org/35618>.
Reported by Florent Pruvost <florent.pruvost@inria.fr>.

* guix/scripts/environment.scm (options/resolve-packages): Add call to
TRANSFORM in non "ad-hoc" case.
* tests/guix-environment.sh: Add test.
This commit is contained in:
Ludovic Courtès 2019-05-07 14:38:06 +02:00 committed by Ludovic Courtès
parent bdd30bf00b
commit d108f59761
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5
2 changed files with 20 additions and 1 deletions

View File

@ -341,7 +341,7 @@ for the corresponding packages."
(list (package->manifest-entry* package output)))) (list (package->manifest-entry* package output))))
(('package 'package (? string? spec)) (('package 'package (? string? spec))
(package-environment-inputs (package-environment-inputs
(specification->package+output spec))) (transform (specification->package+output spec))))
(('expression mode str) (('expression mode str)
;; Add all the outputs of the package STR evaluates to. ;; Add all the outputs of the package STR evaluates to.
(packages->outputs (read/eval str) mode)) (packages->outputs (read/eval str) mode))

View File

@ -133,6 +133,25 @@ case "$transformed_drv" in
esac esac
rmdir "$tmpdir/emacs-36.8" rmdir "$tmpdir/emacs-36.8"
# Transformation options without '--ad-hoc'.
drv="`guix environment -n emacs-geiser 2>&1 | grep '\.drv$'`"
transformed_drv="`guix environment -n emacs-geiser \
--with-input=emacs-minimal=vim 2>&1 | grep '\.drv$'`"
test "$drv" != "$transformed_drv"
case "$drv" in
*-emacs-minimal*.drv*) true;;
*) false;;
esac
case "$transformed_drv" in
*-emacs-minimal*.drv*) false;;
*) true;;
esac
case "$transformed_drv" in
*-vim*.drv*) true;;
*) false;;
esac
if guile -c '(getaddrinfo "www.gnu.org" "80" AI_NUMERICSERV)' 2> /dev/null if guile -c '(getaddrinfo "www.gnu.org" "80" AI_NUMERICSERV)' 2> /dev/null
then then
# Compute the build environment for the initial GNU Make. # Compute the build environment for the initial GNU Make.