From cf5e58297d441e5e8f93e104f23eb3d18b2b51c9 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 20 Apr 2016 23:01:41 +0200 Subject: substitute: Better abbreviate substitute URL in progress report. Suggested by Danny Milosavljevic . * guix/build/download.scm (nar-uri-abbreviation): New procedure. * guix/scripts/substitute.scm (process-substitution): Use it instead of 'store-path-abbreviation'. --- guix/build/download.scm | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'guix/build') diff --git a/guix/build/download.scm b/guix/build/download.scm index fe7a453c89..fec4cec3e8 100644 --- a/guix/build/download.scm +++ b/guix/build/download.scm @@ -42,6 +42,7 @@ (define-module (guix build download) current-terminal-columns progress-proc uri-abbreviation + nar-uri-abbreviation store-path-abbreviation)) ;;; Commentary: @@ -222,6 +223,17 @@ (define (elide-path) uri-as-string)) uri-as-string)) +(define (nar-uri-abbreviation uri) + "Abbreviate URI, which is assumed to be the URI of a nar as served by Hydra +and 'guix publish', something like +\"http://example.org/nar/1ldrllwbna0aw5z8kpci4fsvbd2w8cw4-texlive-bin-2015\"." + (let* ((uri (if (string? uri) (string->uri uri) uri)) + (path (basename (uri-path uri)))) + (if (and (> (string-length path) 33) + (char=? (string-ref path 32) #\-)) + (string-drop path 33) + path))) + (define (ftp-fetch uri file) "Fetch data from URI and write it to FILE. Return FILE on success." (let* ((conn (ftp-open (uri-host uri))) -- cgit v1.2.3