aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2022-09-08 12:20:28 +0200
committerLudovic Courtès <ludo@gnu.org>2022-09-08 16:22:21 +0200
commit392e97ed0800ff3ed56bfe8cd54350a8bc2f9817 (patch)
treee807178445fd420c26abd03de99a8735008fc8fd
parent69d72c553feb69a3256266bcf9d49a72c70ed660 (diff)
downloadguix-392e97ed0800ff3ed56bfe8cd54350a8bc2f9817.tar
guix-392e97ed0800ff3ed56bfe8cd54350a8bc2f9817.tar.gz
import: gnome: Reject version strings such as "43.alpha".
Reported by Maxim Cournoyer. This is a followup to 61b63e7fa73be8828af2b36d196c3676c974e119. * guix/import/gnome.scm (latest-gnome-release)[even-minor-version?]: Reject VERSION is the minor or micro part is not an integer.
-rw-r--r--guix/import/gnome.scm14
1 files changed, 8 insertions, 6 deletions
diff --git a/guix/import/gnome.scm b/guix/import/gnome.scm
index 3915f19e84..49ad7169fd 100644
--- a/guix/import/gnome.scm
+++ b/guix/import/gnome.scm
@@ -62,14 +62,16 @@ not be determined."
(define (even-minor-version? version)
(match (string-tokenize version %not-dot)
- (((= string->number major) (= string->number minor) micro)
+ (((= string->number major) (= string->number minor) (= string->number micro))
;; This is for things like GLib, with version strings like "2.72.3".
- (and minor (even? minor)))
- (((= string->number major) . _)
+ (and minor (even? minor) micro))
+ (((= string->number major) (= string->number minor))
;; GNOME applications have version strings like "42.1" (only two
- ;; integers) and are not subject to the odd/even policy. MAJOR should
- ;; be a valid number though.
- major)))
+ ;; integers) and are not subject to the odd/even policy. MAJOR and
+ ;; MINOR should be valid numbers though; "43.alpha" is rejected.
+ (and major minor))
+ (_
+ #f)))
(define upstream-name
;; Some packages like "NetworkManager" have camel-case names.