From 65a64522403f353880a501b02aca10fb96ea1c26 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Fri, 20 Dec 2013 13:10:14 +0100 Subject: [PATCH] nix-shell: Handle --option correctly Fixes #181. --- scripts/nix-build.in | 2 +- src/nix-store/nix-store.cc | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/scripts/nix-build.in b/scripts/nix-build.in index aaab0ce4d..b3f12b706 100755 --- a/scripts/nix-build.in +++ b/scripts/nix-build.in @@ -177,7 +177,7 @@ foreach my $expr (@exprs) { # Build or fetch all dependencies of the derivation. my @inputDrvs = grep { my $x = $_; (grep { $x =~ $_ } @envExclude) == 0 } @{$drv->{inputDrvs}}; - system("$Nix::Config::binDir/nix-store -r @buildArgs @inputDrvs @{$drv->{inputSrcs}} > /dev/null") == 0 + system("$Nix::Config::binDir/nix-store", "-r", "--no-output", @buildArgs, @inputDrvs, @{$drv->{inputSrcs}}) == 0 or die "$0: failed to build all dependencies\n"; # Set the environment. diff --git a/src/nix-store/nix-store.cc b/src/nix-store/nix-store.cc index 5bd855836..017c2c6df 100644 --- a/src/nix-store/nix-store.cc +++ b/src/nix-store/nix-store.cc @@ -35,6 +35,7 @@ void printHelp() static Path gcRoot; static int rootNr = 0; static bool indirectRoot = false; +static bool noOutput = true; LocalStore & ensureLocalStore() @@ -139,8 +140,9 @@ static void opRealise(Strings opFlags, Strings opArgs) if (!ignoreUnknown) foreach (Paths::iterator, i, paths) { PathSet paths = realisePath(*i, false); - foreach (PathSet::iterator, j, paths) - cout << format("%1%\n") % *j; + if (!noOutput) + foreach (PathSet::iterator, j, paths) + cout << format("%1%\n") % *j; } } @@ -900,6 +902,8 @@ void run(Strings args) } else if (arg == "--indirect") indirectRoot = true; + else if (arg == "--no-output") + noOutput = true; else if (arg[0] == '-') { opFlags.push_back(arg); if (arg == "--max-freed" || arg == "--max-links" || arg == "--max-atime") { /* !!! hack */