summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorDomen Kožar <domen@dev.si>2014-10-01 13:58:42 +0200
committerDomen Kožar <domen@dev.si>2014-10-01 13:58:42 +0200
commitfd48e801d29adc327fd943e849651b9c85cd7320 (patch)
tree5e579c76c48da95ef225974bac29ed8ca7ec452f /pkgs
parent21c12b40652d4aee0f3b58bcd8993c66733f9bbe (diff)
downloadnixpkgs-fd48e801d29adc327fd943e849651b9c85cd7320.tar
nixpkgs-fd48e801d29adc327fd943e849651b9c85cd7320.tar.gz
nixpkgs-fd48e801d29adc327fd943e849651b9c85cd7320.tar.bz2
nixpkgs-fd48e801d29adc327fd943e849651b9c85cd7320.tar.lz
nixpkgs-fd48e801d29adc327fd943e849651b9c85cd7320.tar.xz
nixpkgs-fd48e801d29adc327fd943e849651b9c85cd7320.tar.zst
nixpkgs-fd48e801d29adc327fd943e849651b9c85cd7320.zip
fetchurl: resume download of curl exits with status code 18
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/build-support/fetchurl/builder.sh10
1 files changed, 9 insertions, 1 deletions
diff --git a/pkgs/build-support/fetchurl/builder.sh b/pkgs/build-support/fetchurl/builder.sh
index 0c6e16551b4..48881bdb284 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