summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2016-01-07 14:46:11 +0100
committerLudovic Courtès <ludo@gnu.org>2016-01-08 00:09:50 +0100
commitb110869dd31f790bbc8c21149c9e5fb03acdc422 (patch)
tree8efc2a15e5ad51f69726f4cfe9474681f8fb8413
parentc8d969b58fbbf4b9d532aa4e539d735ad46adaf7 (diff)
downloadguix-b110869dd31f790bbc8c21149c9e5fb03acdc422.tar.gz
doc: Add elaborate package search example.
* doc/guix.texi (Invoking guix package): Add elaborate --search example
using recsel and sexes.
-rw-r--r--doc/guix.texi14
1 files changed, 14 insertions, 0 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index c252f63ff6..fc8a51536d 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -1434,6 +1434,7 @@ availability of packages:
 
 @item --search=@var{regexp}
 @itemx -s @var{regexp}
+@cindex searching for packages
 List the available packages whose name, synopsis, or description matches
 @var{regexp}.  Print all the meta-data of matching packages in
 @code{recutils} format (@pxref{Top, GNU recutils databases,, recutils,
@@ -1477,6 +1478,19 @@ that deal with printed circuit boards; removing the angle brackets
 around @code{board} would further add packages that have to do with
 keyboards.
 
+And now for a more elaborate example.  The following command searches
+for cryptographic libraries, filters out Haskell, Perl, Python, and Ruby
+libraries, and prints the name and synopsis of the matching packages:
+
+@example
+$ guix package -s crypto -s library | \
+    recsel -e '! (name ~ "^(ghc|perl|python|ruby)")' -p name,synopsis
+@end example
+
+@noindent
+@xref{Selection Expressions,,, recutils, GNU recutils manual}, for more
+information on @dfn{selection expressions} for @code{recsel -e}.
+
 @item --show=@var{package}
 Show details about @var{package}, taken from the list of available packages, in
 @code{recutils} format (@pxref{Top, GNU recutils databases,, recutils, GNU