diff --git a/pkgs/by-name/mi/minigalaxy/inject-launcher-steam-run.diff b/pkgs/by-name/mi/minigalaxy/inject-launcher-steam-run.diff deleted file mode 100644 index d619219f50fe..000000000000 --- a/pkgs/by-name/mi/minigalaxy/inject-launcher-steam-run.diff +++ /dev/null @@ -1,32 +0,0 @@ -diff --git a/minigalaxy/launcher.py b/minigalaxy/launcher.py -index aeca3e3..aeb6763 100644 ---- a/minigalaxy/launcher.py -+++ b/minigalaxy/launcher.py -@@ -84,6 +84,7 @@ def get_execute_command(game) -> list: - if game.get_info("use_mangohud") is True: - exe_cmd.insert(0, "mangohud") - exe_cmd.insert(1, "--dlsym") -+ exe_cmd.insert(0, "@steamrun@") - exe_cmd = get_exe_cmd_with_var_command(game, exe_cmd) - logger.info("Launch command for %s: %s", game.name, " ".join(exe_cmd)) - return exe_cmd -diff --git a/tests/test_installer.py b/tests/test_installer.py -index d459b62..dee93cb 100644 ---- a/tests/test_installer.py -+++ b/tests/test_installer.py -@@ -405,13 +405,13 @@ class Test(TestCase): - mock_list_dir.return_value = ["data", "docs", "scummvm", "support", "beneath.ini", "gameinfo", "start.sh"] - - result1 = installer.get_exec_line(game1) -- self.assertEqual("scummvm -c beneath.ini", result1) -+ self.assertEqual("@steamrun@ scummvm -c beneath.ini", result1) - - game2 = Game("Blocks That Matter", install_dir="/home/test/GOG Games/Blocks That Matter", platform="linux") - mock_list_dir.return_value = ["data", "docs", "support", "gameinfo", "start.sh"] - - result2 = installer.get_exec_line(game2) -- self.assertEqual('"/home/test/GOG Games/Blocks That Matter/start.sh"', result2) -+ self.assertEqual('@steamrun@ "/home/test/GOG Games/Blocks That Matter/start.sh"', result2) - - @mock.patch('os.path.getsize') - @mock.patch('os.listdir') diff --git a/pkgs/by-name/mi/minigalaxy/inject-launcher-umu-run.diff b/pkgs/by-name/mi/minigalaxy/inject-launcher-umu-run.diff new file mode 100644 index 000000000000..b965056ab086 --- /dev/null +++ b/pkgs/by-name/mi/minigalaxy/inject-launcher-umu-run.diff @@ -0,0 +1,47 @@ +diff --git a/minigalaxy/installer.py b/minigalaxy/installer.py +index a68c2c8..2a34680 100644 +--- a/minigalaxy/installer.py ++++ b/minigalaxy/installer.py +@@ -477,7 +477,7 @@ def postinstaller(game): + postinst_script = os.path.join(game.install_dir, "support", "postinst.sh") + if os.path.isfile(postinst_script): + os.chmod(postinst_script, 0o775) +- stdout, stderr, exitcode = _exe_cmd([postinst_script]) ++ stdout, stderr, exitcode = _exe_cmd(["env", "PROTONPATH=umu-sniper", "@umurun@", postinst_script]) + if exitcode not in [0]: + err_msg = "Postinstallation script failed: {}".format(postinst_script) + return err_msg +diff --git a/minigalaxy/launch_command.py b/minigalaxy/launch_command.py +index fc27c1a..cf9de5f 100644 +--- a/minigalaxy/launch_command.py ++++ b/minigalaxy/launch_command.py +@@ -11,11 +11,15 @@ class LaunchCommand: + command: list[str] + + def apply_game_launch_config(self, game: Game) -> None: ++ if self.name == "start.sh": ++ self.command.insert(0, "@umurun@") + if game.get_info(InfoKey.GAMEMODE) is True: + self.command.insert(0, "gamemoderun") + if game.get_info(InfoKey.MANGOHUD) is True: + self.command.insert(0, "mangohud") +- self.command.insert(1, "--dlsym") ++ if self.name == "start.sh": ++ self.command.insert(0, "PROTONPATH=umu-sniper") ++ self.command.insert(0, "env") + + var_list = shlex.split(game.get_info(InfoKey.VARIABLES)) + command_list = shlex.split(game.get_info(InfoKey.COMMAND)) +diff --git a/tests/test_installer.py b/tests/test_installer.py +index 4b2fe1e..fd4dfef 100644 +--- a/tests/test_installer.py ++++ b/tests/test_installer.py +@@ -440,7 +440,7 @@ class Test(TestCase): + mock_list_dir.return_value = ["data", "docs", "support", "gameinfo", "start.sh"] + + result2 = installer.get_exec_line(game2) +- self.assertEqual('"/home/test/GOG Games/Blocks That Matter/start.sh"', result2) ++ self.assertEqual('env PROTONPATH=umu-sniper @umurun@ "/home/test/GOG Games/Blocks That Matter/start.sh"', result2) + + @mock.patch('os.path.getsize') + @mock.patch('os.listdir') diff --git a/pkgs/by-name/mi/minigalaxy/package.nix b/pkgs/by-name/mi/minigalaxy/package.nix index 61a041684c5a..24d683eb8888 100644 --- a/pkgs/by-name/mi/minigalaxy/package.nix +++ b/pkgs/by-name/mi/minigalaxy/package.nix @@ -1,15 +1,16 @@ { - lib, fetchFromGitHub, - glibcLocales, glib-networking, + glibcLocales, gobject-introspection, gtk3, + innoextract, + lib, libnotify, nix-update-script, python3Packages, - steam-run, replaceVars, + umu-launcher, unzip, webkitgtk_4_1, wrapGAppsHook3, @@ -18,25 +19,25 @@ python3Packages.buildPythonApplication rec { pname = "minigalaxy"; - version = "1.4.1"; + version = "1.4.2"; pyproject = true; src = fetchFromGitHub { owner = "sharkwouter"; repo = "minigalaxy"; tag = version; - hash = "sha256-YZhgVeWdVaNiTj7hvYuHbaVtoKN6EFoOANWdkrlj4dU="; + hash = "sha256-qq5XLWmQ0x6/hK8beKxJDxHmbu//EuukuyOG+CpF9ug="; }; patches = [ - (replaceVars ./inject-launcher-steam-run.diff { - steamrun = lib.getExe steam-run; + (replaceVars ./inject-launcher-umu-run.diff { + umurun = lib.getExe umu-launcher; }) ]; nativeBuildInputs = [ - wrapGAppsHook3 gobject-introspection + wrapGAppsHook3 ]; buildInputs = [ @@ -72,6 +73,7 @@ python3Packages.buildPythonApplication rec { "''${gappsWrapperArgs[@]}" --suffix PATH : "${ lib.makeBinPath [ + innoextract unzip xdg-utils ]