forked from mirrors/nixpkgs
35 lines
768 B
Bash
35 lines
768 B
Bash
|
# 1. create a log with `dotnet restore -v m MyPackage.sln > mypackage-restore.log
|
||
|
# 2. then call ./create-deps.sh mypackage-restore.log
|
||
|
|
||
|
urlbase="https://www.nuget.org/api/v2/package"
|
||
|
cat << EOL
|
||
|
{ fetchurl }: let
|
||
|
|
||
|
fetchNuGet = { name, version, sha256 }: fetchurl {
|
||
|
inherit sha256;
|
||
|
url = "$urlbase/\${name}/\${version}";
|
||
|
};
|
||
|
|
||
|
in [
|
||
|
EOL
|
||
|
IFS=''
|
||
|
while read line; do
|
||
|
if echo $line | grep -q "Installing "; then
|
||
|
name=$(echo $line | sed -r 's/ Installing ([^ ]+) (.+)./\1/')
|
||
|
version=$(echo $line | sed -r 's/ Installing ([^ ]+) (.+)./\2/')
|
||
|
sha256=$(nix-prefetch-url "$urlbase/$name/$version" 2>/dev/null)
|
||
|
cat << EOL
|
||
|
|
||
|
(fetchNuGet {
|
||
|
name = "$name";
|
||
|
version = "$version";
|
||
|
sha256 = "$sha256";
|
||
|
})
|
||
|
EOL
|
||
|
fi
|
||
|
done < $1
|
||
|
cat << EOL
|
||
|
|
||
|
]
|
||
|
EOL
|