cli: remove ca support from commands

this mostly takes the form of removes feature checks and the associated
"ca derivations enabled" branches, but for the realisation info command
turns into a stub. we keep it around for compatibility, but from now on
it will always throws "ca derivations not implemented" errors when run.

Change-Id: I0abea5f76262013415330adcca2b498c6dca555b
This commit is contained in:
eldritch horrors
2025-05-20 17:43:46 +00:00
parent 6567707dc1
commit a7866d56b8
5 changed files with 17 additions and 110 deletions
+3 -12
View File
@@ -50,19 +50,10 @@ Drv::Drv(std::string &attrPath, nix::EvalState &state, nix::DrvInfo &drvInfo,
auto localStore = state.ctx.store.try_cast_shared<nix::LocalFSStore>();
try {
// CA derivations do not have static output paths, so we have to
// defensively not query output paths in case we encounter one.
for (auto &[outputName, optOutputPath] :
drvInfo.queryOutputs(state, !nix::experimentalFeatureSettings.isEnabled(
nix::Xp::CaDerivations))) {
if (optOutputPath) {
outputs[outputName] =
localStore->printStorePath(*optOutputPath);
} else {
assert(nix::experimentalFeatureSettings.isEnabled(
nix::Xp::CaDerivations));
outputs[outputName] = std::nullopt;
}
drvInfo.queryOutputs(state, true)) {
assert(optOutputPath);
outputs[outputName] = localStore->printStorePath(*optOutputPath);
}
} catch (const std::exception &e) { // NOLINT(lix-foreign-exceptions)
state.ctx.errors.make<nix::EvalError>(