Remove corepkgs/unpack-channel.nix
This commit is contained in:
@@ -76,6 +76,13 @@ static void update(const StringSet & channelNames)
|
||||
|
||||
auto store = openStore();
|
||||
|
||||
auto [fd, unpackChannelPath] = createTempFile();
|
||||
writeFull(fd.get(),
|
||||
#include "unpack-channel.nix.gen.hh"
|
||||
);
|
||||
fd = -1;
|
||||
AutoDelete del(unpackChannelPath, false);
|
||||
|
||||
// Download each channel.
|
||||
Strings exprs;
|
||||
for (const auto & channel : channels) {
|
||||
@@ -104,7 +111,7 @@ static void update(const StringSet & channelNames)
|
||||
|
||||
bool unpacked = false;
|
||||
if (std::regex_search(filename, std::regex("\\.tar\\.(gz|bz2|xz)$"))) {
|
||||
runProgram(settings.nixBinDir + "/nix-build", false, { "--no-out-link", "--expr", "import <nix/unpack-channel.nix> "
|
||||
runProgram(settings.nixBinDir + "/nix-build", false, { "--no-out-link", "--expr", "import " + unpackChannelPath +
|
||||
"{ name = \"" + cname + "\"; channelName = \"" + name + "\"; src = builtins.storePath \"" + filename + "\"; }" });
|
||||
unpacked = true;
|
||||
}
|
||||
@@ -125,7 +132,7 @@ static void update(const StringSet & channelNames)
|
||||
// Unpack the channel tarballs into the Nix store and install them
|
||||
// into the channels profile.
|
||||
std::cerr << "unpacking channels...\n";
|
||||
Strings envArgs{ "--profile", profile, "--file", "<nix/unpack-channel.nix>", "--install", "--from-expression" };
|
||||
Strings envArgs{ "--profile", profile, "--file", unpackChannelPath, "--install", "--from-expression" };
|
||||
for (auto & expr : exprs)
|
||||
envArgs.push_back(std::move(expr));
|
||||
envArgs.push_back("--quiet");
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
{ name, channelName, src }:
|
||||
|
||||
derivation {
|
||||
builder = "builtin:unpack-channel";
|
||||
|
||||
system = "builtin";
|
||||
|
||||
inherit name channelName src;
|
||||
|
||||
# No point in doing this remotely.
|
||||
preferLocalBuild = true;
|
||||
}
|
||||
@@ -29,3 +29,5 @@ $(eval $(call install-symlink, $(bindir)/nix, $(libexecdir)/nix/build-remote))
|
||||
src/nix-env/user-env.cc: src/nix-env/buildenv.nix.gen.hh
|
||||
|
||||
src/nix/develop.cc: src/nix/get-env.sh.gen.hh
|
||||
|
||||
src/nix-channel/nix-channel.cc: src/nix-channel/unpack-channel.nix.gen.hh
|
||||
|
||||
Reference in New Issue
Block a user