From a02967d77af03d6468e25d6e26dbea0db919ce96 Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Sat, 19 Aug 2017 20:41:44 +0800 Subject: guix download: Support retrieving local file without the URI scheme. * guix/scripts/download.scm (guix-download): Treat the URL argument as a local file path when it fails on 'string->uri'. Call 'fetch' with the processed 'uri' instead of the original URL argument. * tests/guix-download.sh: Adjust accordingly. --- guix/scripts/download.scm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'guix') diff --git a/guix/scripts/download.scm b/guix/scripts/download.scm index bb3dc76741..f40213be33 100644 --- a/guix/scripts/download.scm +++ b/guix/scripts/download.scm @@ -143,12 +143,15 @@ Supported formats: 'nix-base32' (default), 'base32', and 'base16' (arg (or (assq-ref opts 'argument) (leave (G_ "no download URI was specified~%")))) (uri (or (string->uri arg) + (false-if-exception + (string->uri + (string-append "file://" (canonicalize-path arg)))) (leave (G_ "~a: failed to parse URI~%") arg))) (fetch (assq-ref opts 'download-proc)) (path (parameterize ((current-terminal-columns (terminal-columns))) - (fetch arg + (fetch (uri->string uri) #:verify-certificate? (assq-ref opts 'verify-certificate?)))) (hash (call-with-input-file -- cgit v1.2.3