[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
232/376: printMissing(): Print derivations in approximate build order
From: |
Ludovic Courtès |
Subject: |
232/376: printMissing(): Print derivations in approximate build order |
Date: |
Wed, 28 Jan 2015 22:05:16 +0000 |
civodul pushed a commit to tag 1.8
in repository guix.
commit f77be20c16621a8e6b91f95cad9711b87d113485
Author: Eelco Dolstra <address@hidden>
Date: Fri Sep 26 14:09:20 2014 +0200
printMissing(): Print derivations in approximate build order
---
src/libmain/shared.cc | 15 +++++++++------
1 files changed, 9 insertions(+), 6 deletions(-)
diff --git a/src/libmain/shared.cc b/src/libmain/shared.cc
index 6f2f8c5..8a6b7a9 100644
--- a/src/libmain/shared.cc
+++ b/src/libmain/shared.cc
@@ -9,6 +9,7 @@
#include <iostream>
#include <cctype>
#include <exception>
+#include <algorithm>
#include <sys/time.h>
#include <sys/stat.h>
@@ -58,23 +59,25 @@ void printMissing(const PathSet & willBuild,
{
if (!willBuild.empty()) {
printMsg(lvlInfo, format("these derivations will be built:"));
- foreach (PathSet::iterator, i, willBuild)
- printMsg(lvlInfo, format(" %1%") % *i);
+ Paths sorted = topoSortPaths(*store, willBuild);
+ reverse(sorted.begin(), sorted.end());
+ for (auto & i : sorted)
+ printMsg(lvlInfo, format(" %1%") % i);
}
if (!willSubstitute.empty()) {
printMsg(lvlInfo, format("these paths will be fetched (%.2f MiB
download, %.2f MiB unpacked):")
% (downloadSize / (1024.0 * 1024.0))
% (narSize / (1024.0 * 1024.0)));
- foreach (PathSet::iterator, i, willSubstitute)
- printMsg(lvlInfo, format(" %1%") % *i);
+ for (auto & i : willSubstitute)
+ printMsg(lvlInfo, format(" %1%") % i);
}
if (!unknown.empty()) {
printMsg(lvlInfo, format("don't know how to build these paths%1%:")
% (settings.readOnlyMode ? " (may be caused by read-only store
access)" : ""));
- foreach (PathSet::iterator, i, unknown)
- printMsg(lvlInfo, format(" %1%") % *i);
+ for (auto & i : unknown)
+ printMsg(lvlInfo, format(" %1%") % i);
}
}
- 217/376: Rename strictForceValue -> forceValueDeep, (continued)
- 217/376: Rename strictForceValue -> forceValueDeep, Ludovic Courtès, 2015/01/28
- 227/376: Updated documentation for nix-install-package to mention --set flag, Ludovic Courtès, 2015/01/28
- 228/376: Fix use of PAGER during tests, Ludovic Courtès, 2015/01/28
- 221/376: Remove release notes Hydra product, Ludovic Courtès, 2015/01/28
- 218/376: Make forceValueDeep work on values with cycles, Ludovic Courtès, 2015/01/28
- 229/376: Remove bash requirement, Ludovic Courtès, 2015/01/28
- 231/376: nix-daemon: Close unnecessary fd, Ludovic Courtès, 2015/01/28
- 230/376: Bindings: Remove copy constructor, Ludovic Courtès, 2015/01/28
- 222/376: Add missing static, Ludovic Courtès, 2015/01/28
- 223/376: manual: add a note that lists are strict in length, Ludovic Courtès, 2015/01/28
- 232/376: printMissing(): Print derivations in approximate build order,
Ludovic Courtès <=
- 234/376: printValue(): Don't print <CYCLE> for repeated values, Ludovic Courtès, 2015/01/28
- 233/376: Support control characters in JSON output, Ludovic Courtès, 2015/01/28
- 235/376: createDirs(): Handle ‘path’ being a symlink, Ludovic Courtès, 2015/01/28
- 238/376: Add test for readDir primop, Ludovic Courtès, 2015/01/28
- 240/376: Remove some duplicate code, Ludovic Courtès, 2015/01/28
- 239/376: Add readDir primop, Ludovic Courtès, 2015/01/28
- 224/376: add manpage for nix-generate-patches, Ludovic Courtès, 2015/01/28
- 246/376: Typo, Ludovic Courtès, 2015/01/28
- 245/376: Get rid of some unnecessary ExprConcatStrings nodes in dynamic attrs, Ludovic Courtès, 2015/01/28
- 243/376: Add primop ‘catAttrs’, Ludovic Courtès, 2015/01/28