summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--doc/guix.texi4
-rw-r--r--guix/scripts/size.scm22
2 files changed, 23 insertions, 3 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index 8c51db8c0c..a512f7dda9 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -4184,6 +4184,10 @@ The available options are:
 
 @table @option
 
+@item --substitute-urls=@var{urls}
+Use substitute information from @var{urls}.
+@xref{client-substitute-urls, the same option for @code{guix build}}.
+
 @item --map-file=@var{file}
 Write to @var{file} a graphical map of disk usage as a PNG file.
 
diff --git a/guix/scripts/size.scm b/guix/scripts/size.scm
index 1aa4d78dcb..92625d8a90 100644
--- a/guix/scripts/size.scm
+++ b/guix/scripts/size.scm
@@ -231,9 +231,12 @@ the name of a PNG file."
   (display (_ "Usage: guix size [OPTION]... PACKAGE
 Report the size of PACKAGE and its dependencies.\n"))
   (display (_ "
-  -m, --map-file=FILE    write to FILE a graphical map of disk usage"))
+      --substitute-urls=URLS
+                         fetch substitute from URLS if they are authorized"))
   (display (_ "
   -s, --system=SYSTEM    consider packages for SYSTEM--e.g., \"i686-linux\""))
+  (display (_ "
+  -m, --map-file=FILE    write to FILE a graphical map of disk usage"))
   (newline)
   (display (_ "
   -h, --help             display this help and exit"))
@@ -248,6 +251,13 @@ Report the size of PACKAGE and its dependencies.\n"))
                 (lambda (opt name arg result)
                   (alist-cons 'system arg
                               (alist-delete 'system result eq?))))
+        (option '("substitute-urls") #t #f
+                (lambda (opt name arg result . rest)
+                  (apply values
+                         (alist-cons 'substitute-urls
+                                     (string-tokenize arg)
+                                     (alist-delete 'substitute-urls result))
+                         rest)))
         (option '(#\m "map-file") #t #f
                 (lambda (opt name arg result)
                   (alist-cons 'map-file arg result)))
@@ -260,7 +270,8 @@ Report the size of PACKAGE and its dependencies.\n"))
                   (show-version-and-exit "guix size")))))
 
 (define %default-options
-  `((system . ,(%current-system))))
+  `((system . ,(%current-system))
+    (substitute-urls . ,%default-substitute-urls)))
 
 
 ;;;
@@ -275,13 +286,18 @@ Report the size of PACKAGE and its dependencies.\n"))
                                    (_ #f))
                                  opts))
            (map-file (assoc-ref opts 'map-file))
-           (system   (assoc-ref opts 'system)))
+           (system   (assoc-ref opts 'system))
+           (urls     (assoc-ref opts 'substitute-urls)))
       (match files
         (()
          (leave (_ "missing store item argument\n")))
         ((file)
          (leave-on-EPIPE
           (with-store store
+            (set-build-options store
+                               #:use-substitutes? #t
+                               #:substitute-urls urls)
+
             (run-with-store store
               (mlet* %store-monad ((item    (ensure-store-item file))
                                    (profile (store-profile item)))