fix(3p/nix): revert "apply all clang-tidy fixes"
This reverts commit ef54f5da9f.
Resolved conflicts:
third_party/nix/src/libexpr/eval.cc
third_party/nix/src/libstore/builtins/fetchurl.cc
third_party/nix/src/libstore/references.cc
third_party/nix/src/libutil/hash.cc
third_party/nix/src/nix-daemon/nix-daemon.cc
Change-Id: Ib9cf6e96a79a23bde3983579ced3f92e530cb011
Reviewed-on: https://cl.tvl.fyi/c/depot/+/1547
Reviewed-by: glittershark <grfn@gws.fyi>
Tested-by: BuildkiteCI
This commit is contained in:
parent
cc3c45f739
commit
72fc2fd27e
64 changed files with 479 additions and 555 deletions
13
third_party/nix/src/libexpr/primops/context.cc
vendored
13
third_party/nix/src/libexpr/primops/context.cc
vendored
|
|
@ -97,13 +97,12 @@ static void prim_getContext(EvalState& state, const Pos& pos, Value** args,
|
|||
ContextInfo{isPath, isAllOutputs,
|
||||
output.empty() ? Strings{} : Strings{std::move(output)}});
|
||||
} else {
|
||||
if (isPath) {
|
||||
if (isPath)
|
||||
iter->second.path = true;
|
||||
} else if (isAllOutputs) {
|
||||
else if (isAllOutputs)
|
||||
iter->second.allOutputs = true;
|
||||
} else {
|
||||
else
|
||||
iter->second.outputs.emplace_back(std::move(output));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -117,9 +116,8 @@ static void prim_getContext(EvalState& state, const Pos& pos, Value** args,
|
|||
if (info.second.path) {
|
||||
mkBool(*state.allocAttr(infoVal, sPath), true);
|
||||
}
|
||||
if (info.second.allOutputs) {
|
||||
if (info.second.allOutputs)
|
||||
mkBool(*state.allocAttr(infoVal, sAllOutputs), true);
|
||||
}
|
||||
if (!info.second.outputs.empty()) {
|
||||
auto& outputsVal = *state.allocAttr(infoVal, state.sOutputs);
|
||||
state.mkList(outputsVal, info.second.outputs.size());
|
||||
|
|
@ -149,10 +147,9 @@ static void prim_appendContext(EvalState& state, const Pos& pos, Value** args,
|
|||
auto sAllOutputs = state.symbols.Create("allOutputs");
|
||||
for (const auto& attr_iter : *args[1]->attrs) {
|
||||
const Attr* i = &attr_iter.second; // TODO(tazjin): get rid of this
|
||||
if (!state.store->isStorePath(i->name)) {
|
||||
if (!state.store->isStorePath(i->name))
|
||||
throw EvalError("Context key '%s' is not a store path, at %s", i->name,
|
||||
i->pos);
|
||||
}
|
||||
if (!settings.readOnlyMode) {
|
||||
state.store->ensurePath(i->name);
|
||||
}
|
||||
|
|
|
|||
32
third_party/nix/src/libexpr/primops/fetchGit.cc
vendored
32
third_party/nix/src/libexpr/primops/fetchGit.cc
vendored
|
|
@ -30,9 +30,8 @@ std::regex revRegex("^[0-9a-fA-F]{40}$");
|
|||
GitInfo exportGit(ref<Store> store, const std::string& uri,
|
||||
std::optional<std::string> ref, std::string rev,
|
||||
const std::string& name) {
|
||||
if (evalSettings.pureEval && rev == "") {
|
||||
if (evalSettings.pureEval && rev == "")
|
||||
throw Error("in pure evaluation mode, 'fetchGit' requires a Git revision");
|
||||
}
|
||||
|
||||
if (!ref && rev == "" && absl::StartsWith(uri, "/") &&
|
||||
pathExists(uri + "/.git")) {
|
||||
|
|
@ -91,9 +90,8 @@ GitInfo exportGit(ref<Store> store, const std::string& uri,
|
|||
ref = "HEAD"s;
|
||||
}
|
||||
|
||||
if (rev != "" && !std::regex_match(rev, revRegex)) {
|
||||
if (rev != "" && !std::regex_match(rev, revRegex))
|
||||
throw Error("invalid Git revision '%s'", rev);
|
||||
}
|
||||
|
||||
deletePath(getCacheDir() + "/nix/git");
|
||||
|
||||
|
|
@ -106,13 +104,12 @@ GitInfo exportGit(ref<Store> store, const std::string& uri,
|
|||
}
|
||||
|
||||
Path localRefFile;
|
||||
if (ref->compare(0, 5, "refs/") == 0) {
|
||||
if (ref->compare(0, 5, "refs/") == 0)
|
||||
localRefFile = cacheDir + "/" + *ref;
|
||||
} else {
|
||||
else
|
||||
localRefFile = cacheDir + "/refs/heads/" + *ref;
|
||||
}
|
||||
|
||||
bool doFetch = 0;
|
||||
bool doFetch;
|
||||
time_t now = time(0);
|
||||
/* If a rev was specified, we need to fetch if it's not in the
|
||||
repo. */
|
||||
|
|
@ -130,10 +127,9 @@ GitInfo exportGit(ref<Store> store, const std::string& uri,
|
|||
} else {
|
||||
/* If the local ref is older than ‘tarball-ttl’ seconds, do a
|
||||
git fetch to update the local ref to the remote ref. */
|
||||
struct stat st {};
|
||||
struct stat st;
|
||||
doFetch = stat(localRefFile.c_str(), &st) != 0 ||
|
||||
static_cast<uint64_t>(st.st_mtime) + settings.tarballTtl <=
|
||||
static_cast<uint64_t>(now);
|
||||
(uint64_t)st.st_mtime + settings.tarballTtl <= (uint64_t)now;
|
||||
}
|
||||
if (doFetch) {
|
||||
DLOG(INFO) << "fetching Git repository '" << uri << "'";
|
||||
|
|
@ -229,24 +225,22 @@ static void prim_fetchGit(EvalState& state, const Pos& pos, Value** args,
|
|||
for (auto& attr_iter : *args[0]->attrs) {
|
||||
auto& attr = attr_iter.second;
|
||||
std::string n(attr.name);
|
||||
if (n == "url") {
|
||||
if (n == "url")
|
||||
url =
|
||||
state.coerceToString(*attr.pos, *attr.value, context, false, false);
|
||||
} else if (n == "ref") {
|
||||
else if (n == "ref")
|
||||
ref = state.forceStringNoCtx(*attr.value, *attr.pos);
|
||||
} else if (n == "rev") {
|
||||
else if (n == "rev")
|
||||
rev = state.forceStringNoCtx(*attr.value, *attr.pos);
|
||||
} else if (n == "name") {
|
||||
else if (n == "name")
|
||||
name = state.forceStringNoCtx(*attr.value, *attr.pos);
|
||||
} else {
|
||||
else
|
||||
throw EvalError("unsupported argument '%s' to 'fetchGit', at %s",
|
||||
attr.name, *attr.pos);
|
||||
}
|
||||
}
|
||||
|
||||
if (url.empty()) {
|
||||
if (url.empty())
|
||||
throw EvalError(format("'url' argument required, at %1%") % pos);
|
||||
}
|
||||
|
||||
} else {
|
||||
url = state.coerceToString(pos, *args[0], context, false, false);
|
||||
|
|
|
|||
|
|
@ -28,11 +28,10 @@ std::regex commitHashRegex("^[0-9a-fA-F]{40}$");
|
|||
|
||||
HgInfo exportMercurial(ref<Store> store, const std::string& uri,
|
||||
std::string rev, const std::string& name) {
|
||||
if (evalSettings.pureEval && rev == "") {
|
||||
if (evalSettings.pureEval && rev == "")
|
||||
throw Error(
|
||||
"in pure evaluation mode, 'fetchMercurial' requires a Mercurial "
|
||||
"revision");
|
||||
}
|
||||
|
||||
if (rev == "" && absl::StartsWith(uri, "/") && pathExists(uri + "/.hg")) {
|
||||
bool clean = runProgram("hg", true,
|
||||
|
|
@ -91,10 +90,9 @@ HgInfo exportMercurial(ref<Store> store, const std::string& uri,
|
|||
/* If we haven't pulled this repo less than ‘tarball-ttl’ seconds,
|
||||
do so now. */
|
||||
time_t now = time(0);
|
||||
struct stat st {};
|
||||
struct stat st;
|
||||
if (stat(stampFile.c_str(), &st) != 0 ||
|
||||
static_cast<uint64_t>(st.st_mtime) + settings.tarballTtl <=
|
||||
static_cast<uint64_t>(now)) {
|
||||
(uint64_t)st.st_mtime + settings.tarballTtl <= (uint64_t)now) {
|
||||
/* Except that if this is a commit hash that we already have,
|
||||
we don't have to pull again. */
|
||||
if (!(std::regex_match(rev, commitHashRegex) && pathExists(cacheDir) &&
|
||||
|
|
@ -200,22 +198,20 @@ static void prim_fetchMercurial(EvalState& state, const Pos& pos, Value** args,
|
|||
for (auto& attr_iter : *args[0]->attrs) {
|
||||
auto& attr = attr_iter.second;
|
||||
std::string n(attr.name);
|
||||
if (n == "url") {
|
||||
if (n == "url")
|
||||
url =
|
||||
state.coerceToString(*attr.pos, *attr.value, context, false, false);
|
||||
} else if (n == "rev") {
|
||||
else if (n == "rev")
|
||||
rev = state.forceStringNoCtx(*attr.value, *attr.pos);
|
||||
} else if (n == "name") {
|
||||
else if (n == "name")
|
||||
name = state.forceStringNoCtx(*attr.value, *attr.pos);
|
||||
} else {
|
||||
else
|
||||
throw EvalError("unsupported argument '%s' to 'fetchMercurial', at %s",
|
||||
attr.name, *attr.pos);
|
||||
}
|
||||
}
|
||||
|
||||
if (url.empty()) {
|
||||
if (url.empty())
|
||||
throw EvalError(format("'url' argument required, at %1%") % pos);
|
||||
}
|
||||
|
||||
} else {
|
||||
url = state.coerceToString(pos, *args[0], context, false, false);
|
||||
|
|
|
|||
26
third_party/nix/src/libexpr/primops/fromTOML.cc
vendored
26
third_party/nix/src/libexpr/primops/fromTOML.cc
vendored
|
|
@ -30,12 +30,10 @@ static void prim_fromTOML(EvalState& state, const Pos& pos, Value** args,
|
|||
if (auto i2 = i.second->as_table_array()) {
|
||||
size_t size2 = i2->get().size();
|
||||
state.mkList(v2, size2);
|
||||
for (size_t j = 0; j < size2; ++j) {
|
||||
for (size_t j = 0; j < size2; ++j)
|
||||
visit(*((*v2.list)[j] = state.allocValue()), i2->get()[j]);
|
||||
}
|
||||
} else {
|
||||
} else
|
||||
visit(v2, i.second);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -44,9 +42,8 @@ static void prim_fromTOML(EvalState& state, const Pos& pos, Value** args,
|
|||
|
||||
state.mkList(v, size);
|
||||
|
||||
for (size_t i = 0; i < size; ++i) {
|
||||
for (size_t i = 0; i < size; ++i)
|
||||
visit(*((*v.list)[i] = state.allocValue()), t2->get()[i]);
|
||||
}
|
||||
}
|
||||
|
||||
// Handle cases like 'a = [[{ a = true }]]', which IMHO should be
|
||||
|
|
@ -58,28 +55,25 @@ static void prim_fromTOML(EvalState& state, const Pos& pos, Value** args,
|
|||
|
||||
state.mkList(v, size);
|
||||
|
||||
for (size_t j = 0; j < size; ++j) {
|
||||
for (size_t j = 0; j < size; ++j)
|
||||
visit(*((*v.list)[j] = state.allocValue()), t2->get()[j]);
|
||||
}
|
||||
}
|
||||
|
||||
else if (t->is_value()) {
|
||||
if (auto val = t->as<int64_t>()) {
|
||||
if (auto val = t->as<int64_t>())
|
||||
mkInt(v, val->get());
|
||||
} else if (auto val = t->as<NixFloat>()) {
|
||||
else if (auto val = t->as<NixFloat>())
|
||||
mkFloat(v, val->get());
|
||||
} else if (auto val = t->as<bool>()) {
|
||||
else if (auto val = t->as<bool>())
|
||||
mkBool(v, val->get());
|
||||
} else if (auto val = t->as<std::string>()) {
|
||||
else if (auto val = t->as<std::string>())
|
||||
mkString(v, val->get());
|
||||
} else {
|
||||
else
|
||||
throw EvalError("unsupported value type in TOML");
|
||||
}
|
||||
}
|
||||
|
||||
else {
|
||||
else
|
||||
abort();
|
||||
}
|
||||
};
|
||||
|
||||
try {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue