summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/packages/xfce.scm3
-rw-r--r--guix/import/git.scm17
-rw-r--r--tests/import-git.scm9
3 files changed, 18 insertions, 11 deletions
diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm
index 2b22b2ce1e..c2f4392f76 100644
--- a/gnu/packages/xfce.scm
+++ b/gnu/packages/xfce.scm
@@ -374,7 +374,6 @@ GLib and GIO. It was started as a complete rewrite of the former Xfce menu
library called libxfce4menu, which, in contrast to garcon, was lacking menu
merging features essential for loading menus modified with menu editors.")
(license lgpl2.0+)
- ;; FIXME: the 'generic-git' updater treat "rc" as pre-releases.
(properties `((release-tag-prefix . ,(string-append name "-"))))))
(define-public tumbler
@@ -915,7 +914,6 @@ and import the new pictures from your camera.")
(description "The Thunar Archive Plugin allows you to create and extract
archive files using the file context menus in the Thunar file manager.")
(license gpl2+)
- ;; FIXME: the 'generic-git' updater treat "rc" as pre-releases.
(properties `((release-tag-prefix . ,(string-append name "-"))))))
(define-public thunar-shares-plugin
@@ -2438,5 +2436,4 @@ local weather in the panel, using forecast data provided by the
developers and people that want to build Xfce from Git In addition it contains
the Xfce developer's handbook.")
(license gpl2+)
- ;; FIXME: the 'generic-git' updater treat "dev" as pre-releases.
(properties `((release-tag-prefix . ,(string-append name "-"))))))
diff --git a/guix/import/git.scm b/guix/import/git.scm
index ab51719255..305b2fc43f 100644
--- a/guix/import/git.scm
+++ b/guix/import/git.scm
@@ -138,9 +138,16 @@ version corresponding to the tag, and the cdr is the name of the tag."
(define (entry<? a b)
(eq? (version-compare (car a) (car b)) '<))
+ (define (pre-release? tag)
+ (any (cut regexp-exec <> tag)
+ %pre-release-rx))
+
(stable-sort (filter-map (lambda (tag)
(let ((version (get-version tag)))
- (and version (cons version tag))))
+ (and version
+ (or pre-releases?
+ (not (pre-release? version)))
+ (cons version tag))))
tags)
entry<?))
@@ -149,16 +156,10 @@ version corresponding to the tag, and the cdr is the name of the tag."
"Return the latest version and corresponding tag available from the Git
repository at URL. Optionally include a VERSION string to fetch a specific
version."
- (define (pre-release? tag)
- (any (cut regexp-exec <> tag)
- %pre-release-rx))
-
(let* ((tags (map (cut string-drop <> (string-length "refs/tags/"))
(remote-refs url #:tags? #t)))
(versions->tags
- (version-mapping (if pre-releases?
- tags
- (filter (negate pre-release?) tags))
+ (version-mapping tags
#:prefix prefix
#:suffix suffix
#:delim delim
diff --git a/tests/import-git.scm b/tests/import-git.scm
index 20255dedb3..6dd8ad1649 100644
--- a/tests/import-git.scm
+++ b/tests/import-git.scm
@@ -224,4 +224,13 @@
(let ((package (make-package directory "1.0.0")))
(latest-git-tag-version package))))
+(test-equal "latest-git-tag-version: prefix contains pre-release words"
+ "1.0.1"
+ (with-temporary-git-repository directory
+ '((add "a.txt" "A")
+ (commit "First commit")
+ (tag "libdevx-1.0.1" "Release 1.0.1"))
+ (let ((package (make-package directory "1.0.0")))
+ (latest-git-tag-version package))))
+
(test-end "git")