diff options
author | Marius Bakke <mbakke@fastmail.com> | 2018-09-26 01:11:32 +0200 |
---|---|---|
committer | Marius Bakke <mbakke@fastmail.com> | 2018-09-26 01:11:32 +0200 |
commit | 6a0427af6cc3d52c0efc09262e90c1858ae6f40e (patch) | |
tree | afedf3a5728dfac46c20aed448326debccf96562 /guix/build | |
parent | 985d542e028517b2888fa61831233a2b60dc7d48 (diff) | |
parent | 3b97a1779f3b65d582b8edc8c154b6414314b946 (diff) | |
download | gnu-guix-6a0427af6cc3d52c0efc09262e90c1858ae6f40e.tar gnu-guix-6a0427af6cc3d52c0efc09262e90c1858ae6f40e.tar.gz |
Merge branch 'master' into core-updates
Diffstat (limited to 'guix/build')
-rw-r--r-- | guix/build/store-copy.scm | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/guix/build/store-copy.scm b/guix/build/store-copy.scm index 2d9590d16f..64ade7885c 100644 --- a/guix/build/store-copy.scm +++ b/guix/build/store-copy.scm @@ -19,6 +19,7 @@ (define-module (guix build store-copy) #:use-module (guix build utils) #:use-module (guix sets) + #:use-module (guix progress) #:use-module (srfi srfi-1) #:use-module (srfi srfi-9) #:use-module (srfi srfi-26) @@ -167,7 +168,8 @@ REFERENCE-GRAPHS, a list of reference-graph files." (reduce + 0 (map file-size items))) -(define* (populate-store reference-graphs target) +(define* (populate-store reference-graphs target + #:key (log-port (current-error-port))) "Populate the store under directory TARGET with the items specified in REFERENCE-GRAPHS, a list of reference-graph files." (define store @@ -183,9 +185,20 @@ REFERENCE-GRAPHS, a list of reference-graph files." (mkdir-p store) (chmod store #o1775) - (for-each (lambda (thing) - (copy-recursively thing - (string-append target thing))) - (things-to-copy))) + + (let* ((things (things-to-copy)) + (len (length things)) + (progress (progress-reporter/bar len + (format #f "copying ~a store items" + len) + log-port))) + (call-with-progress-reporter progress + (lambda (report) + (for-each (lambda (thing) + (copy-recursively thing + (string-append target thing) + #:log (%make-void-port "w")) + (report)) + things))))) ;;; store-copy.scm ends here |