From 7ab35bdaa6c97c2ef95401841bb241a64d421ca2 Mon Sep 17 00:00:00 2001 From: Evgeny Zemtsov Date: Tue, 19 Jul 2022 17:11:27 +0200 Subject: [PATCH] nuget-to-nix: fallback to default URL for directories In some cases `$pkgs_src` can be a path. For example with `FSharp.Core` when it comes with dotnet SDK. In these cases we need to fallback on default URL otherwise curl fails. --- pkgs/build-support/dotnet/nuget-to-nix/nuget-to-nix.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/build-support/dotnet/nuget-to-nix/nuget-to-nix.sh b/pkgs/build-support/dotnet/nuget-to-nix/nuget-to-nix.sh index d3796f88e44..c8db14a4d91 100755 --- a/pkgs/build-support/dotnet/nuget-to-nix/nuget-to-nix.sh +++ b/pkgs/build-support/dotnet/nuget-to-nix/nuget-to-nix.sh @@ -24,7 +24,7 @@ while read pkg_spec; do pkg_sha256="$(nix-hash --type sha256 --flat --base32 "$(dirname "$pkg_spec")"/*.nupkg)" pkg_src="$(jq --raw-output '.source' "$(dirname "$pkg_spec")/.nupkg.metadata")" - if [[ $pkg_src != https://api.nuget.org/* ]]; then + if [[ $pkg_src != https://api.nuget.org/* ]] && [[ ! -d $pkg_src ]]; then pkg_source_url="${nuget_sources_cache[$pkg_src]:=$(curl -n --fail "$pkg_src" | jq --raw-output '.resources[] | select(."@type" == "PackageBaseAddress/3.0.0")."@id"')}" pkg_url="$pkg_source_url${pkg_name,,}/${pkg_version,,}/${pkg_name,,}.${pkg_version,,}.nupkg" echo " (fetchNuGet { pname = \"$pkg_name\"; version = \"$pkg_version\"; sha256 = \"$pkg_sha256\"; url = \"$pkg_url\"; })" >> ${tmpfile}