summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2013-05-10 23:04:39 +0200
committerLudovic Courtès <ludo@gnu.org>2013-05-10 23:04:39 +0200
commit741c70c63e7a8b3a2b259c6718152c888841c722 (patch)
tree9fcde006336f4f95021d9ac14c2e7bbfb68b19b1
parent94a4b3b9f289963949c197f846ec1882d75f5a1e (diff)
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.
-rw-r--r--guix/scripts/package.scm14
-rw-r--r--tests/guix-package.sh1
2 files changed, 8 insertions, 7 deletions
diff --git a/guix/scripts/package.scm b/guix/scripts/package.scm
index 25ec63c772..5c6a118560 100644
--- a/guix/scripts/package.scm
+++ b/guix/scripts/package.scm
@@ -648,15 +648,15 @@ Install, remove, or upgrade PACKAGES in a single transaction.\n"))
(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 5a514a0dc0..0eeec51e79 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.