about summary refs log tree commit diff
path: root/pkgs/tools/games/opentracker/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/tools/games/opentracker/default.nix')
-rw-r--r--pkgs/tools/games/opentracker/default.nix59
1 files changed, 59 insertions, 0 deletions
diff --git a/pkgs/tools/games/opentracker/default.nix b/pkgs/tools/games/opentracker/default.nix
new file mode 100644
index 0000000000000..a191a90b17ba6
--- /dev/null
+++ b/pkgs/tools/games/opentracker/default.nix
@@ -0,0 +1,59 @@
+{ lib
+, stdenv
+, buildDotnetModule
+, fetchFromGitHub
+, autoPatchelfHook
+, wrapGAppsHook
+, dotnetCorePackages
+, fontconfig
+, gtk3
+, openssl
+, libX11
+, libXi
+, xinput
+}:
+
+buildDotnetModule rec {
+  pname = "opentracker";
+  version = "1.8.2";
+
+  src = fetchFromGitHub {
+    owner = "trippsc2";
+    repo = pname;
+    rev = version;
+    sha256 = "0nsmyb1wd86465iri9jxl3jp74gxkscvnmr3687ddbia3dv4fz0z";
+  };
+
+  dotnet-runtime = dotnetCorePackages.runtime_3_1;
+  projectFile = "OpenTracker.sln";
+  nugetDeps = ./deps.nix;
+  executables = [ "OpenTracker" ];
+
+  nativeBuildInputs = [
+    autoPatchelfHook
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    stdenv.cc.cc.lib
+    fontconfig
+  ];
+
+  runtimeDeps = [
+    gtk3
+    openssl
+    libX11
+    libXi
+    xinput
+  ];
+
+  autoPatchelfIgnoreMissingDeps = true; # Attempts to patchelf unneeded SOs
+  dontWrapGApps = true; # gappsWrapperArgs gets included when wrapping the application for dotnet.
+
+  meta = with lib; {
+    description = "A tracking application for A Link to the Past Randomizer";
+    homepage = "https://github.com/trippsc2/OpenTracker";
+    license = licenses.mit;
+    maintainers = [ maintainers.ivar ];
+  };
+}