summary refs log tree commit diff
path: root/gnu/packages.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages.scm')
-rw-r--r--gnu/packages.scm11
1 files changed, 8 insertions, 3 deletions
diff --git a/gnu/packages.scm b/gnu/packages.scm
index 6e46a890bb..fb277389c7 100644
--- a/gnu/packages.scm
+++ b/gnu/packages.scm
@@ -24,6 +24,7 @@
   #:use-module (guix utils)
   #:use-module ((guix ftp-client) #:select (ftp-open))
   #:use-module (guix gnu-maintenance)
+  #:use-module (guix upstream)
   #:use-module (ice-9 ftw)
   #:use-module (ice-9 vlist)
   #:use-module (ice-9 match)
@@ -377,14 +378,18 @@ it."
       (when (false-if-exception (gnu-package? package))
         (let ((name      (package-name package))
               (full-name (package-full-name package)))
+          ;; XXX: This could work with non-GNU packages as well.  However,
+          ;; GNU's FTP-based updater would be too slow if it weren't memoized,
+          ;; and the generic interface in (guix upstream) doesn't support
+          ;; that.
           (match (waiting (latest-release name
                                           #:ftp-open ftp-open*
                                           #:ftp-close (const #f))
                           (_ "looking for the latest release of GNU ~a...") name)
-            ((? gnu-release? release)
+            ((? upstream-source? source)
              (let ((latest-version
-                    (string-append (gnu-release-package release) "-"
-                                   (gnu-release-version release))))
+                    (string-append (upstream-source-package source) "-"
+                                   (upstream-source-version source))))
               (when (version>? latest-version full-name)
                 (format (current-error-port)
                         (_ "~a: note: using ~a \