about summary refs log tree commit diff
path: root/pkgs/games/build-support/monogame-patcher/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/games/build-support/monogame-patcher/default.nix')
-rw-r--r--pkgs/games/build-support/monogame-patcher/default.nix47
1 files changed, 20 insertions, 27 deletions
diff --git a/pkgs/games/build-support/monogame-patcher/default.nix b/pkgs/games/build-support/monogame-patcher/default.nix
index fffa6825..1a06425e 100644
--- a/pkgs/games/build-support/monogame-patcher/default.nix
+++ b/pkgs/games/build-support/monogame-patcher/default.nix
@@ -1,31 +1,24 @@
-{ lib, runCommand, makeWrapper, fetchNuGet, mono, dotnetPackages }:
+{ buildDotnetPackage, fetchNuGet }:
 
-runCommand "monogame-patcher" {
-  nativeBuildInputs = [ mono makeWrapper ];
+buildDotnetPackage {
+  baseName = "monogame-patcher";
+  version = "0.1.0";
 
-  src = ./patcher.cs;
+  src = ./src;
 
-  cecil = "${fetchNuGet {
-    baseName = "Mono.Cecil";
-    version = "0.10-beta7";
-    sha256 = "03bina3llcnylrfrvp5psnwrfn757j7zch5r360rpdn7gmcjjcpl";
-    outputFiles = [ "lib/net40/*" ];
-  }}/lib/dotnet/Mono.Cecil";
+  buildInputs = [
+    (fetchNuGet {
+      baseName = "Mono.Cecil";
+      version = "0.10-beta7";
+      sha256 = "03bina3llcnylrfrvp5psnwrfn757j7zch5r360rpdn7gmcjjcpl";
+      outputFiles = [ "lib/net40/*" ];
+    })
 
-  cliparser = "${fetchNuGet {
-    baseName = "CommandLineParser";
-    version = "2.2.1";
-    sha256 = "0wf8mzr16d2ni008m60rrk738v8ypk74llk6g8mlyx7rrlchnxaf";
-    outputFiles = [ "lib/net45/*" ];
-  }}/lib/dotnet/CommandLineParser";
-
-} ''
-  mkdir -p "$out/bin" "$out/libexec/monogame-patcher"
-  mcs "$src" -out:"$out/libexec/monogame-patcher/patcher.exe" \
-    -lib:"$cecil" -lib:"$cliparser" \
-    -r:Mono.Cecil -r:Mono.Cecil.Rocks -r:CommandLine
-
-  makeWrapper ${lib.escapeShellArg "${mono}/bin/mono"} "$out/bin/$name" \
-    --set MONO_PATH "$cecil:$cliparser" \
-    --add-flags "$out/libexec/monogame-patcher/patcher.exe"
-''
+    (fetchNuGet {
+      baseName = "CommandLineParser";
+      version = "2.2.1";
+      sha256 = "0wf8mzr16d2ni008m60rrk738v8ypk74llk6g8mlyx7rrlchnxaf";
+      outputFiles = [ "lib/net45/*" ];
+    })
+  ];
+}