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.
This commit is contained in:
Ludovic Courtès 2012-11-07 19:14:22 +01:00
parent 1227fabb65
commit 9518856b9b
2 changed files with 5 additions and 2 deletions

@ -284,8 +284,8 @@ Report bugs to: ~a.~%") "@PACKAGE_BUGREPORT@"))
(let*-values (((name sub-drv) (let*-values (((name sub-drv)
(match (string-rindex name #\:) (match (string-rindex name #\:)
(#f (values name "out")) (#f (values name "out"))
(colon (values (substring name (+ 1 colon)) (colon (values (substring name 0 colon)
(substring name colon))))) (substring name (+ 1 colon))))))
((name version) ((name version)
(package-name->name+version name))) (package-name->name+version name)))
(match (find-packages-by-name name version) (match (find-packages-by-name name version)

@ -40,4 +40,7 @@ guix-package -b -p "$profile" -r "guile-bootstrap-2.0"
test -L "$profile-3-link" test -L "$profile-3-link"
test -f "$profile/bin/make" && ! test -f "$profile/bin/guile" 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]* rm "$profile" "$profile-"[0-9]*