depotdownloader: use buildDotnetModule
This commit is contained in:
parent
360d65e180
commit
fe891f534f
|
@ -1,16 +1,9 @@
|
|||
{ stdenv, lib, fetchFromGitHub, fetchurl, linkFarmFromDrvs, makeWrapper
|
||||
, dotnet-sdk_5, dotnetPackages
|
||||
{ lib
|
||||
, fetchFromGitHub
|
||||
, buildDotnetModule
|
||||
}:
|
||||
|
||||
let
|
||||
fetchNuGet = {name, version, sha256}: fetchurl {
|
||||
name = "nuget-${name}-${version}.nupkg";
|
||||
url = "https://www.nuget.org/api/v2/package/${name}/${version}";
|
||||
inherit sha256;
|
||||
};
|
||||
deps = import ./deps.nix fetchNuGet;
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
buildDotnetModule rec {
|
||||
pname = "depotdownloader";
|
||||
version = "2.4.5";
|
||||
|
||||
|
@ -21,27 +14,11 @@ stdenv.mkDerivation rec {
|
|||
sha256 = "0i5qgjnliji1g408ks1034r69vqdmfnzanb0qm7jmyzwww7vwpnh";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ dotnet-sdk_5 dotnetPackages.Nuget makeWrapper ];
|
||||
|
||||
buildPhase = ''
|
||||
export DOTNET_CLI_TELEMETRY_OPTOUT=1
|
||||
export DOTNET_NOLOGO=1
|
||||
export HOME=$TMP/home
|
||||
|
||||
nuget sources Add -Name tmpsrc -Source $TMP/nuget
|
||||
nuget init ${linkFarmFromDrvs "deps" deps} $TMP/nuget
|
||||
|
||||
dotnet restore --source $TMP/nuget DepotDownloader/DepotDownloader.csproj
|
||||
dotnet publish --no-restore -c Release --output $out
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
makeWrapper ${dotnet-sdk_5}/bin/dotnet $out/bin/$pname \
|
||||
--add-flags $out/DepotDownloader.dll
|
||||
'';
|
||||
projectFile = "DepotDownloader.sln";
|
||||
nugetDeps = ./deps.nix;
|
||||
|
||||
meta = with lib; {
|
||||
description = "Steam depot downloader utilizing the SteamKit2 library.";
|
||||
description = "Steam depot downloader utilizing the SteamKit2 library";
|
||||
license = licenses.gpl2Only;
|
||||
maintainers = [ maintainers.babbaj ];
|
||||
platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" ];
|
||||
|
|
95
pkgs/tools/misc/depotdownloader/deps.nix
generated
95
pkgs/tools/misc/depotdownloader/deps.nix
generated
|
@ -1,88 +1,9 @@
|
|||
fetchNuGet:
|
||||
[
|
||||
(fetchNuGet {
|
||||
name = "protobuf-net";
|
||||
version = "3.0.101";
|
||||
sha256 = "0594qckbc0lh61sw74ihaq4qmvf1lf133vfa88n443mh7lxm2fwf";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "SteamKit2";
|
||||
version = "2.4.0-Alpha.3";
|
||||
sha256 = "0n48yjkyzj49kv89jbkwdq6nm9w9ng6cjhvdv0chpryx9zgasgvv";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "protobuf-net.Core";
|
||||
version = "3.0.101";
|
||||
sha256 = "1kvn9rnm6f0jxs0s9scyyx2f2p8rk03qzc1f6ijv1g6xgkpxkq1m";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.NETCore.App";
|
||||
version = "2.0.0";
|
||||
sha256 = "0j8xkssrashyxrmdraci6kmj2gdrdxb0z61jwnzf1r9r2kqrd7d2";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.NETCore.DotNetAppHost";
|
||||
version = "2.0.0";
|
||||
sha256 = "0yixdk1rslbznrl50d6pyhg50xxr6jbfb1qpy2yd8xv44s4shgwd";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.NETCore.DotNetHostPolicy";
|
||||
version = "2.0.0";
|
||||
sha256 = "1zz9yfzcvcai4il78s3phjp1hryib2zk3w2r16v3fxm2yllssyaf";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.NETCore.DotNetHostResolver";
|
||||
version = "2.0.0";
|
||||
sha256 = "0xy45xqmdqz7r6v0g8m7c1rp761ghavjl8nzxiyrpbp0wccxl3xb";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.NETCore.Platforms";
|
||||
version = "5.0.0";
|
||||
sha256 = "0mwpwdflidzgzfx2dlpkvvnkgkr2ayaf0s80737h4wa35gaj11rc";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.Win32.Registry";
|
||||
version = "5.0.0";
|
||||
sha256 = "102hvhq2gmlcbq8y2cb7hdr2dnmjzfp2k3asr1ycwrfacwyaak7n";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "NETStandard.Library";
|
||||
version = "2.0.0";
|
||||
sha256 = "1bc4ba8ahgk15m8k4nd7x406nhi0kwqzbgjk2dmw52ss553xz7iy";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "System.Collections.Immutable";
|
||||
version = "1.7.1";
|
||||
sha256 = "1nh4nlxfc7lbnbl86wwk1a3jwl6myz5j6hvgh5sp4krim9901hsq";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "System.Memory";
|
||||
version = "4.5.4";
|
||||
sha256 = "14gbbs22mcxwggn0fcfs1b062521azb9fbb7c113x0mq6dzq9h6y";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "System.Reflection.Emit";
|
||||
version = "4.7.0";
|
||||
sha256 = "121l1z2ypwg02yz84dy6gr82phpys0njk7yask3sihgy214w43qp";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "System.Reflection.Emit.Lightweight";
|
||||
version = "4.7.0";
|
||||
sha256 = "0mbjfajmafkca47zr8v36brvknzks5a7pgb49kfq2d188pyv6iap";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "System.Runtime.CompilerServices.Unsafe";
|
||||
version = "4.5.3";
|
||||
sha256 = "1afi6s2r1mh1kygbjmfba6l4f87pi5sg13p4a48idqafli94qxln";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "System.Security.AccessControl";
|
||||
version = "5.0.0";
|
||||
sha256 = "17n3lrrl6vahkqmhlpn3w20afgz09n7i6rv0r3qypngwi7wqdr5r";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "System.Security.Principal.Windows";
|
||||
version = "5.0.0";
|
||||
sha256 = "1mpk7xj76lxgz97a5yg93wi8lj0l8p157a5d50mmjy3gbz1904q8";
|
||||
})
|
||||
{ fetchNuGet }: [
|
||||
(fetchNuGet { name = "Microsoft.NETCore.Platforms"; version = "5.0.0"; sha256 = "0mwpwdflidzgzfx2dlpkvvnkgkr2ayaf0s80737h4wa35gaj11rc"; })
|
||||
(fetchNuGet { name = "Microsoft.Win32.Registry"; version = "5.0.0"; sha256 = "102hvhq2gmlcbq8y2cb7hdr2dnmjzfp2k3asr1ycwrfacwyaak7n"; })
|
||||
(fetchNuGet { name = "protobuf-net"; version = "3.0.101"; sha256 = "0594qckbc0lh61sw74ihaq4qmvf1lf133vfa88n443mh7lxm2fwf"; })
|
||||
(fetchNuGet { name = "protobuf-net.Core"; version = "3.0.101"; sha256 = "1kvn9rnm6f0jxs0s9scyyx2f2p8rk03qzc1f6ijv1g6xgkpxkq1m"; })
|
||||
(fetchNuGet { name = "SteamKit2"; version = "2.4.0-Alpha.3"; sha256 = "0n48yjkyzj49kv89jbkwdq6nm9w9ng6cjhvdv0chpryx9zgasgvv"; })
|
||||
(fetchNuGet { name = "System.Security.AccessControl"; version = "5.0.0"; sha256 = "17n3lrrl6vahkqmhlpn3w20afgz09n7i6rv0r3qypngwi7wqdr5r"; })
|
||||
(fetchNuGet { name = "System.Security.Principal.Windows"; version = "5.0.0"; sha256 = "1mpk7xj76lxgz97a5yg93wi8lj0l8p157a5d50mmjy3gbz1904q8"; })
|
||||
]
|
||||
|
|
22
pkgs/tools/misc/depotdownloader/fetch-deps.sh
Executable file
22
pkgs/tools/misc/depotdownloader/fetch-deps.sh
Executable file
|
@ -0,0 +1,22 @@
|
|||
#!/usr/bin/env nix-shell
|
||||
#!nix-shell -i bash -p nuget-to-nix dotnet-sdk_5
|
||||
set -eo pipefail
|
||||
cd "$(dirname "${BASH_SOURCE[0]}")"
|
||||
|
||||
deps_file="$(realpath "./deps.nix")"
|
||||
|
||||
cd ../../../..
|
||||
store_src="$(nix-build . -A depotdownloader.src --no-out-link)"
|
||||
src="$(mktemp -d /tmp/depotdownloader-src.XXX)"
|
||||
cp -rT "$store_src" "$src"
|
||||
chmod -R +w "$src"
|
||||
|
||||
pushd "$src"
|
||||
|
||||
mkdir ./nuget_tmp.packages
|
||||
dotnet restore DepotDownloader.sln --packages ./nuget_tmp.packages
|
||||
|
||||
nuget-to-nix ./nuget_tmp.packages > "$deps_file"
|
||||
|
||||
popd
|
||||
rm -r "$src"
|
Loading…
Reference in a new issue