summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--guix/gnu-maintenance.scm2
-rw-r--r--tests/gnu-maintenance.scm18
2 files changed, 17 insertions, 3 deletions
diff --git a/guix/gnu-maintenance.scm b/guix/gnu-maintenance.scm
index c7972d13a5..0390df59f1 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)."
 (define %package-name-rx
   ;; Regexp for a package name, e.g., "foo-X.Y".  Since TeXmacs uses
   ;; "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)
   "Return the package name and version number extracted from NAME+VERSION."
diff --git a/tests/gnu-maintenance.scm b/tests/gnu-maintenance.scm
index 59e79905c5..837b80063a 100644
--- a/tests/gnu-maintenance.scm
+++ b/tests/gnu-maintenance.scm
@@ -19,7 +19,8 @@
 (define-module (test-gnu-maintenance)
   #:use-module (guix gnu-maintenance)
   #:use-module (srfi srfi-1)
-  #:use-module (srfi srfi-64))
+  #:use-module (srfi srfi-64)
+  #:use-module (ice-9 match))
 
 (test-begin "gnu-maintenance")
 
@@ -31,7 +32,9 @@
                 ("icecat" "icecat-38.4.0-gnu1.tar.bz2")
                 ("mit-scheme" "mit-scheme-9.2.tar.gz")
                 ("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)
                 (not (apply release-file? project+file)))
               '(("guile" "guile-www-1.1.1.tar.gz")
@@ -40,4 +43,15 @@
                 ("mit-scheme" "mit-scheme-9.2-doc-pdf.tar.gz")
                 ("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)