summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2022-05-25 23:32:21 +0200
committerLudovic Courtès <ludo@gnu.org>2022-05-26 11:41:05 +0200
commit4e13ee4b573f1829fbf41147febac9ca8b919034 (patch)
tree5592f853db00b465e658557323f8f3c2151757f5
parent8dc47f9ee4f471cf4c2499bfbd90d281ba5c5368 (diff)
downloadguix-4e13ee4b573f1829fbf41147febac9ca8b919034.tar.gz
guix package: Sort search results by package version.
Fixes <https://issues.guix.gnu.org/55480>.
Reported by Greg Hogan <code@greghogan.com>.

* guix/scripts/package.scm (find-packages-by-description): When PACKAGE1
and PACKAGE2 have the same name, sort by version.
-rw-r--r--guix/scripts/package.scm8
1 files changed, 6 insertions, 2 deletions
diff --git a/guix/scripts/package.scm b/guix/scripts/package.scm
index 4673cf18b2..99a6cfaa29 100644
--- a/guix/scripts/package.scm
+++ b/guix/scripts/package.scm
@@ -204,8 +204,12 @@ non-zero relevance score."
                (match m2
                  ((package2 . score2)
                   (if (= score1 score2)
-                      (string>? (package-full-name package1)
-                                (package-full-name package2))
+                      (if (string=? (package-name package1)
+                                    (package-name package2))
+                          (version>? (package-version package1)
+                                     (package-version package2))
+                          (string>? (package-name package1)
+                                    (package-name package2)))
                       (> score1 score2))))))))))
 
 (define (transaction-upgrade-entry store entry transaction)