From: "Ludovic Courtès" <ludo@gnu.org>
To: 33519@debbugs.gnu.org
Cc: rekado@elephly.net
Subject: [bug#33519] [PATCH 4/4] ui: 'show-what-to-build' reports grafts separately.
Date: Mon, 26 Nov 2018 22:47:09 +0100 [thread overview]
Message-ID: <20181126214709.27856-4-ludo@gnu.org> (raw)
In-Reply-To: <20181126214709.27856-1-ludo@gnu.org>
* guix/ui.scm (graft-derivation?): New procedure.
(show-what-to-build): Distinguish among BUILD derivations that match
'graft-derivation?'. Report them separately.
---
guix/ui.scm | 26 +++++++++++++++++++++++---
1 file changed, 23 insertions(+), 3 deletions(-)
diff --git a/guix/ui.scm b/guix/ui.scm
index 96f403acf5..60636edac0 100644
--- a/guix/ui.scm
+++ b/guix/ui.scm
@@ -816,6 +816,12 @@ warning."
(warning (G_ "at least ~,1h MB needed but only ~,1h MB available in ~a~%")
(/ need 1e6) (/ free 1e6) directory))))
+(define (graft-derivation? drv)
+ "Return true if DRV is definitely a graft derivation, false otherwise."
+ (match (assq-ref (derivation-properties drv) 'type)
+ ('graft #t)
+ (_ #f)))
+
(define* (show-what-to-build store drv
#:key dry-run? (use-substitutes? #t)
(mode (build-mode normal)))
@@ -865,7 +871,11 @@ report what is prerequisites are available for download."
(append-map
substitutable-references
download))))
- download)))
+ download))
+ ((graft build)
+ (partition (compose graft-derivation?
+ read-derivation-from-file)
+ build)))
(define installed-size
(reduce + 0 (map substitutable-nar-size download)))
@@ -898,7 +908,12 @@ report what is prerequisites are available for download."
"~:[The following files would be downloaded:~%~{ ~a~%~}~;~]"
(length download))
(null? download)
- (map substitutable-path download))))
+ (map substitutable-path download)))
+ (format (current-error-port)
+ (N_ "~:[The following graft would be made:~%~{ ~a~%~}~;~]"
+ "~:[The following grafts would be made:~%~{ ~a~%~}~;~]"
+ (length graft))
+ (null? graft) graft))
(begin
(format (current-error-port)
(N_ "~:[The following derivation will be built:~%~{ ~a~%~}~;~]"
@@ -918,7 +933,12 @@ report what is prerequisites are available for download."
"~:[The following files will be downloaded:~%~{ ~a~%~}~;~]"
(length download))
(null? download)
- (map substitutable-path download)))))
+ (map substitutable-path download)))
+ (format (current-error-port)
+ (N_ "~:[The following graft will be made:~%~{ ~a~%~}~;~]"
+ "~:[The following grafts will be made:~%~{ ~a~%~}~;~]"
+ (length graft))
+ (null? graft) graft)))
(check-available-space installed-size)
--
2.19.1
next prev parent reply other threads:[~2018-11-26 21:48 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-11-26 21:43 [bug#33519] [PATCH 0/4] Reporting grafts in the user interface Ludovic Courtès
2018-11-26 21:47 ` [bug#33519] [PATCH 1/4] derivations: Add properties Ludovic Courtès
2018-11-26 21:47 ` [bug#33519] [PATCH 2/4] grafts: Record metadata as derivation properties Ludovic Courtès
2018-11-26 21:47 ` [bug#33519] [PATCH 3/4] status: Report grafting derivations specially Ludovic Courtès
2018-11-26 21:47 ` Ludovic Courtès [this message]
2018-11-27 7:50 ` [bug#33519] [PATCH 0/4] Reporting grafts in the user interface Clément Lassieur
2018-11-27 8:05 ` Ricardo Wurmus
2018-11-28 9:41 ` Ludovic Courtès
2018-11-30 11:56 ` Clément Lassieur
2018-11-27 8:27 ` Ludovic Courtès
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20181126214709.27856-4-ludo@gnu.org \
--to=ludo@gnu.org \
--cc=33519@debbugs.gnu.org \
--cc=rekado@elephly.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).