summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2012-11-19 23:51:08 +0100
committerLudovic Courtès <ludo@gnu.org>2012-11-19 23:53:32 +0100
commit5075e28305e633837c214706dd09d3db3ec75eb1 (patch)
tree63901a4cb1568191486c68cfc791626ff6aae816
parentef1ee6b2213d0a9a6ead79c8c9aba1d94e1e42fa (diff)
downloadpatches-5075e28305e633837c214706dd09d3db3ec75eb1.tar
patches-5075e28305e633837c214706dd09d3db3ec75eb1.tar.gz
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.
-rw-r--r--guix-package.in7
-rw-r--r--tests/guix-package.sh11
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"