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
|
;;; 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 Nikita Karetnikov <nikita@karetnikov.org>
|
||||||
;;; Copyright © 2013, 2015 Mark H Weaver <mhw@netris.org>
|
;;; Copyright © 2013, 2015 Mark H Weaver <mhw@netris.org>
|
||||||
;;; Copyright © 2014, 2016 Alex Kost <alezost@gmail.com>
|
;;; 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
|
description matches at least one of REGEXPS sorted by relevance, and the list
|
||||||
of relevance scores."
|
of relevance scores."
|
||||||
(let ((matches (fold-packages (lambda (package result)
|
(let ((matches (fold-packages (lambda (package result)
|
||||||
(match (package-relevance package regexps)
|
(if (package-superseded package)
|
||||||
((? zero?)
|
result
|
||||||
result)
|
(match (package-relevance package
|
||||||
(score
|
regexps)
|
||||||
(cons (list package score) result))))
|
((? zero?)
|
||||||
|
result)
|
||||||
|
(score
|
||||||
|
(cons (list package score)
|
||||||
|
result)))))
|
||||||
'())))
|
'())))
|
||||||
(unzip2 (sort matches
|
(unzip2 (sort matches
|
||||||
(lambda (m1 m2)
|
(lambda (m1 m2)
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
# GNU Guix --- Functional package management for GNU
|
# 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 Nikita Karetnikov <nikita@karetnikov.org>
|
||||||
#
|
#
|
||||||
# This file is part of GNU Guix.
|
# This file is part of GNU Guix.
|
||||||
|
@ -118,6 +118,22 @@ grep '^name: gnubg' "$tmpfile"
|
||||||
|
|
||||||
rm -f "$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.
|
# Make sure `--search' can display all the packages.
|
||||||
guix package --search="" > /dev/null
|
guix package --search="" > /dev/null
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue