From 5075e28305e633837c214706dd09d3db3ec75eb1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 19 Nov 2012 23:51:08 +0100 Subject: [PATCH] guix-package: Extract version strings when installing a direct store path. * guix-package.in (guix-package)[process-actions]: Extract the version string from store paths. * tests/guix-package.sh: Adjust accordingly. --- guix-package.in | 7 +++++-- tests/guix-package.sh | 11 +++++++---- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/guix-package.in b/guix-package.in index c0b5cea2da..dab58719c3 100644 --- a/guix-package.in +++ b/guix-package.in @@ -338,8 +338,11 @@ Report bugs to: ~a.~%") "@PACKAGE_BUGREPORT@")) (install* (append (filter-map (match-lambda (('install . (? store-path? path)) - `(,(store-path-package-name path) - #f #f ,path)) + (let-values (((name version) + (package-name->name+version + (store-path-package-name + path)))) + `(,name ,version #f ,path))) (_ #f)) opts) (map (lambda (tuple drv) diff --git a/tests/guix-package.sh b/tests/guix-package.sh index c47ebe6fe7..2bc8c573ec 100644 --- a/tests/guix-package.sh +++ b/tests/guix-package.sh @@ -42,12 +42,15 @@ test -f "$profile/bin/make" && test -f "$profile/bin/guile" # name and version string. installed="`guix-package -p "$profile" --list-installed | cut -f1 | xargs echo | sort`" case "x$installed" in - "guile* make*") true;; - "make* guile*") true;; - "*") false;; + "guile-bootstrap make-boot0") + true;; + "make-boot0 guile-bootstrap") + true;; + "*") + false;; esac -test "`guix-package -p "$profile" -I 'g.*e' | cut -f1`" = "guile-bootstrap-2.0" +test "`guix-package -p "$profile" -I 'g.*e' | cut -f1`" = "guile-bootstrap" # Remove a package. guix-package -b -p "$profile" -r "guile-bootstrap-2.0"