aboutsummaryrefslogtreecommitdiff
path: root/src/nix/show-derivation.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/nix/show-derivation.cc')
-rw-r--r--src/nix/show-derivation.cc19
1 files changed, 10 insertions, 9 deletions
diff --git a/src/nix/show-derivation.cc b/src/nix/show-derivation.cc
index 0ede7b468..2d31894c2 100644
--- a/src/nix/show-derivation.cc
+++ b/src/nix/show-derivation.cc
@@ -15,11 +15,12 @@ struct CmdShowDerivation : InstallablesCommand
CmdShowDerivation()
{
- mkFlag()
- .longName("recursive")
- .shortName('r')
- .description("include the dependencies of the specified derivations")
- .set(&recursive, true);
+ addFlag({
+ .longName = "recursive",
+ .shortName = 'r',
+ .description = "include the dependencies of the specified derivations",
+ .handler = {&recursive, true}
+ });
}
std::string description() override
@@ -41,6 +42,8 @@ struct CmdShowDerivation : InstallablesCommand
};
}
+ Category category() override { return catUtility; }
+
void run(ref<Store> store) override
{
auto drvPaths = toDerivations(store, installables, true);
@@ -58,11 +61,9 @@ struct CmdShowDerivation : InstallablesCommand
for (auto & drvPath : drvPaths) {
if (!drvPath.isDerivation()) continue;
- auto drvPathS = store->printStorePath(drvPath);
-
- auto drvObj(jsonRoot.object(drvPathS));
+ auto drvObj(jsonRoot.object(store->printStorePath(drvPath)));
- auto drv = readDerivation(*store, drvPathS);
+ auto drv = store->readDerivation(drvPath);
{
auto outputsObj(drvObj.object("outputs"));