aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2019-07-26 11:17:31 +0200
committerLudovic Courtès <ludo@gnu.org>2019-07-26 11:21:36 +0200
commit4d04bc50d2df32be326e0f48f378dc581f873989 (patch)
tree3dd24dc91ee7ded939659a25a837fb0e69fe92a3
parent10a8c2bbc6754bddb0e5d668b3ecc9050efd820b (diff)
downloadguix-4d04bc50d2df32be326e0f48f378dc581f873989.tar.gz
guix-4d04bc50d2df32be326e0f48f378dc581f873989.zip
guix build: '--with-commit' recognizes "v[0-9]" tags.
* guix/scripts/build.scm (transform-package-source-commit)[replace]: Special case COMMIT that starts with "v[0-9]".
-rw-r--r--guix/scripts/build.scm13
1 files changed, 9 insertions, 4 deletions
diff --git a/guix/scripts/build.scm b/guix/scripts/build.scm
index ec58ba871b..3ee0b737fe 100644
--- a/guix/scripts/build.scm
+++ b/guix/scripts/build.scm
@@ -341,10 +341,15 @@ strings like \"guile-next=cabba9e\" meaning that packages are built using
(define (replace old url commit)
(package
(inherit old)
- (version (string-append "git."
- (if (< (string-length commit) 7)
- commit
- (string-take commit 7))))
+ (version (if (and (> (string-length commit) 1)
+ (string-prefix? "v" commit)
+ (char-set-contains? char-set:digit
+ (string-ref commit 1)))
+ (string-drop commit 1) ;looks like a tag like "v1.0"
+ (string-append "git."
+ (if (< (string-length commit) 7)
+ commit
+ (string-take commit 7)))))
(source (git-checkout (url url) (commit commit)
(recursive? #t)))))