diff mbox series

[bug#65230,v3,10/10] gnu-maintenance: Consider Qt source tarballs as "release files".

Message ID a8682ba653aabb2edabd242c243407fad03f200d.1692641173.git.maxim.cournoyer@gmail.com
State New
Headers show
Series [bug#65230,v3,01/10] gnu-maintenance: Make base-url argument of import-html-release required. | expand

Commit Message

Maxim Cournoyer Aug. 21, 2023, 6:06 p.m. UTC
* guix/gnu-maintenance.scm (release-file?): Use positive logic in doc.
Add a special case for Qt source archives.
* tests/gnu-maintenance.scm ("release-file?"): Update test.

---

Changes in v3:
- Move a couple Qt-specific commits to the qt-updates branch

Changes in v2:
- Also special case release file of Qt Creator

 guix/gnu-maintenance.scm  | 18 +++++++++++++-----
 tests/gnu-maintenance.scm |  5 ++++-
 2 files changed, 17 insertions(+), 6 deletions(-)
diff mbox series

Patch

diff --git a/guix/gnu-maintenance.scm b/guix/gnu-maintenance.scm
index 2574e0f827..04827a9f27 100644
--- a/guix/gnu-maintenance.scm
+++ b/guix/gnu-maintenance.scm
@@ -258,8 +258,7 @@  (define %alpha-tarball-rx
   (make-regexp "^.*-.*[0-9](-|~|\\.)?(alpha|beta|rc|RC|cvs|svn|git)-?[0-9\\.]*\\.tar\\."))
 
 (define (release-file? project file)
-  "Return #f if FILE is not a release tarball of PROJECT, otherwise return
-true."
+  "Return true if FILE is a release tarball of PROJECT."
   (and (not (member (file-extension file)
                     '("sig" "sign" "asc"
                       "md5sum" "sha1sum" "sha256sum")))
@@ -268,12 +267,21 @@  (define (release-file? project file)
                 ;; Filter out unrelated files, like `guile-www-1.1.1'.
                 ;; Case-insensitive for things like "TeXmacs" vs. "texmacs".
                 ;; The "-src" suffix is for "freefont-src-20120503.tar.gz".
+                ;; The '-everywhere-src' suffix is for Qt modular components.
                 (and=> (match:substring match 1)
                        (lambda (name)
                          (or (string-ci=? name project)
-                             (string-ci=? name
-                                          (string-append project
-                                                         "-src")))))))
+                             (string-ci=? name (string-append project "-src"))
+                             (string-ci=?
+                              name (string-append project "-everywhere-src"))
+                             ;; For older Qt releases such as version 5.
+                             (string-ci=?
+                              name (string-append
+                                    project "-everywhere-opensource-src"))
+                             ;; For Qt Creator.
+                             (string-ci=?
+                              name (string-append
+                                    project "-opensource-src")))))))
        (not (regexp-exec %alpha-tarball-rx file))
        (let ((s (tarball-sans-extension file)))
          (regexp-exec %package-name-rx s))))
diff --git a/tests/gnu-maintenance.scm b/tests/gnu-maintenance.scm
index 196a6f9092..61ae295b96 100644
--- a/tests/gnu-maintenance.scm
+++ b/tests/gnu-maintenance.scm
@@ -40,7 +40,10 @@  (define-module (test-gnu-maintenance)
                 ("exiv2" "exiv2-0.27.3-Source.tar.gz")
                 ("mpg321" "mpg321_0.3.2.orig.tar.gz")
                 ("bvi" "bvi-1.4.1.src.tar.gz")
-                ("hostscope" "hostscope-V2.1.tgz")))
+                ("hostscope" "hostscope-V2.1.tgz")
+                ("qtbase" "qtbase-everywhere-src-6.5.2.tar.xz")
+                ("qtbase" "qtbase-everywhere-opensource-src-5.15.10.tar.xz")
+                ("qt-creator" "qt-creator-opensource-src-11.0.1.tar.xz")))
        (every (lambda (project+file)
                 (not (apply release-file? project+file)))
               '(("guile" "guile-www-1.1.1.tar.gz")