diff options
Diffstat (limited to 'third_party/nix/src/libstore/builtins/fetchurl.cc')
-rw-r--r-- | third_party/nix/src/libstore/builtins/fetchurl.cc | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/third_party/nix/src/libstore/builtins/fetchurl.cc b/third_party/nix/src/libstore/builtins/fetchurl.cc index 961d08142347..b9c6ffc3f59f 100644 --- a/third_party/nix/src/libstore/builtins/fetchurl.cc +++ b/third_party/nix/src/libstore/builtins/fetchurl.cc @@ -20,9 +20,8 @@ void builtinFetchurl(const BasicDerivation& drv, const std::string& netrcData) { auto getAttr = [&](const std::string& name) { auto i = drv.env.find(name); - if (i == drv.env.end()) { + if (i == drv.env.end()) throw Error(format("attribute '%s' missing") % name); - } return i->second; }; @@ -48,17 +47,15 @@ void builtinFetchurl(const BasicDerivation& drv, const std::string& netrcData) { decompressor->finish(); }); - if (unpack) { + if (unpack) restorePath(storePath, *source); - } else { + else writeFile(storePath, *source); - } auto executable = drv.env.find("executable"); if (executable != drv.env.end() && executable->second == "1") { - if (chmod(storePath.c_str(), 0755) == -1) { + if (chmod(storePath.c_str(), 0755) == -1) throw SysError(format("making '%1%' executable") % storePath); - } } }; |