[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
03/10: guix package: Avoid 'find-newest-available-packages'.
From: |
guix-commits |
Subject: |
03/10: guix package: Avoid 'find-newest-available-packages'. |
Date: |
Tue, 15 Jan 2019 14:24:38 -0500 (EST) |
civodul pushed a commit to branch master
in repository guix.
commit 465a0d65ae371cd6ae85a5f4f356c8989a863e9f
Author: Ludovic Courtès <address@hidden>
Date: Fri Jan 11 15:17:10 2019 +0100
guix package: Avoid 'find-newest-available-packages'.
* guix/scripts/package.scm (transaction-upgrade-entry): Use
'find-best-packages-by-name' instead of
'find-newest-available-packages'.
* tests/packages.scm ("transaction-upgrade-entry, zero upgrades")
("transaction-upgrade-entry, one upgrade")
("transaction-upgrade-entry, superseded package"): Adjust accordingly.
---
guix/scripts/package.scm | 51 ++++++++++++++++++++++++------------------------
tests/packages.scm | 14 ++++++-------
2 files changed, 33 insertions(+), 32 deletions(-)
diff --git a/guix/scripts/package.scm b/guix/scripts/package.scm
index 5a8fd20..ba33790 100644
--- a/guix/scripts/package.scm
+++ b/guix/scripts/package.scm
@@ -220,31 +220,32 @@ of relevance scores."
('dismiss
transaction)
(($ <manifest-entry> name version output (? string? path))
- (match (vhash-assoc name (find-newest-available-packages))
- ((_ candidate-version pkg . rest)
- (match (package-superseded pkg)
- ((? package? new)
- (supersede entry new))
- (#f
- (case (version-compare candidate-version version)
- ((>)
- (manifest-transaction-install-entry
- (package->manifest-entry* pkg output)
- transaction))
- ((<)
- transaction)
- ((=)
- (let ((candidate-path (derivation->output-path
- (package-derivation (%store) pkg))))
- ;; XXX: When there are propagated inputs, assume we need to
- ;; upgrade the whole entry.
- (if (and (string=? path candidate-path)
- (null? (package-propagated-inputs pkg)))
- transaction
- (manifest-transaction-install-entry
- (package->manifest-entry* pkg output)
- transaction))))))))
- (#f
+ (match (find-best-packages-by-name name #f)
+ ((pkg . rest)
+ (let ((candidate-version (package-version pkg)))
+ (match (package-superseded pkg)
+ ((? package? new)
+ (supersede entry new))
+ (#f
+ (case (version-compare candidate-version version)
+ ((>)
+ (manifest-transaction-install-entry
+ (package->manifest-entry* pkg output)
+ transaction))
+ ((<)
+ transaction)
+ ((=)
+ (let ((candidate-path (derivation->output-path
+ (package-derivation (%store) pkg))))
+ ;; XXX: When there are propagated inputs, assume we need to
+ ;; upgrade the whole entry.
+ (if (and (string=? path candidate-path)
+ (null? (package-propagated-inputs pkg)))
+ transaction
+ (manifest-transaction-install-entry
+ (package->manifest-entry* pkg output)
+ transaction)))))))))
+ (()
(warning (G_ "package '~a' no longer exists~%") name)
transaction)))))
diff --git a/tests/packages.scm b/tests/packages.scm
index 237feb7..eb8ede3 100644
--- a/tests/packages.scm
+++ b/tests/packages.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès
<address@hidden>
+;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès
<address@hidden>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -96,8 +96,8 @@
(test-assert "transaction-upgrade-entry, zero upgrades"
(let* ((old (dummy-package "foo" (version "1")))
- (tx (mock ((gnu packages) find-newest-available-packages
- (const vlist-null))
+ (tx (mock ((gnu packages) find-best-packages-by-name
+ (const '()))
((@@ (guix scripts package) transaction-upgrade-entry)
(manifest-entry
(inherit (package->manifest-entry old))
@@ -109,8 +109,8 @@
(test-assert "transaction-upgrade-entry, one upgrade"
(let* ((old (dummy-package "foo" (version "1")))
(new (dummy-package "foo" (version "2")))
- (tx (mock ((gnu packages) find-newest-available-packages
- (const (vhash-cons "foo" (list "2" new) vlist-null)))
+ (tx (mock ((gnu packages) find-best-packages-by-name
+ (const (list new)))
((@@ (guix scripts package) transaction-upgrade-entry)
(manifest-entry
(inherit (package->manifest-entry old))
@@ -126,8 +126,8 @@
(let* ((old (dummy-package "foo" (version "1")))
(new (dummy-package "bar" (version "2")))
(dep (deprecated-package "foo" new))
- (tx (mock ((gnu packages) find-newest-available-packages
- (const (vhash-cons "foo" (list "2" dep) vlist-null)))
+ (tx (mock ((gnu packages) find-best-packages-by-name
+ (const (list dep)))
((@@ (guix scripts package) transaction-upgrade-entry)
(manifest-entry
(inherit (package->manifest-entry old))
- branch master updated (b96909c -> b9da4b9), guix-commits, 2019/01/15
- 06/10: discovery: Add 'fold-module-public-variables*'., guix-commits, 2019/01/15
- 10/10: status: Distinguish 'package-cache' profile hook., guix-commits, 2019/01/15
- 05/10: inferior: Add 'gexp->derivation-in-inferior'., guix-commits, 2019/01/15
- 07/10: channels: Compute a package cache and use it., guix-commits, 2019/01/15
- 08/10: edit: Use 'specification->location' to read information from the cache., guix-commits, 2019/01/15
- 03/10: guix package: Avoid 'find-newest-available-packages'.,
guix-commits <=
- 01/10: gnu: Add gauche., guix-commits, 2019/01/15
- 09/10: guix package: '--list-available' can use data from the cache., guix-commits, 2019/01/15
- 02/10: profiling: Add a "gc" profiling component., guix-commits, 2019/01/15
- 04/10: packages: Remove 'find-newest-available-packages'., guix-commits, 2019/01/15