diff options
author | Ludovic Courtès <ludo@gnu.org> | 2015-04-19 19:12:22 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2015-04-19 23:34:53 +0200 |
commit | 5763ad9266ec7682d53b87a874fc6ae04f92b6c4 (patch) | |
tree | f86c15d803840cae60284b682b52dabf8a5c8550 | |
parent | bbceb0ef8a1e05faaa15c5b4135275fb4572b8d9 (diff) | |
download | guix-5763ad9266ec7682d53b87a874fc6ae04f92b6c4.tar.gz |
guix package: -A and -s take supported systems into account.
* guix/scripts/package.scm (guix-package)[process-query] <list-available>: Restrict results to packages matching 'supported-package?". * guix/ui.scm (package->recutils): Print "systems:". * tests/guix-package.sh: Add tests. * doc/guix.texi (Invoking guix package): Adjust description of '--list-available' accordingly.
-rw-r--r-- | doc/guix.texi | 4 | ||||
-rw-r--r-- | guix/scripts/package.scm | 12 | ||||
-rw-r--r-- | guix/ui.scm | 2 | ||||
-rw-r--r-- | tests/guix-package.sh | 10 |
4 files changed, 21 insertions, 7 deletions
diff --git a/doc/guix.texi b/doc/guix.texi index d47120da0b..09dcff59f4 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -1105,7 +1105,7 @@ availability of packages: @item --search=@var{regexp} @itemx -s @var{regexp} -List the available packages whose synopsis or description matches +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, GNU recutils manual}). @@ -1171,7 +1171,7 @@ the store. @item --list-available[=@var{regexp}] @itemx -A [@var{regexp}] -List packages currently available in the software distribution +List packages currently available in the distribution for this system (@pxref{GNU Distribution}). When @var{regexp} is specified, list only installed packages whose name matches @var{regexp}. diff --git a/guix/scripts/package.scm b/guix/scripts/package.scm index 5ee3a89ba6..a42452ae70 100644 --- a/guix/scripts/package.scm +++ b/guix/scripts/package.scm @@ -960,11 +960,13 @@ more information.~%")) (available (fold-packages (lambda (p r) (let ((n (package-name p))) - (if regexp - (if (regexp-exec regexp n) - (cons p r) - r) - (cons p r)))) + (if (supported-package? p) + (if regexp + (if (regexp-exec regexp n) + (cons p r) + r) + (cons p r)) + r))) '()))) (leave-on-EPIPE (for-each (lambda (p) diff --git a/guix/ui.scm b/guix/ui.scm index 5ca5afe457..f80ce37146 100644 --- a/guix/ui.scm +++ b/guix/ui.scm @@ -653,6 +653,8 @@ WIDTH columns." ;; Note: Don't i18n field names so that people can post-process it. (format port "name: ~a~%" (package-name p)) (format port "version: ~a~%" (package-version p)) + (format port "systems: ~a~%" + (string-join (package-transitive-supported-systems p))) (format port "dependencies: ~a~%" (match (package-direct-inputs p) (((labels inputs . _) ...) diff --git a/tests/guix-package.sh b/tests/guix-package.sh index 6cfd50b5e5..a732110d5c 100644 --- a/tests/guix-package.sh +++ b/tests/guix-package.sh @@ -212,9 +212,19 @@ cat > "$module_dir/foo.scm"<<EOF (patches (list (search-patch "emacs.patch"))))) (name "emacs-foo-bar-patched") (version "42"))) + +(define-public y + (package (inherit emacs) + (name "super-non-portable-emacs") + (supported-systems '("foobar64-hurd")))) EOF guix package -i emacs-foo-bar-patched -n +# This one should not show up in searches since it's no supported on the +# current system. +test "`guix package -A super-non-portable-emacs`" = "" +test "`guix package -s super-non-portable-emacs | grep ^systems:`" = "systems: " + unset GUIX_PACKAGE_PATH # Using 'GUIX_BUILD_OPTIONS'. |