fetchurl: support executables

This commit is contained in:
Domen Kožar 2016-01-19 11:17:49 +01:00
parent 75284b09e1
commit c7383cb34b
2 changed files with 10 additions and 2 deletions

View file

@ -45,6 +45,11 @@ tryDownload() {
finish() {
set +o noglob
if [[ $executable == "1" ]]; then
chmod +x $downloadedFile
fi
runHook postFetch
stopNest
exit 0

View file

@ -73,6 +73,9 @@ in
# is communicated to postFetch via $downloadedFile.
downloadToTemp ? false
, # If true, set executable bit on downloaded file
executable ? false
, # If set, don't download the file, but write a list of all possible
# URLs (resulting from resolving mirror:// URLs) to $out.
showURLs ? false
@ -116,9 +119,9 @@ if (!hasHash) then throw "Specify hash for fetchurl fixed-output derivation: ${s
outputHash = if outputHash != "" then outputHash else
if sha256 != "" then sha256 else if sha1 != "" then sha1 else md5;
outputHashMode = if recursiveHash then "recursive" else "flat";
outputHashMode = if (recursiveHash || executable) then "recursive" else "flat";
inherit curlOpts showURLs mirrorsFile impureEnvVars postFetch downloadToTemp;
inherit curlOpts showURLs mirrorsFile impureEnvVars postFetch downloadToTemp executable;
# Doing the download on a remote machine just duplicates network
# traffic, so don't do that.