diff --git a/pkgs/build-support/fetchurl/builder.sh b/pkgs/build-support/fetchurl/builder.sh index 560b912d414f..44ac80737bc0 100644 --- a/pkgs/build-support/fetchurl/builder.sh +++ b/pkgs/build-support/fetchurl/builder.sh @@ -1,3 +1,4 @@ +source "$NIX_ATTRS_SH_FILE" source $mirrorsFile curlVersion=$(curl -V | head -1 | cut -d' ' -f2) @@ -22,10 +23,10 @@ if ! [ -f "$SSL_CERT_FILE" ]; then curl+=(--insecure) fi -eval "curl+=($curlOptsList)" +curl+=("${curlOptsList[@]}") curl+=( - $curlOpts + ${curlOpts[*]} $NIX_CURL_FLAGS ) diff --git a/pkgs/build-support/fetchurl/default.nix b/pkgs/build-support/fetchurl/default.nix index fda7c95d3cf0..26aaa90e1bcc 100644 --- a/pkgs/build-support/fetchurl/default.nix +++ b/pkgs/build-support/fetchurl/default.nix @@ -136,6 +136,7 @@ lib.extendMkDerivation { # Passthru information, if any. passthru ? { }, + # Doing the download on a remote machine just duplicates network # traffic, so don't do that by default preferLocalBuild ? true, @@ -238,6 +239,8 @@ lib.extendMkDerivation { derivationArgs // { + __structuredAttrs = true; + name = if finalAttrs.pname or null != null && finalAttrs.version or null != null then "${finalAttrs.pname}-${finalAttrs.version}" @@ -297,9 +300,8 @@ lib.extendMkDerivation { '' ) curlOpts; - curlOptsList = lib.escapeShellArgs curlOptsList; - inherit + curlOptsList downloadToTemp executable mirrorsFile