diff options
author | IvarWithoutBones <ivar.scholten@protonmail.com> | 2021-10-26 01:36:45 +0200 |
---|---|---|
committer | IvarWithoutBones <ivar.scholten@protonmail.com> | 2021-10-26 01:38:15 +0200 |
commit | fe891f534f247971d2d8aafc54dc471ed345020f (patch) | |
tree | 7a63585b844930d17bb307eccb14ab9af4603d12 /pkgs/tools/misc/depotdownloader | |
parent | 360d65e180403b940afcc93d68d5329488af14eb (diff) |
depotdownloader: use buildDotnetModule
Diffstat (limited to 'pkgs/tools/misc/depotdownloader')
-rw-r--r-- | pkgs/tools/misc/depotdownloader/default.nix | 37 | ||||
-rw-r--r-- | pkgs/tools/misc/depotdownloader/deps.nix | 95 | ||||
-rwxr-xr-x | pkgs/tools/misc/depotdownloader/fetch-deps.sh | 22 |
3 files changed, 37 insertions, 117 deletions
diff --git a/pkgs/tools/misc/depotdownloader/default.nix b/pkgs/tools/misc/depotdownloader/default.nix index 4a3c623bff18a..a72d1ea305148 100644 --- a/pkgs/tools/misc/depotdownloader/default.nix +++ b/pkgs/tools/misc/depotdownloader/default.nix @@ -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" ]; diff --git a/pkgs/tools/misc/depotdownloader/deps.nix b/pkgs/tools/misc/depotdownloader/deps.nix index 307ad7fa3b1f0..a4e0f796dcb26 100644 --- a/pkgs/tools/misc/depotdownloader/deps.nix +++ b/pkgs/tools/misc/depotdownloader/deps.nix @@ -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"; }) ] diff --git a/pkgs/tools/misc/depotdownloader/fetch-deps.sh b/pkgs/tools/misc/depotdownloader/fetch-deps.sh new file mode 100755 index 0000000000000..a767f3fea9bf3 --- /dev/null +++ b/pkgs/tools/misc/depotdownloader/fetch-deps.sh @@ -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" |