summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2012-11-07 19:14:22 +0100
committerLudovic Courtès <ludo@gnu.org>2012-11-07 19:14:22 +0100
commit9518856b9b7de297413e99f373909a793fe1303a (patch)
tree3447ad4e40c35bf1036c76892be5e1e7e9857c3f
parent1227fabb658218447a3b08f7974e7bf0b886a7ed (diff)
downloadguix-9518856b9b7de297413e99f373909a793fe1303a.tar.gz
guix-package: Fix handling of the PACKAGE:OUTPUT syntax.
* guix-package.in (guix-package)[find-package]: Return the correct NAME
  and SUB-DRV when NAME contains #\:.

* tests/guix-package.sh (profile): Add test.
-rw-r--r--guix-package.in4
-rw-r--r--tests/guix-package.sh3
2 files changed, 5 insertions, 2 deletions
diff --git a/guix-package.in b/guix-package.in
index c60b15bf28..a5a1b48968 100644
--- a/guix-package.in
+++ b/guix-package.in
@@ -284,8 +284,8 @@ Report bugs to: ~a.~%") "@PACKAGE_BUGREPORT@"))
     (let*-values (((name sub-drv)
                    (match (string-rindex name #\:)
                      (#f    (values name "out"))
-                     (colon (values (substring name (+ 1 colon))
-                                    (substring name colon)))))
+                     (colon (values (substring name 0 colon)
+                                    (substring name (+ 1 colon))))))
                   ((name version)
                    (package-name->name+version name)))
       (match (find-packages-by-name name version)
diff --git a/tests/guix-package.sh b/tests/guix-package.sh
index 9c50f4dfeb..7363cfc945 100644
--- a/tests/guix-package.sh
+++ b/tests/guix-package.sh
@@ -40,4 +40,7 @@ guix-package -b -p "$profile" -r "guile-bootstrap-2.0"
 test -L "$profile-3-link"
 test -f "$profile/bin/make" && ! test -f "$profile/bin/guile"
 
+# Make sure the `:' syntax works.
+guix-package -b -i "libsigsegv:lib" -n
+
 rm "$profile" "$profile-"[0-9]*