mirror of
https://github.com/NixOS/nix.git
synced 2025-11-15 15:02:42 +01:00
fetchurl: Respect unpack
Fixes #2393.
(cherry picked from commit 2d91012754)
This commit is contained in:
parent
b4441c9690
commit
46c8fcca97
1 changed files with 3 additions and 2 deletions
|
|
@ -24,6 +24,7 @@ void builtinFetchurl(const BasicDerivation & drv, const std::string & netrcData)
|
|||
|
||||
Path storePath = getAttr("out");
|
||||
auto mainUrl = getAttr("url");
|
||||
bool unpack = get(drv.env, "unpack", "") == "1";
|
||||
|
||||
/* Note: have to use a fresh downloader here because we're in
|
||||
a forked process. */
|
||||
|
|
@ -40,12 +41,12 @@ void builtinFetchurl(const BasicDerivation & drv, const std::string & netrcData)
|
|||
request.decompress = false;
|
||||
|
||||
auto decompressor = makeDecompressionSink(
|
||||
hasSuffix(mainUrl, ".xz") ? "xz" : "none", sink);
|
||||
unpack && hasSuffix(mainUrl, ".xz") ? "xz" : "none", sink);
|
||||
downloader->download(std::move(request), *decompressor);
|
||||
decompressor->finish();
|
||||
});
|
||||
|
||||
if (get(drv.env, "unpack", "") == "1")
|
||||
if (unpack)
|
||||
restorePath(storePath, *source);
|
||||
else
|
||||
writeFile(storePath, *source);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue