about summary refs log tree commit diff
path: root/pkgs/tools/misc
diff options
context:
space:
mode:
authorSandro <sandro.jaeckel@gmail.com>2021-06-06 03:37:23 +0200
committerGitHub <noreply@github.com>2021-06-06 03:37:23 +0200
commit2117659506d1eae93d0943e999871c1254374990 (patch)
tree232ee6a9bfec16adc9af84e875c8d8e4dde7c333 /pkgs/tools/misc
parentedf98fa73fbc219e32881b9ca409dad5b4204ebd (diff)
parentb03b73c879884781134c2a28e68dad0de008197f (diff)
downloadnixlib-2117659506d1eae93d0943e999871c1254374990.tar
nixlib-2117659506d1eae93d0943e999871c1254374990.tar.gz
nixlib-2117659506d1eae93d0943e999871c1254374990.tar.bz2
nixlib-2117659506d1eae93d0943e999871c1254374990.tar.lz
nixlib-2117659506d1eae93d0943e999871c1254374990.tar.xz
nixlib-2117659506d1eae93d0943e999871c1254374990.tar.zst
nixlib-2117659506d1eae93d0943e999871c1254374990.zip
Merge pull request #125833 from babbaj/master
depotdownloader: init at 2.4.1
Diffstat (limited to 'pkgs/tools/misc')
-rw-r--r--pkgs/tools/misc/depotdownloader/default.nix49
-rw-r--r--pkgs/tools/misc/depotdownloader/deps.nix88
2 files changed, 137 insertions, 0 deletions
diff --git a/pkgs/tools/misc/depotdownloader/default.nix b/pkgs/tools/misc/depotdownloader/default.nix
new file mode 100644
index 000000000000..384234f1f9c2
--- /dev/null
+++ b/pkgs/tools/misc/depotdownloader/default.nix
@@ -0,0 +1,49 @@
+{ stdenv, lib, fetchFromGitHub, fetchurl, linkFarmFromDrvs, makeWrapper
+,  dotnet-sdk_5, dotnetPackages
+}:
+
+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 {
+  pname = "depotdownloader";
+  version = "2.4.1";
+
+  src = fetchFromGitHub {
+    owner = "SteamRE";
+    repo = "DepotDownloader";
+    rev = "DepotDownloader_${version}";
+    sha256 = "1ldwda7wyvzqvqv1wshvqvqaimlm0rcdzhy9yn5hvxyswc0jxirr";
+  };
+
+  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
+  '';
+
+  meta = with lib; {
+    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
new file mode 100644
index 000000000000..6f061186f826
--- /dev/null
+++ b/pkgs/tools/misc/depotdownloader/deps.nix
@@ -0,0 +1,88 @@
+fetchNuGet:
+[
+  (fetchNuGet {
+    name = "protobuf-net";
+    version = "3.0.101";
+    sha256 = "0594qckbc0lh61sw74ihaq4qmvf1lf133vfa88n443mh7lxm2fwf";
+  })
+  (fetchNuGet {
+    name = "SteamKit2";
+    version = "2.4.0-Alpha.2";
+    sha256 = "1r6chqdp912pr8f8d7px2vp4y1ydx0kida7d5a1hbf6b7acnsg7d";
+  })
+  (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";
+  })
+]