diff --git a/guix/scripts/package.scm b/guix/scripts/package.scm index 25ec63c772d20fda94d56b3e16fa0772b2e2c503..5c6a1185607e8600604c189c2a75fe7883764099 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 5a514a0dc005d493da03a302eec77e1ef444a3e0..0eeec51e7966393d1dca711da718ee4baa78e4f8 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.