summary refs log tree commit diff
path: root/build-aux
diff options
context:
space:
mode:
Diffstat (limited to 'build-aux')
-rw-r--r--build-aux/update-NEWS.scm18
1 files changed, 12 insertions, 6 deletions
diff --git a/build-aux/update-NEWS.scm b/build-aux/update-NEWS.scm
index a05ecad091..c029d2f0da 100644
--- a/build-aux/update-NEWS.scm
+++ b/build-aux/update-NEWS.scm
@@ -95,7 +95,7 @@ paragraph."
     (with-atomic-file-replacement news-file
       (lambda (input output)
         (rewrite-org-section input output
-                             (make-regexp "^(\\*+) (.*) new packages")
+                             (make-regexp "^(\\*+).*new packages")
                              (lambda (match port)
                                (let ((stars (match:substring match 1)))
                                  (format port
@@ -141,7 +141,7 @@ paragraph."
     (with-atomic-file-replacement news-file
       (lambda (input output)
         (rewrite-org-section input output
-                             (make-regexp "^(\\*+) (.*) package updates")
+                             (make-regexp "^(\\*+).*package updates")
                              (lambda (match port)
                                (let ((stars (match:substring match 1))
                                      (lst   (map (match-lambda
@@ -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)))