From 425c7e46a00a9393ca3e63973dc08e655778da87 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Tue, 5 Aug 2025 09:21:41 +0100 Subject: [PATCH] fetchurl: fix `resolvedUrl` eval on URLs without mirror:// prefix Without the change `resolvedUrl` fails on non-mirror:// packages as: $ nix eval --impure --expr 'with import ./. {}; AMB-plugins.src.resolvedUrl' error: ... error: expected a list but found null: null After ther change the eval works as expected: $ nix eval --impure --expr 'with import ./. {}; AMB-plugins.src.resolvedUrl' "http://kokkinizita.linuxaudio.org/linuxaudio/downloads/AMB-plugins-0.8.1.tar.bz2" --- pkgs/build-support/fetchurl/default.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkgs/build-support/fetchurl/default.nix b/pkgs/build-support/fetchurl/default.nix index 6d86386e051a..049458a940c4 100644 --- a/pkgs/build-support/fetchurl/default.nix +++ b/pkgs/build-support/fetchurl/default.nix @@ -203,7 +203,10 @@ let else throw "unknown mirror:// site ${mirrorName}"; in - if mirrorName == null then url else "${lib.head mirrorList}${lib.elemAt mirrorSplit 1}"; + if mirrorSplit == null || mirrorName == null then + url + else + "${lib.head mirrorList}${lib.elemAt mirrorSplit 1}"; in assert