diff options
Diffstat (limited to 'nixpkgs/pkgs/build-support/dotnet/fetchnuget/default.nix')
-rw-r--r-- | nixpkgs/pkgs/build-support/dotnet/fetchnuget/default.nix | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/build-support/dotnet/fetchnuget/default.nix b/nixpkgs/pkgs/build-support/dotnet/fetchnuget/default.nix new file mode 100644 index 000000000000..061da746cead --- /dev/null +++ b/nixpkgs/pkgs/build-support/dotnet/fetchnuget/default.nix @@ -0,0 +1,43 @@ +{ fetchurl, buildDotnetPackage, unzip }: + +attrs @ +{ pname +, version +, url ? "https://www.nuget.org/api/v2/package/${pname}/${version}" +, sha256 ? "" +, md5 ? "" +, ... +}: +if md5 != "" then + throw "fetchnuget does not support md5 anymore, please use sha256" +else + buildDotnetPackage ({ + src = fetchurl { + inherit url sha256; + name = "${pname}.${version}.zip"; + }; + + sourceRoot = "."; + + nativeBuildInputs = [ unzip ]; + + dontBuild = true; + + preInstall = '' + function traverseRename () { + for e in * + do + t="$(echo "$e" | sed -e "s/%20/\ /g" -e "s/%2B/+/g")" + [ "$t" != "$e" ] && mv -vn "$e" "$t" + if [ -d "$t" ] + then + cd "$t" + traverseRename + cd .. + fi + done + } + + traverseRename + ''; + } // attrs) |