maint: update-NEWS: Sort packages prior writing to the data file.
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>
Mon, 10 May 2021 16:23:55 +0000 (12:23 -0400)
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>
Mon, 10 May 2021 17:48:02 +0000 (13:48 -0400)
* build-aux/update-NEWS.scm (main): Sort packages.

build-aux/update-NEWS.scm

index e916f3f..c029d2f 100644 (file)
@@ -166,16 +166,22 @@ paragraph."
          (string-append data-directory "/packages-"
                         version ".txt"))
 
+       (define (package<? p1 p2)
+         (string<? (package-full-name p1) (package-full-name p2)))
+
        (let-values (((previous-version new-version)
                      (call-with-input-file news-file NEWS->versions)))
          (format (current-error-port) "Updating NEWS for ~a to ~a...~%"
                  previous-version new-version)
          (let* ((old (call-with-input-file (package-file previous-version)
                        read))
-                (new (fold-packages (lambda (p r)
-                                      (alist-cons (package-name p) (package-version p)
-                                                  r))
-                                    '())))
+                (all-packages/sorted (sort (fold-packages (lambda (p r)
+                                                            (cons p r))
+                                                          '())
+                                           package<?))
+                (new (map (lambda (p)
+                            (cons (package-name p) (package-version p)))
+                          all-packages/sorted)))
            (call-with-output-file (package-file new-version)
              (lambda (port)
                (pretty-print new port)))