diff options
Diffstat (limited to 'pkgs/games/grapejuice')
-rw-r--r-- | pkgs/games/grapejuice/default.nix | 95 |
1 files changed, 95 insertions, 0 deletions
diff --git a/pkgs/games/grapejuice/default.nix b/pkgs/games/grapejuice/default.nix new file mode 100644 index 00000000000..586d93151e2 --- /dev/null +++ b/pkgs/games/grapejuice/default.nix @@ -0,0 +1,95 @@ +{ lib +, fetchFromGitLab +, gobject-introspection +, python3Packages +, gtk3 +, wrapGAppsHook +, glib +, cairo +, desktop-file-utils +, xdg-utils +, xdg-user-dirs +, wine +, winetricks +}: + +python3Packages.buildPythonApplication rec { + pname = "grapejuice"; + version = "3.40.14"; + + src = fetchFromGitLab { + owner = "BrinkerVII"; + repo = "grapejuice"; + rev = "v${version}"; + sha256 = "1bmkkmi1gx5kc39cjnz5bzwqaicxs0zb6bcv4iny9qccbqf3icrd"; + }; + + nativeBuildInputs = [ + gobject-introspection + desktop-file-utils + glib + gtk3 + wrapGAppsHook + ]; + + buildInputs = [ + cairo + ]; + + propagatedBuildInputs = with python3Packages; [ + requests + pygobject3 + dbus-python + packaging + psutil + setuptools + ]; + + dontWrapGApps = true; + + makeWrapperArgs = [ + "\${gappsWrapperArgs[@]}" + "--prefix PATH : ${lib.makeBinPath [ xdg-user-dirs xdg-utils wine (winetricks.override { wine = wine; }) ]}" + ]; + + postPatch = '' + substituteInPlace requirements.txt \ + --replace "PyGObject-stubs" "" + + substituteInPlace src/grapejuice_common/assets/desktop/grapejuice.desktop \ + --replace \$GRAPEJUICE_EXECUTABLE "$out/bin/grapejuice" \ + --replace \$GRAPEJUICE_ICON grapejuice + + substituteInPlace src/grapejuice_common/assets/desktop/roblox-player.desktop \ + --replace \$GRAPEJUICE_EXECUTABLE "$out/bin/grapejuice" \ + --replace \$PLAYER_ICON "grapejuice-roblox-player" + + substituteInPlace src/grapejuice_common/assets/desktop/roblox-app.desktop \ + --replace \$GRAPEJUICE_EXECUTABLE "$out/bin/grapejuice" \ + --replace \$PLAYER_ICON "grapejuice-roblox-player" + + substituteInPlace src/grapejuice_common/assets/desktop/roblox-studio.desktop \ + --replace \$GRAPEJUICE_EXECUTABLE "$out/bin/grapejuice" \ + --replace \$STUDIO_ICON "grapejuice-roblox-studio" + ''; + + postInstall = '' + mkdir -p "$out/share/icons" "$out/share/applications" "$out/share/mime/packages" + cp -r src/grapejuice_common/assets/desktop/* $out/share/applications/ + cp -r src/grapejuice_common/assets/icons $out/share/ + cp src/grapejuice_common/assets/mime_xml/*.xml $out/share/mime/packages/ + ''; + + # No tests + doCheck = false; + + pythonImportsCheck = [ "grapejuice" ]; + + meta = with lib; { + homepage = "https://gitlab.com/brinkervii/grapejuice"; + description = "Simple Wine+Roblox management tool"; + license = licenses.gpl3Plus; + platforms = platforms.linux; + maintainers = with maintainers; [ artturin ]; + }; +} |