summaryrefslogtreecommitdiff
path: root/guix/scripts/build.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2019-03-13 10:33:17 +0100
committerLudovic Courtès <ludo@gnu.org>2019-03-17 22:55:01 +0100
commitd831b1907900ea39c93cef7671acdbf9e04fafc1 (patch)
tree3bf3207a58018c792987fe2fcaf1ec66cf58d3d9 /guix/scripts/build.scm
parent845c44012c2a05436dc0a5316ff3c2a9e5bd725f (diff)
downloadguix-patches-d831b1907900ea39c93cef7671acdbf9e04fafc1.tar
guix-patches-d831b1907900ea39c93cef7671acdbf9e04fafc1.tar.gz
guix build: '--with-branch' strips slashes from the version string.
This fixes things like: guix build glibc \ --with-git-url=glibc=git://sourceware.org/git/glibc.git \ --with-branch=glibc=release/2.25/master whereby slashes would before go straight to the 'version' field, leading to an invalid store file name. * guix/scripts/build.scm (transform-package-source-branch)[replace]: Replace slashes with hyphens in BRANCH when building the version string.
Diffstat (limited to 'guix/scripts/build.scm')
-rw-r--r--guix/scripts/build.scm5
1 files changed, 4 insertions, 1 deletions
diff --git a/guix/scripts/build.scm b/guix/scripts/build.scm
index 20929d6110..28864435df 100644
--- a/guix/scripts/build.scm
+++ b/guix/scripts/build.scm
@@ -318,7 +318,10 @@ strings like \"guile-next=stable-3.0\" meaning that packages are built using
(define (replace old url branch)
(package
(inherit old)
- (version (string-append "git." branch))
+ (version (string-append "git." (string-map (match-lambda
+ (#\/ #\-)
+ (chr chr))
+ branch)))
(source (git-checkout (url url) (branch branch)
(recursive? #t)))))