From 741c70c63e7a8b3a2b259c6718152c888841c722 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= <ludo@gnu.org>
Date: Fri, 10 May 2013 23:04:39 +0200
Subject: [PATCH] package: Store the output path of packages installed with
 `-e'.

* guix/scripts/package.scm (guix-package)[process-actions](package->tuple):
  Put the output path in the tuple, not the derivation path.
* tests/guix-package.sh: Add test.
---
 guix/scripts/package.scm | 14 +++++++-------
 tests/guix-package.sh    |  1 +
 2 files changed, 8 insertions(+), 7 deletions(-)

diff --git a/guix/scripts/package.scm b/guix/scripts/package.scm
index 25ec63c772d..5c6a1185607 100644
--- a/guix/scripts/package.scm
+++ b/guix/scripts/package.scm
@@ -648,15 +648,15 @@ (define (same? d1 d2)
       (delete-duplicates deps same?))
 
     (define (package->tuple p)
-      (let ((path (package-derivation (%store) p))
-            (deps (package-transitive-propagated-inputs p)))
+      ;; Convert package P to a tuple.
+      ;; When given a package via `-e', install the first of its
+      ;; outputs (XXX).
+      (let* ((out  (car (package-outputs p)))
+             (path (package-output (%store) p out))
+             (deps (package-transitive-propagated-inputs p)))
         `(,(package-name p)
           ,(package-version p)
-
-          ;; When given a package via `-e', install the first of its
-          ;; outputs (XXX).
-          ,(car (package-outputs p))
-
+          ,out
           ,path
           ,(canonicalize-deps deps))))
 
diff --git a/tests/guix-package.sh b/tests/guix-package.sh
index 5a514a0dc00..0eeec51e796 100644
--- a/tests/guix-package.sh
+++ b/tests/guix-package.sh
@@ -117,6 +117,7 @@ then
     guix package --bootstrap -p "$profile" -e "$boot_make"
     test "`readlink_base "$profile"`" = "$profile-2-link"
     test -x "$profile/bin/guile" && test -x "$profile/bin/make"
+    grep "`guix build -e "$boot_make"`" "$profile/manifest"
 
     # Make a "hole" in the list of generations, and make sure we can
     # roll back "over" it.
-- 
GitLab