gnu-maintenance: Fix `latest-release' for GnuPG.
authorLudovic Courtès <ludo@gnu.org>
Sat, 27 Apr 2013 14:26:48 +0000 (16:26 +0200)
committerLudovic Courtès <ludo@gnu.org>
Sat, 27 Apr 2013 14:26:48 +0000 (16:26 +0200)
* guix/gnu-maintenance.scm (latest-release): Filter out directories
  whose name does not contain digits early in the process.  This fixes
  (latest-release "gnupg").

guix/gnu-maintenance.scm

index be739e3..c66d5f7 100644 (file)
@@ -291,8 +291,12 @@ pairs.  Example: (\"mit-scheme-9.0.1\" . \"/gnu/mit-scheme/stable.pkg/9.0.1\").
 
     (let loop ((directory directory))
       (let* ((entries (ftp-list conn directory))
+
+             ;; Filter out sub-directories that do not contain digits---e.g.,
+             ;; /gnuzilla/lang and /gnupg/patches.
              (subdirs (filter-map (match-lambda
-                                   ((dir 'directory . _) dir)
+                                   (((? contains-digit? dir) 'directory . _)
+                                    dir)
                                    (_ #f))
                                   entries)))
         (match subdirs
@@ -307,10 +311,8 @@ pairs.  Example: (\"mit-scheme-9.0.1\" . \"/gnu/mit-scheme/stable.pkg/9.0.1\").
                     (cut cons <> directory))))
           ((subdirs ...)
            ;; Assume that SUBDIRS correspond to versions, and jump into the
-           ;; one with the highest version number.  Filter out sub-directories
-           ;; that do not contain digits---e.g., /gnuzilla/lang.
-           (let* ((subdirs (filter contains-digit? subdirs))
-                  (target  (reduce latest #f subdirs)))
+           ;; one with the highest version number.
+           (let ((target (reduce latest #f subdirs)))
              (and target
                   (loop (string-append directory "/" target))))))))))