From 46886728a7b0ba94be66b817520e34d058bb2f57 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 13 Aug 2020 14:47:27 +0300 Subject: utils: Add version-major+minor+point. * guix/utils.scm (version-major+minor+point): New procedure. --- guix/utils.scm | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'guix/utils.scm') diff --git a/guix/utils.scm b/guix/utils.scm index 436c5cd093..fc57c416a0 100644 --- a/guix/utils.scm +++ b/guix/utils.scm @@ -7,6 +7,7 @@ ;;; Copyright © 2015 David Thompson ;;; Copyright © 2017 Mathieu Othacehe ;;; Copyright © 2018, 2020 Marius Bakke +;;; Copyright © 2020 Efraim Flashner ;;; ;;; This file is part of GNU Guix. ;;; @@ -82,6 +83,7 @@ version>? version>=? version-prefix + version-major+minor+point version-major+minor version-major guile-version>? @@ -564,6 +566,15 @@ or '= when they denote equal versions." For example, (version-prefix \"2.1.47.4.23\" 3) returns \"2.1.47\"" (string-join (take (string-split version-string #\.) num-parts) ".")) +(define (version-major+minor+point version-string) + "Return \"major>..\", where major, minor and point are the +major, minor and point version numbers from the version-string. For example, +(version-major+minor+point \"6.4.5.2\") returns \"6.4.5\" or +(version-major+minor+point \"1.19.2-2581-324ca14c3003\") returns \"1.19.2\"." + (let* ((3-dot (version-prefix version-string 3)) + (index (string-index 3-dot #\-))) + (or (false-if-exception (substring 3-dot 0 index)) + 3-dot))) (define (version-major+minor version-string) "Return \".\", where major and minor are the major and -- cgit v1.2.3