summaryrefslogtreecommitdiff
path: root/guix/progress.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2018-10-04 10:24:34 +0200
committerLudovic Courtès <ludo@gnu.org>2018-10-04 10:24:34 +0200
commit1d0be47ab680db938ac8da1ee65e1de91e198f67 (patch)
treedfef17bb5cd3caef636bc2bfc631a4e67b10170f /guix/progress.scm
parentff30bb010bdce50f92eea0ad64280c9701a2687d (diff)
downloadgnu-guix-1d0be47ab680db938ac8da1ee65e1de91e198f67.tar
gnu-guix-1d0be47ab680db938ac8da1ee65e1de91e198f67.tar.gz
progress: Generate valid 'download-progress' traces when the size is unknown.
Fixes <https://bugs.gnu.org/32895>. Reported by Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>. * guix/progress.scm (progress-reporter/trace): In 'stop', make sure SIZE is an integer. Previously we'd generate a "@ download-progress" trace with #f for the 'transferred' number when downloading files whose size is not known in advance.
Diffstat (limited to 'guix/progress.scm')
-rw-r--r--guix/progress.scm12
1 files changed, 6 insertions, 6 deletions
diff --git a/guix/progress.scm b/guix/progress.scm
index 3b9ff408cd..f846944952 100644
--- a/guix/progress.scm
+++ b/guix/progress.scm
@@ -304,12 +304,12 @@ progress reports, write \"build trace\" lines to be processed elsewhere."
log-port)))
(report (rate-limited report-progress %progress-interval))
(stop (lambda ()
- (report-progress size)
- (display (format #f "@ download-succeeded ~a ~a ~a~%"
- file url
- (or (and=> (stat file #f) stat:size)
- size))
- log-port)))))
+ (let ((size (or (and=> (stat file #f) stat:size)
+ size)))
+ (report-progress size)
+ (display (format #f "@ download-succeeded ~a ~a ~a~%"
+ file url size)
+ log-port))))))
;; TODO: replace '(@ (guix build utils) dump-port))'.
(define* (dump-port* in out