summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2018-07-02 23:51:20 +0200
committerLudovic Courtès <ludo@gnu.org>2018-07-03 00:39:10 +0200
commit8120b23e51d8a21056cf982c6740234b8f858633 (patch)
tree079ef913de7fce40b1cecce8fd7bfe129368120b
parent0744a9f0029b2f78cc86b193214004b4501fa847 (diff)
downloadguix-8120b23e51d8a21056cf982c6740234b8f858633.tar.gz
ui: Make 'check-available-space' public.
* guix/ui.scm (check-available-space): Add optional 'directory'
parameter, defaulting to (%store-prefix).  Honor it.  Make public.
-rw-r--r--guix/ui.scm10
1 files changed, 6 insertions, 4 deletions
diff --git a/guix/ui.scm b/guix/ui.scm
index 6996b7f1c4..c1101eb4bb 100644
--- a/guix/ui.scm
+++ b/guix/ui.scm
@@ -87,6 +87,7 @@
             leave-on-EPIPE
             read/eval
             read/eval-package-expression
+            check-available-space
             location->string
             fill-paragraph
             %text-width
@@ -795,16 +796,17 @@ error."
                   (derivation->output-path derivation out-name)))
                (derivation-outputs derivation))))
 
-(define (check-available-space need)
-  "Make sure at least NEED bytes are available in the store.  Otherwise emit a
+(define* (check-available-space need
+                                #:optional (directory (%store-prefix)))
+  "Make sure at least NEED bytes are available in DIRECTORY.  Otherwise emit a
 warning."
   (let ((free (catch 'system-error
                 (lambda ()
-                  (free-disk-space (%store-prefix)))
+                  (free-disk-space directory))
                 (const #f))))
     (when (and free (>= need free))
       (warning (G_ "at least ~,1h MB needed but only ~,1h MB available in ~a~%")
-               (/ need 1e6) (/ free 1e6) (%store-prefix)))))
+               (/ need 1e6) (/ free 1e6) directory))))
 
 (define* (show-what-to-build store drv
                              #:key dry-run? (use-substitutes? #t)