mirror of
https://github.com/NixOS/nix.git
synced 2025-11-18 08:19:35 +01:00
Apply clang-format universally.
* It is tough to contribute to a project that doesn't use a formatter, * It is extra hard to contribute to a project which has configured the formatter, but ignores it for some files * Code formatting makes it harder to hide obscure / weird bugs by accident or on purpose, Let's rip the bandaid off? Note that PRs currently in flight should be able to be merged relatively easily by applying `clang-format` to their tip prior to merge.
This commit is contained in:
parent
41bf87ec70
commit
e4f62e4608
587 changed files with 23258 additions and 23135 deletions
|
|
@ -26,7 +26,8 @@ static std::filesystem::path channelsList;
|
|||
// Reads the list of channels.
|
||||
static void readChannels()
|
||||
{
|
||||
if (!pathExists(channelsList)) return;
|
||||
if (!pathExists(channelsList))
|
||||
return;
|
||||
auto channelsFile = readFile(channelsList);
|
||||
|
||||
for (const auto & line : tokenizeString<std::vector<std::string>>(channelsFile, "\n")) {
|
||||
|
|
@ -71,7 +72,7 @@ static void removeChannel(const std::string & name)
|
|||
channels.erase(name);
|
||||
writeChannels();
|
||||
|
||||
runProgram(getNixBin("nix-env").string(), true, { "--profile", profile, "--uninstall", name });
|
||||
runProgram(getNixBin("nix-env").string(), true, {"--profile", profile, "--uninstall", name});
|
||||
}
|
||||
|
||||
static Path nixDefExpr;
|
||||
|
|
@ -84,9 +85,10 @@ static void update(const StringSet & channelNames)
|
|||
auto store = openStore();
|
||||
|
||||
auto [fd, unpackChannelPath] = createTempFile();
|
||||
writeFull(fd.get(),
|
||||
#include "unpack-channel.nix.gen.hh"
|
||||
);
|
||||
writeFull(
|
||||
fd.get(),
|
||||
#include "unpack-channel.nix.gen.hh"
|
||||
);
|
||||
fd = -1;
|
||||
AutoDelete del(unpackChannelPath, false);
|
||||
|
||||
|
|
@ -111,7 +113,10 @@ static void update(const StringSet & channelNames)
|
|||
// no need to update this channel, reuse the existing store path
|
||||
Path symlink = profile + "/" + name;
|
||||
Path storepath = dirOf(readLink(symlink));
|
||||
exprs.push_back("f: rec { name = \"" + cname + "\"; type = \"derivation\"; outputs = [\"out\"]; system = \"builtin\"; outPath = builtins.storePath \"" + storepath + "\"; out = { inherit outPath; };}");
|
||||
exprs.push_back(
|
||||
"f: rec { name = \"" + cname
|
||||
+ "\"; type = \"derivation\"; outputs = [\"out\"]; system = \"builtin\"; outPath = builtins.storePath \""
|
||||
+ storepath + "\"; out = { inherit outPath; };}");
|
||||
} else {
|
||||
// We want to download the url to a file to see if it's a tarball while also checking if we
|
||||
// got redirected in the process, so that we can grab the various parts of a nix channel
|
||||
|
|
@ -122,28 +127,40 @@ static void update(const StringSet & channelNames)
|
|||
|
||||
bool unpacked = false;
|
||||
if (std::regex_search(filename, std::regex("\\.tar\\.(gz|bz2|xz)$"))) {
|
||||
runProgram(getNixBin("nix-build").string(), false, { "--no-out-link", "--expr", "import " + unpackChannelPath +
|
||||
"{ name = \"" + cname + "\"; channelName = \"" + name + "\"; src = builtins.storePath \"" + filename + "\"; }" });
|
||||
runProgram(
|
||||
getNixBin("nix-build").string(),
|
||||
false,
|
||||
{"--no-out-link",
|
||||
"--expr",
|
||||
"import " + unpackChannelPath + "{ name = \"" + cname + "\"; channelName = \"" + name
|
||||
+ "\"; src = builtins.storePath \"" + filename + "\"; }"});
|
||||
unpacked = true;
|
||||
}
|
||||
|
||||
if (!unpacked) {
|
||||
// Download the channel tarball.
|
||||
try {
|
||||
filename = store->toRealPath(fetchers::downloadFile(store, fetchSettings, url + "/nixexprs.tar.xz", "nixexprs.tar.xz").storePath);
|
||||
filename = store->toRealPath(
|
||||
fetchers::downloadFile(store, fetchSettings, url + "/nixexprs.tar.xz", "nixexprs.tar.xz")
|
||||
.storePath);
|
||||
} catch (FileTransferError & e) {
|
||||
filename = store->toRealPath(fetchers::downloadFile(store, fetchSettings, url + "/nixexprs.tar.bz2", "nixexprs.tar.bz2").storePath);
|
||||
filename = store->toRealPath(
|
||||
fetchers::downloadFile(store, fetchSettings, url + "/nixexprs.tar.bz2", "nixexprs.tar.bz2")
|
||||
.storePath);
|
||||
}
|
||||
}
|
||||
// Regardless of where it came from, add the expression representing this channel to accumulated expression
|
||||
exprs.push_back("f: f { name = \"" + cname + "\"; channelName = \"" + name + "\"; src = builtins.storePath \"" + filename + "\"; " + extraAttrs + " }");
|
||||
exprs.push_back(
|
||||
"f: f { name = \"" + cname + "\"; channelName = \"" + name + "\"; src = builtins.storePath \""
|
||||
+ filename + "\"; " + extraAttrs + " }");
|
||||
}
|
||||
}
|
||||
|
||||
// Unpack the channel tarballs into the Nix store and install them
|
||||
// into the channels profile.
|
||||
std::cerr << "unpacking " << exprs.size() << " channels...\n";
|
||||
Strings envArgs{ "--profile", profile, "--file", unpackChannelPath, "--install", "--remove-all", "--from-expression" };
|
||||
Strings envArgs{
|
||||
"--profile", profile, "--file", unpackChannelPath, "--install", "--remove-all", "--from-expression"};
|
||||
for (auto & expr : exprs)
|
||||
envArgs.push_back(std::move(expr));
|
||||
envArgs.push_back("--quiet");
|
||||
|
|
@ -173,18 +190,11 @@ static int main_nix_channel(int argc, char ** argv)
|
|||
nixDefExpr = getNixDefExpr();
|
||||
|
||||
// Figure out the name of the channels profile.
|
||||
profile = profilesDir() + "/channels";
|
||||
profile = profilesDir() + "/channels";
|
||||
createDirs(dirOf(profile));
|
||||
|
||||
enum {
|
||||
cNone,
|
||||
cAdd,
|
||||
cRemove,
|
||||
cList,
|
||||
cUpdate,
|
||||
cListGenerations,
|
||||
cRollback
|
||||
} cmd = cNone;
|
||||
enum { cNone, cAdd, cRemove, cList, cUpdate, cListGenerations, cRollback } cmd = cNone;
|
||||
|
||||
std::vector<std::string> args;
|
||||
parseCmdLine(argc, argv, [&](Strings::iterator & arg, const Strings::iterator & end) {
|
||||
if (*arg == "--help") {
|
||||
|
|
@ -212,12 +222,12 @@ static int main_nix_channel(int argc, char ** argv)
|
|||
});
|
||||
|
||||
switch (cmd) {
|
||||
case cNone:
|
||||
throw UsageError("no command specified");
|
||||
case cAdd:
|
||||
if (args.size() < 1 || args.size() > 2)
|
||||
throw UsageError("'--add' requires one or two arguments");
|
||||
{
|
||||
case cNone:
|
||||
throw UsageError("no command specified");
|
||||
case cAdd:
|
||||
if (args.size() < 1 || args.size() > 2)
|
||||
throw UsageError("'--add' requires one or two arguments");
|
||||
{
|
||||
auto url = args[0];
|
||||
std::string name;
|
||||
if (args.size() == 2) {
|
||||
|
|
@ -228,40 +238,41 @@ static int main_nix_channel(int argc, char ** argv)
|
|||
name = std::regex_replace(name, std::regex("-stable$"), "");
|
||||
}
|
||||
addChannel(url, name);
|
||||
}
|
||||
break;
|
||||
case cRemove:
|
||||
if (args.size() != 1)
|
||||
throw UsageError("'--remove' requires one argument");
|
||||
removeChannel(args[0]);
|
||||
break;
|
||||
case cList:
|
||||
if (!args.empty())
|
||||
throw UsageError("'--list' expects no arguments");
|
||||
readChannels();
|
||||
for (const auto & channel : channels)
|
||||
std::cout << channel.first << ' ' << channel.second << '\n';
|
||||
break;
|
||||
case cUpdate:
|
||||
update(StringSet(args.begin(), args.end()));
|
||||
break;
|
||||
case cListGenerations:
|
||||
if (!args.empty())
|
||||
throw UsageError("'--list-generations' expects no arguments");
|
||||
std::cout << runProgram(getNixBin("nix-env").string(), false, {"--profile", profile, "--list-generations"}) << std::flush;
|
||||
break;
|
||||
case cRollback:
|
||||
if (args.size() > 1)
|
||||
throw UsageError("'--rollback' has at most one argument");
|
||||
Strings envArgs{"--profile", profile};
|
||||
if (args.size() == 1) {
|
||||
envArgs.push_back("--switch-generation");
|
||||
envArgs.push_back(args[0]);
|
||||
} else {
|
||||
envArgs.push_back("--rollback");
|
||||
}
|
||||
runProgram(getNixBin("nix-env").string(), false, envArgs);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case cRemove:
|
||||
if (args.size() != 1)
|
||||
throw UsageError("'--remove' requires one argument");
|
||||
removeChannel(args[0]);
|
||||
break;
|
||||
case cList:
|
||||
if (!args.empty())
|
||||
throw UsageError("'--list' expects no arguments");
|
||||
readChannels();
|
||||
for (const auto & channel : channels)
|
||||
std::cout << channel.first << ' ' << channel.second << '\n';
|
||||
break;
|
||||
case cUpdate:
|
||||
update(StringSet(args.begin(), args.end()));
|
||||
break;
|
||||
case cListGenerations:
|
||||
if (!args.empty())
|
||||
throw UsageError("'--list-generations' expects no arguments");
|
||||
std::cout << runProgram(getNixBin("nix-env").string(), false, {"--profile", profile, "--list-generations"})
|
||||
<< std::flush;
|
||||
break;
|
||||
case cRollback:
|
||||
if (args.size() > 1)
|
||||
throw UsageError("'--rollback' has at most one argument");
|
||||
Strings envArgs{"--profile", profile};
|
||||
if (args.size() == 1) {
|
||||
envArgs.push_back("--switch-generation");
|
||||
envArgs.push_back(args[0]);
|
||||
} else {
|
||||
envArgs.push_back("--rollback");
|
||||
}
|
||||
runProgram(getNixBin("nix-env").string(), false, envArgs);
|
||||
break;
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue