guix package: Fix handling of `-e'.

This fixes a bug whereby a command like

  guix package -e '(@@ (gnu packages base) gnu-make-boot0)'

would only succeed when the outputs of that package are available, and
otherwise fail with "/nix/store/... is not valid".

* guix/scripts/package.scm (guix-package)[process-action](package->tuple):
  Leave P as is in the result.  Move `package->tuple' call from INSTALL*
  to INSTALL.
This commit is contained in:
Ludovic Courtès 2013-07-12 23:27:35 +02:00
parent e14c39291b
commit 2096b516e0

View file

@ -703,7 +703,7 @@ (define (package->tuple p)
`(,(package-name p)
,(package-version p)
,out
,path
,p
,(canonicalize-deps deps))))
(define (show-what-to-remove/install remove install dry-run?)
@ -771,7 +771,7 @@ (define (show-what-to-remove/install remove install dry-run?)
upgrade
(filter-map (match-lambda
(('install . (? package? p))
#f)
(package->tuple p))
(('install . (? store-path?))
#f)
(('install . package)
@ -789,7 +789,7 @@ (define (show-what-to-remove/install remove install dry-run?)
(install* (append
(filter-map (match-lambda
(('install . (? package? p))
(package->tuple p))
#f)
(('install . (? store-path? path))
(let-values (((name version)
(package-name->name+version