aboutsummaryrefslogtreecommitdiff
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)
downloadgnu-guix-d490d06e0f589828d38553850521d1995d3f0e13.tar
gnu-guix-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)))