~ruther/guix-local

741c70c63e7a8b3a2b259c6718152c888841c722 — Ludovic Courtès 13 years ago 94a4b3b
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.
2 files changed, 8 insertions(+), 7 deletions(-)

M guix/scripts/package.scm
M tests/guix-package.sh
M guix/scripts/package.scm => guix/scripts/package.scm +7 -7
@@ 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))))


M tests/guix-package.sh => tests/guix-package.sh +1 -0
@@ 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.