From a0c5f2662d566b60539668f9d2c1934ce2c4b8dc Mon Sep 17 00:00:00 2001 From: David McFarland Date: Mon, 9 Sep 2024 01:26:17 -0300 Subject: [PATCH] nuget-package-hook: unpack nuspec as lower-case Some obscure build things, like in the msbuild package, assume that the nuspec files are lower-case. --- .../compilers/dotnet/nuget-package-hook.sh | 24 +++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/pkgs/development/compilers/dotnet/nuget-package-hook.sh b/pkgs/development/compilers/dotnet/nuget-package-hook.sh index 272481ba30a0..145080350b6c 100644 --- a/pkgs/development/compilers/dotnet/nuget-package-hook.sh +++ b/pkgs/development/compilers/dotnet/nuget-package-hook.sh @@ -1,14 +1,30 @@ # shellcheck shell=bash disable=SC2154 +unpackNupkg() { + local -r nupkg="$1" unpacked="$2" + local nuspec nuspec_l + + mkdir -p "$unpacked" + @unzip@/bin/unzip -nqd "$unpacked" "$nupkg" + cd "$unpacked" + chmod -R +rw . + nuspec=(*.nuspec) + nuspec_l="${nuspec,,}" + if [[ $nuspec != "$nuspec_l" ]]; then + mv "$nuspec" "$nuspec".tmp + mv "$nuspec".tmp "$nuspec_l" + fi + echo {} > .nupkg.metadata + cd - >/dev/null +} + _unpackNugetPackagesInOutput() { local -r unpacked="$prefix"/share/nuget/packages/.unpacked + local nuspec nuspec_l ( shopt -s nullglob globstar for nupkg in "$prefix"/share/nuget/source/**/*.nupkg; do - mkdir -p "$unpacked" - @unzip@/bin/unzip -qd "$unpacked" "$nupkg" - chmod -R +rw "$unpacked" - echo {} > "$unpacked"/.nupkg.metadata + unpackNupkg "$nupkg" "$unpacked" @xmlstarlet@/bin/xmlstarlet \ sel -t \ -m /_:package/_:metadata \