nuget-to-nix: skip local sources

+15 -2
+15 -2
pkgs/build-support/dotnet/nuget-to-nix/nuget-to-nix.sh
··· 23 24 mapfile -t sources < <(dotnet nuget list source --format short | awk '/^E / { print $2 }') 25 26 declare -A base_addresses 27 28 for index in "${sources[@]}"; do 29 - base_addresses[$index]=$( 30 curl --compressed --netrc -fsL "$index" | \ 31 jq -r '.resources[] | select(."@type" == "PackageBaseAddress/3.0.0")."@id"') 32 done ··· 35 36 cd "$pkgs" 37 for package in *; do 38 cd "$package" 39 for version in *; do 40 id=$(xq -r .package.metadata.id "$version"/*.nuspec) ··· 44 fi 45 46 used_source="$(jq -r '.source' "$version"/.nupkg.metadata)" 47 - for source in "${sources[@]}"; do 48 url="${base_addresses[$source]}$package/$version/$package.$version.nupkg" 49 if [[ "$source" == "$used_source" ]]; then 50 sha256="$(nix-hash --type sha256 --flat --base32 "$version/$package.$version".nupkg)"
··· 23 24 mapfile -t sources < <(dotnet nuget list source --format short | awk '/^E / { print $2 }') 25 26 + declare -a remote_sources 27 declare -A base_addresses 28 29 for index in "${sources[@]}"; do 30 + if [[ -d "$index" ]]; then 31 + continue 32 + fi 33 + 34 + remote_sources+=($index) 35 + 36 + base_addresses[$index]=$( 37 curl --compressed --netrc -fsL "$index" | \ 38 jq -r '.resources[] | select(."@type" == "PackageBaseAddress/3.0.0")."@id"') 39 done ··· 42 43 cd "$pkgs" 44 for package in *; do 45 + [[ -d "$package" ]] || continue 46 cd "$package" 47 for version in *; do 48 id=$(xq -r .package.metadata.id "$version"/*.nuspec) ··· 52 fi 53 54 used_source="$(jq -r '.source' "$version"/.nupkg.metadata)" 55 + 56 + if [[ -d "$used_source" ]]; then 57 + continue 58 + fi 59 + 60 + for source in "${remote_sources[@]}"; do 61 url="${base_addresses[$source]}$package/$version/$package.$version.nupkg" 62 if [[ "$source" == "$used_source" ]]; then 63 sha256="$(nix-hash --type sha256 --flat --base32 "$version/$package.$version".nupkg)"