From d6fd6d8aff06740f6c2595d13482d9183c11d243 Mon Sep 17 00:00:00 2001 From: Shea Levy Date: Fri, 18 Jan 2013 19:59:23 -0500 Subject: [PATCH] corepkgs/fetchurl: Enable making the downloaded file executable --- corepkgs/fetchurl.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/corepkgs/fetchurl.nix b/corepkgs/fetchurl.nix index 4a0ae827..39b9dd50 100644 --- a/corepkgs/fetchurl.nix +++ b/corepkgs/fetchurl.nix @@ -1,6 +1,6 @@ with import ; -{system ? builtins.currentSystem, url, outputHash ? "", outputHashAlgo ? "", md5 ? "", sha1 ? "", sha256 ? ""}: +{system ? builtins.currentSystem, url, outputHash ? "", outputHashAlgo ? "", md5 ? "", sha1 ? "", sha256 ? "", executable ? false}: assert (outputHash != "" && outputHashAlgo != "") || md5 != "" || sha1 != "" || sha256 != ""; @@ -8,10 +8,10 @@ assert (outputHash != "" && outputHashAlgo != "") let builder = builtins.toFile "fetchurl.sh" - '' + ('' echo "downloading $url into $out" ${curl} --fail --location --max-redirs 20 --insecure "$url" > "$out" - ''; + '' + (if executable then "${coreutils}/chmod +x $out" else "")); in @@ -25,6 +25,7 @@ derivation { if sha256 != "" then "sha256" else if sha1 != "" then "sha1" else "md5"; outputHash = if outputHash != "" then outputHash else if sha256 != "" then sha256 else if sha1 != "" then sha1 else md5; + outputHashMode = if executable then "recursive" else "flat"; inherit system url;