summary refs log tree commit diff
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)
downloadguix-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"