diff --git a/pkgs/build-support/fetchurl/builder.sh b/pkgs/build-support/fetchurl/builder.sh index 0c6e16551b4a..48881bdb2844 100644 --- a/pkgs/build-support/fetchurl/builder.sh +++ b/pkgs/build-support/fetchurl/builder.sh @@ -25,8 +25,16 @@ tryDownload() { local url="$1" echo header "trying $url" + local curlexit=18; + + # if we get error code 18, resume partial download + while [ $curlexit -eq 18 ]; do + $curl -C - --fail "$url" --output "$downloadedFile" + local curlexit=$?; + done + success= - if $curl --fail "$url" --output "$downloadedFile"; then + if [ $curlexit -eq 0 ]; then success=1 fi stopNest