From cd13136f036deb139311bbbb1d18544af42eec24 Mon Sep 17 00:00:00 2001 From: Yueh-Shun Li Date: Mon, 24 Nov 2025 06:11:56 +0800 Subject: [PATCH] fetchurl: use __structuredAttrs = true and pass curlOptsList directly --- pkgs/build-support/fetchurl/builder.sh | 5 +++-- pkgs/build-support/fetchurl/default.nix | 6 ++++-- 2 files changed, 7 insertions(+), 4 deletions(-) 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