diff options
| author | Ludovic Courtès <ludo@gnu.org> | 2021-04-05 11:30:20 +0200 |
|---|---|---|
| committer | Ludovic Courtès <ludo@gnu.org> | 2021-04-05 12:03:09 +0200 |
| commit | ceeea60bbc1e2be6a86cef208fcd80eb61c92934 (patch) | |
| tree | 3ebb78fca53483cb962029e8cb8e08316898e9e2 | |
| parent | 6f32e27e970c2f92e5ee1b5b5ce513c61484178e (diff) | |
gnu-maintenance: Recognize more source tarball naming schemes.
* guix/gnu-maintenance.scm (%package-name-rx): Add ".src" and ".orig"
suffixes.
* tests/gnu-maintenance.scm ("release-file?"): Add mpg321 and bvi
examples.
("tarball->version"): New test.
| -rw-r--r-- | guix/gnu-maintenance.scm | 2 | ||||
| -rw-r--r-- | tests/gnu-maintenance.scm | 18 |
2 files changed, 17 insertions, 3 deletions
diff --git a/guix/gnu-maintenance.scm b/guix/gnu-maintenance.scm index c7972d13a50..0390df59f1c 100644 --- a/guix/gnu-maintenance.scm +++ b/guix/gnu-maintenance.scm | |||
| @@ -595,7 +595,7 @@ list available from %GNU-FILE-LIST-URI over HTTP(S)." | |||
| 595 | (define %package-name-rx | 595 | (define %package-name-rx |
| 596 | ;; Regexp for a package name, e.g., "foo-X.Y". Since TeXmacs uses | 596 | ;; Regexp for a package name, e.g., "foo-X.Y". Since TeXmacs uses |
| 597 | ;; "TeXmacs-X.Y-src", the `-src' suffix is allowed. | 597 | ;; "TeXmacs-X.Y-src", the `-src' suffix is allowed. |
| 598 | (make-regexp "^(.*)[-_](([0-9]|\\.)+)(-src)?")) | 598 | (make-regexp "^(.*)[-_](([0-9]|\\.)+)(-src|\\.src|\\.orig)?")) |
| 599 | 599 | ||
| 600 | (define (gnu-package-name->name+version name+version) | 600 | (define (gnu-package-name->name+version name+version) |
| 601 | "Return the package name and version number extracted from NAME+VERSION." | 601 | "Return the package name and version number extracted from NAME+VERSION." |
diff --git a/tests/gnu-maintenance.scm b/tests/gnu-maintenance.scm index 59e79905c57..837b80063a6 100644 --- a/tests/gnu-maintenance.scm +++ b/tests/gnu-maintenance.scm | |||
| @@ -19,7 +19,8 @@ | |||
| 19 | (define-module (test-gnu-maintenance) | 19 | (define-module (test-gnu-maintenance) |
| 20 | #:use-module (guix gnu-maintenance) | 20 | #:use-module (guix gnu-maintenance) |
| 21 | #:use-module (srfi srfi-1) | 21 | #:use-module (srfi srfi-1) |
| 22 | #:use-module (srfi srfi-64)) | 22 | #:use-module (srfi srfi-64) |
| 23 | #:use-module (ice-9 match)) | ||
| 23 | 24 | ||
| 24 | (test-begin "gnu-maintenance") | 25 | (test-begin "gnu-maintenance") |
| 25 | 26 | ||
| @@ -31,7 +32,9 @@ | |||
| 31 | ("icecat" "icecat-38.4.0-gnu1.tar.bz2") | 32 | ("icecat" "icecat-38.4.0-gnu1.tar.bz2") |
| 32 | ("mit-scheme" "mit-scheme-9.2.tar.gz") | 33 | ("mit-scheme" "mit-scheme-9.2.tar.gz") |
| 33 | ("mediainfo" "mediainfo_20.09.tar.xz") | 34 | ("mediainfo" "mediainfo_20.09.tar.xz") |
| 34 | ("exiv2" "exiv2-0.27.3-Source.tar.gz"))) | 35 | ("exiv2" "exiv2-0.27.3-Source.tar.gz") |
| 36 | ("mpg321" "mpg321_0.3.2.orig.tar.gz") | ||
| 37 | ("bvi" "bvi-1.4.1.src.tar.gz"))) | ||
| 35 | (every (lambda (project+file) | 38 | (every (lambda (project+file) |
| 36 | (not (apply release-file? project+file))) | 39 | (not (apply release-file? project+file))) |
| 37 | '(("guile" "guile-www-1.1.1.tar.gz") | 40 | '(("guile" "guile-www-1.1.1.tar.gz") |
| @@ -40,4 +43,15 @@ | |||
| 40 | ("mit-scheme" "mit-scheme-9.2-doc-pdf.tar.gz") | 43 | ("mit-scheme" "mit-scheme-9.2-doc-pdf.tar.gz") |
| 41 | ("gnutls" "gnutls-3.2.18-w32.zip"))))) | 44 | ("gnutls" "gnutls-3.2.18-w32.zip"))))) |
| 42 | 45 | ||
| 46 | (test-assert "tarball->version" | ||
| 47 | (let ((tarball->version (@@ (guix gnu-maintenance) tarball->version))) | ||
| 48 | (every (match-lambda | ||
| 49 | ((file version) | ||
| 50 | (equal? (tarball->version file) version))) | ||
| 51 | '(("coreutils-8.32.tar.gz" "8.32") | ||
| 52 | ("mediainfo_20.09.tar.xz" "20.09") | ||
| 53 | ("exiv2-0.27.3-Source.tar.gz" "0.27.3") | ||
| 54 | ("mpg321_0.3.2.orig.tar.gz" "0.3.2") | ||
| 55 | ("bvi-1.4.1.src.tar.gz" "1.4.1"))))) | ||
| 56 | |||
| 43 | (test-end) | 57 | (test-end) |
