guix package: '--search' no longer shows superseded packages.
Fixes <https://bugs.gnu.org/30566>. Reported by Björn Höfling <bjoern.hoefling@bjoernhoefling.de>. * guix/scripts/package.scm (find-packages-by-description): Ignore superseded packages. * tests/guix-package.sh: Add test.
This commit is contained in:
parent
87b6305e72
commit
0fb405796c
|
@ -1,5 +1,5 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
|
||||
;;; Copyright © 2013, 2015 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2014, 2016 Alex Kost <alezost@gmail.com>
|
||||
|
@ -247,11 +247,15 @@ specified in MANIFEST, a manifest object."
|
|||
description matches at least one of REGEXPS sorted by relevance, and the list
|
||||
of relevance scores."
|
||||
(let ((matches (fold-packages (lambda (package result)
|
||||
(match (package-relevance package regexps)
|
||||
((? zero?)
|
||||
result)
|
||||
(score
|
||||
(cons (list package score) result))))
|
||||
(if (package-superseded package)
|
||||
result
|
||||
(match (package-relevance package
|
||||
regexps)
|
||||
((? zero?)
|
||||
result)
|
||||
(score
|
||||
(cons (list package score)
|
||||
result)))))
|
||||
'())))
|
||||
(unzip2 (sort matches
|
||||
(lambda (m1 m2)
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# GNU Guix --- Functional package management for GNU
|
||||
# Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
|
||||
# Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
|
||||
# Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
|
||||
#
|
||||
# This file is part of GNU Guix.
|
||||
|
@ -118,6 +118,22 @@ grep '^name: gnubg' "$tmpfile"
|
|||
|
||||
rm -f "$tmpfile"
|
||||
|
||||
# Make sure deprecated packages don't show up: <https://bugs.gnu.org/30566>.
|
||||
mkdir "$module_dir"
|
||||
cat > "$module_dir/foo.scm"<<EOF
|
||||
(define-module (foo)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (gnu packages base))
|
||||
|
||||
(define-public deprecated
|
||||
(deprecated-package "fileutils" coreutils))
|
||||
EOF
|
||||
|
||||
guix build -L "$module_dir" -e '(@ (foo) deprecated)' -n
|
||||
test "`guix package -L "$module_dir" -s ^fileutils$ | grep ^name:`" = ""
|
||||
|
||||
rm -rf "$module_dir"
|
||||
|
||||
# Make sure `--search' can display all the packages.
|
||||
guix package --search="" > /dev/null
|
||||
|
||||
|
|
Loading…
Reference in New Issue