From 2096b516e03cf9741d6e257fbfb4700c169abbd0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= <ludo@gnu.org>
Date: Fri, 12 Jul 2013 23:27:35 +0200
Subject: [PATCH] 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.
---
 guix/scripts/package.scm | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/guix/scripts/package.scm b/guix/scripts/package.scm
index 25ff008246a..68869b4cec6 100644
--- a/guix/scripts/package.scm
+++ b/guix/scripts/package.scm
@@ -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
-- 
GitLab