summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2015-07-22 19:47:01 +0200
committerLudovic Courtès <ludo@gnu.org>2015-07-22 22:56:41 +0200
commitd490d06e0f589828d38553850521d1995d3f0e13 (patch)
tree4edf0804b3340c0e458fa211163d7af47f7a487b
parent1eabf4ec63587a90fd8ea05a07f832d240dc3967 (diff)
downloadguix-d490d06e0f589828d38553850521d1995d3f0e13.tar.gz
size: Add '--substitute-urls' option.
* guix/scripts/size.scm (show-help, %options): Add --substitute-urls.
  (%default-options): Add 'substitute-urls'.
  (guix-size): Honor it.
* doc/guix.texi (Invoking guix size): Document it.
-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)))