Subject: bug#35588: guix package --search does not search output names

From: Chris Marusich <[email-masked]>
Date: Sun, 05 May 2019 12:39:05 -0700

Hi,

mikadoZero reported a bug here:

https://lists.gnu.org/archive/html/help-guix/2019-04/msg00206.html

The bug is reproducible.  On Guix commit
aa7cdc57dc28673dedfc6ec210974aaa0099a419, a search for keyword "cargo"
does not find the "cargo" output of the "rust" package:

--8<---------------cut here---------------start------------->8---
$ guix package --search=cargo
name: chromium-bsu
version: 0.9.16.1
outputs: out
systems: x86_64-linux i686-linux armhf-linux aarch64-linux mips64el-linux
dependencies: [email-masked] [email-masked] [email-masked]
+ [email-masked] [email-masked]
location: gnu/packages/games.scm:3295:2
homepage: http://chromium-bsu.sourceforge.net/
license: Clarified Artistic, Expat
synopsis: Fast-paced, arcade-style, top-scrolling space shooter  
description: In this game you are the captain of the cargo ship Chromium
+ B.S.U.  and are responsible for delivering supplies to the troops on the front
+ line.  Your ship has a small fleet of robotic fighters which you control from
+ the relative safety of the Chromium vessel.
relevance: 2
--8<---------------cut here---------------end--------------->8---

It should have printed all the "rust" packages, and the "mrustc"
package, since each of them has a "cargo" output.  Example:

--8<---------------cut here---------------start------------->8---
name: rust
version: 1.34.0
outputs: out doc cargo
systems: x86_64-linux i686-linux armhf-linux aarch64-linux mips64el-linux
dependencies: [email-masked] [email-masked] [email-masked] [email-masked] [email-masked]
+ [email-masked] [email-masked] [email-masked] [email-masked] [email-masked]
+ [email-masked] [email-masked] [email-masked] [email-masked]
location: gnu/packages/rust.scm:1026:4
homepage: https://www.rust-lang.org
license: ASL 2.0, Expat
synopsis: Compiler for the Rust progamming language  
description: Rust is a systems programming language that provides memory
+ safety and thread safety guarantees.
--8<---------------cut here---------------end--------------->8---

The general problem here is that Guix does not include outputs whose
name matches the given regex.  One might argue that we should simply add
the output's name to a searchable field, like the description, in cases
like this, but if it's easy to fix, we should just fix it.

-- 
Chris