(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.