Subject: While searching for packages, deprecated packages should be ignored
From: Björn Höfling <[email-masked]>
To: <[email-masked]>
Date: Wed, 21 Feb 2018 10:03:16 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

When I search for a deprecated package, I get both the deprecated
package and the new one. That is quite confusing and I can't decide
which one to take. For example:

$ guix package -s geiser

name: geiser-next
version: 0.9
outputs: out
systems: x86_64-linux i686-linux armhf-linux aarch64-linux
mips64el-linux dependencies: emacs-minimal-25.3 guile-2.0.14
location: guix/packages.scm:335:2
homepage: https://nongnu.org/geiser/
license: Modified BSD
synopsis: Collection of Emacs modes for Guile and Racket hacking  
description:
[..]
relevance: 6

name: geiser
version: 0.9
outputs: out
systems: x86_64-linux i686-linux armhf-linux aarch64-linux
mips64el-linux dependencies: emacs-minimal-25.3 guile-2.0.14
location: gnu/packages/emacs.scm:314:2
homepage: https://nongnu.org/geiser/
license: Modified BSD
synopsis: Collection of Emacs modes for Guile and Racket hacking  
description: 
[..]
relevance: 6

Here I get two exactly same results, besides the package name and the
source code line number.

I have to look into the package sources to find out which of the two is
the not-deprecated one.

As a user, I would like to see only the new package mentioned. Maybe
some users also want a short note like:

"geiser formerly known as geiser-new."

Technical background:

`deprecated-package` is defined in `guix/packages.scm`: 

```
(define (deprecated-package old-name p)
  "Return a package called OLD-NAME and marked as superseded by P, a package
object."
  (package
    (inherit p)
    (name old-name)
    (properties `((superseded . ,p)))))
```

That means the `guix package -s` should somehow make use of the
`superseeded` property.

Björn