diff options
author | Ludovic Courtès <ludo@gnu.org> | 2016-04-20 23:01:41 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2016-04-20 23:01:41 +0200 |
commit | cf5e58297d441e5e8f93e104f23eb3d18b2b51c9 (patch) | |
tree | b837150479b9913526c7747625f5c14abcafdd22 | |
parent | 3e31ec827a887eda2d13f5fb7b7f61e222b2169d (diff) | |
download | patches-cf5e58297d441e5e8f93e104f23eb3d18b2b51c9.tar patches-cf5e58297d441e5e8f93e104f23eb3d18b2b51c9.tar.gz |
substitute: Better abbreviate substitute URL in progress report.
Suggested by Danny Milosavljevic <dannym@scratchpost.org>.
* guix/build/download.scm (nar-uri-abbreviation): New procedure.
* guix/scripts/substitute.scm (process-substitution): Use it instead of
'store-path-abbreviation'.
-rw-r--r-- | guix/build/download.scm | 12 | ||||
-rwxr-xr-x | guix/scripts/substitute.scm | 6 |
2 files changed, 15 insertions, 3 deletions
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 @@ current-terminal-columns progress-proc uri-abbreviation + nar-uri-abbreviation store-path-abbreviation)) ;;; Commentary: @@ -222,6 +223,17 @@ abbreviation of URI showing the scheme, host, and basename of the file." 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))) diff --git a/guix/scripts/substitute.scm b/guix/scripts/substitute.scm index db0416b0c0..0f0677fb22 100755 --- a/guix/scripts/substitute.scm +++ b/guix/scripts/substitute.scm @@ -32,7 +32,7 @@ #:use-module ((guix build utils) #:select (mkdir-p dump-port)) #:use-module ((guix build download) #:select (current-terminal-columns - progress-proc uri-abbreviation + progress-proc uri-abbreviation nar-uri-abbreviation open-connection-for-uri close-connection store-path-abbreviation byte-count->string)) @@ -896,11 +896,11 @@ DESTINATION as a nar file. Verify the substitute against ACL." (dl-size (or download-size (and (equal? comp "none") (narinfo-size narinfo)))) - (progress (progress-proc (uri-abbreviation uri) + (progress (progress-proc (uri->string uri) dl-size (current-error-port) #:abbreviation - store-path-abbreviation))) + nar-uri-abbreviation))) (progress-report-port progress raw))) ((input pids) (decompressed-port (and=> (narinfo-compression narinfo) |