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.master
parent
6f32e27e97
commit
ceeea60bbc
|
@ -595,7 +595,7 @@ list available from %GNU-FILE-LIST-URI over HTTP(S)."
|
||||||
(define %package-name-rx
|
(define %package-name-rx
|
||||||
;; Regexp for a package name, e.g., "foo-X.Y". Since TeXmacs uses
|
;; Regexp for a package name, e.g., "foo-X.Y". Since TeXmacs uses
|
||||||
;; "TeXmacs-X.Y-src", the `-src' suffix is allowed.
|
;; "TeXmacs-X.Y-src", the `-src' suffix is allowed.
|
||||||
(make-regexp "^(.*)[-_](([0-9]|\\.)+)(-src)?"))
|
(make-regexp "^(.*)[-_](([0-9]|\\.)+)(-src|\\.src|\\.orig)?"))
|
||||||
|
|
||||||
(define (gnu-package-name->name+version name+version)
|
(define (gnu-package-name->name+version name+version)
|
||||||
"Return the package name and version number extracted from NAME+VERSION."
|
"Return the package name and version number extracted from NAME+VERSION."
|
||||||
|
|
|
@ -19,7 +19,8 @@
|
||||||
(define-module (test-gnu-maintenance)
|
(define-module (test-gnu-maintenance)
|
||||||
#:use-module (guix gnu-maintenance)
|
#:use-module (guix gnu-maintenance)
|
||||||
#:use-module (srfi srfi-1)
|
#:use-module (srfi srfi-1)
|
||||||
#:use-module (srfi srfi-64))
|
#:use-module (srfi srfi-64)
|
||||||
|
#:use-module (ice-9 match))
|
||||||
|
|
||||||
(test-begin "gnu-maintenance")
|
(test-begin "gnu-maintenance")
|
||||||
|
|
||||||
|
@ -31,7 +32,9 @@
|
||||||
("icecat" "icecat-38.4.0-gnu1.tar.bz2")
|
("icecat" "icecat-38.4.0-gnu1.tar.bz2")
|
||||||
("mit-scheme" "mit-scheme-9.2.tar.gz")
|
("mit-scheme" "mit-scheme-9.2.tar.gz")
|
||||||
("mediainfo" "mediainfo_20.09.tar.xz")
|
("mediainfo" "mediainfo_20.09.tar.xz")
|
||||||
("exiv2" "exiv2-0.27.3-Source.tar.gz")))
|
("exiv2" "exiv2-0.27.3-Source.tar.gz")
|
||||||
|
("mpg321" "mpg321_0.3.2.orig.tar.gz")
|
||||||
|
("bvi" "bvi-1.4.1.src.tar.gz")))
|
||||||
(every (lambda (project+file)
|
(every (lambda (project+file)
|
||||||
(not (apply release-file? project+file)))
|
(not (apply release-file? project+file)))
|
||||||
'(("guile" "guile-www-1.1.1.tar.gz")
|
'(("guile" "guile-www-1.1.1.tar.gz")
|
||||||
|
@ -40,4 +43,15 @@
|
||||||
("mit-scheme" "mit-scheme-9.2-doc-pdf.tar.gz")
|
("mit-scheme" "mit-scheme-9.2-doc-pdf.tar.gz")
|
||||||
("gnutls" "gnutls-3.2.18-w32.zip")))))
|
("gnutls" "gnutls-3.2.18-w32.zip")))))
|
||||||
|
|
||||||
|
(test-assert "tarball->version"
|
||||||
|
(let ((tarball->version (@@ (guix gnu-maintenance) tarball->version)))
|
||||||
|
(every (match-lambda
|
||||||
|
((file version)
|
||||||
|
(equal? (tarball->version file) version)))
|
||||||
|
'(("coreutils-8.32.tar.gz" "8.32")
|
||||||
|
("mediainfo_20.09.tar.xz" "20.09")
|
||||||
|
("exiv2-0.27.3-Source.tar.gz" "0.27.3")
|
||||||
|
("mpg321_0.3.2.orig.tar.gz" "0.3.2")
|
||||||
|
("bvi-1.4.1.src.tar.gz" "1.4.1")))))
|
||||||
|
|
||||||
(test-end)
|
(test-end)
|
||||||
|
|
Reference in New Issue