@@ -4,6 +4,7 @@
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2016, 2017 Alex Kost <alezost@gmail.com>
;;; Copyright © 2016 Mathieu Lirzin <mthl@gnu.org>
+;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -483,8 +484,9 @@ (define* (%find-package spec name version)
(location->string (package-location pkg))))
(match (package-superseded pkg)
((? package? new)
- (info (G_ "package '~a' has been superseded by '~a'~%")
- (package-name pkg) (package-name new))
+ (info (G_ "package '~a@~a' has been superseded by '~a@~a'~%")
+ (package-name pkg) (package-version pkg)
+ (package-name new) (package-version new))
new)
(#f
pkg)))
@@ -10,6 +10,7 @@
;;; Copyright © 2020 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2020 Simon Tournier <zimon.toutoune@gmail.com>
;;; Copyright © 2018 Steve Sprang <scs@stevesprang.com>
+;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -213,16 +214,19 @@ (define (lower-manifest-entry* entry)
(lower-manifest-entry entry (%current-system))))
(define (supersede old new)
- (info (G_ "package '~a' has been superseded by '~a'~%")
- (manifest-entry-name old) (package-name new))
- (manifest-transaction-install-entry
- (package->manifest-entry* new (manifest-entry-output old))
- (manifest-transaction-remove-pattern
- (manifest-pattern
- (name (manifest-entry-name old))
- (version (manifest-entry-version old))
- (output (manifest-entry-output old)))
- transaction)))
+ (let ((old-name (manifest-entry-name old))
+ (old-version (manifest-entry-version old)))
+ (info (G_ "package '~a@~a' has been superseded by '~a@~a'~%")
+ old-name old-version
+ (package-name new) (package-version new))
+ (manifest-transaction-install-entry
+ (package->manifest-entry* new (manifest-entry-output old))
+ (manifest-transaction-remove-pattern
+ (manifest-pattern
+ (name old-name)
+ (version old-version)
+ (output (manifest-entry-output old)))
+ transaction))))
(define (upgrade entry transform)
(match entry