mirror of
https://github.com/lutris/lutris
synced 2024-09-20 16:21:48 +00:00
Further, add a method to fix up the runner configuration, which contains the version, on a runner specific basis.
Ugly, but since we're fixing up the versions for the installer, we should do so for the game as well. It's that or just insist that the game scripts all should be fixed to specify architecture for their wine versions.
This commit is contained in:
parent
eb96626451
commit
cda7ce8871
|
@ -247,7 +247,10 @@ class LutrisInstaller: # pylint: disable=too-many-instance-attributes
|
|||
if "system" in self.script:
|
||||
config["system"] = self._substitute_config(self.script["system"])
|
||||
if self.script.get(self.runner):
|
||||
config[self.runner] = self._substitute_config(self.script[self.runner])
|
||||
installer_runner_config = self._substitute_config(self.script[self.runner])
|
||||
import_runner(self.runner)().adjust_installer_runner_config(installer_runner_config)
|
||||
config[self.runner] = installer_runner_config
|
||||
|
||||
launcher, launcher_config = self.get_game_launcher_config(self.interpreter.game_files)
|
||||
if launcher:
|
||||
config["game"][launcher] = launcher_config
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
import os
|
||||
import signal
|
||||
from gettext import gettext as _
|
||||
from typing import Callable, Dict, Optional
|
||||
from typing import Any, Callable, Dict, Optional
|
||||
|
||||
from lutris import runtime, settings
|
||||
from lutris.api import format_runner_version, get_default_runner_version_info
|
||||
|
@ -453,6 +453,11 @@ class Runner: # pylint: disable=too-many-public-methods
|
|||
def get_installer_runner_version(self, installer, use_runner_config: bool = True) -> Optional[str]:
|
||||
return None
|
||||
|
||||
def adjust_installer_runner_config(self, installer_runner_config: Dict[str, Any]) -> None:
|
||||
"""This is called during installation to let to run fix up in the runner's section of
|
||||
the configuration before it is saved. This method should modify the dict given."""
|
||||
pass
|
||||
|
||||
def get_runner_version(self, version: str = None) -> Dict[str, str]:
|
||||
"""Get the appropriate version for a runner, as with get_default_runner_version(),
|
||||
but this method allows the runner to apply its configuration."""
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
import os
|
||||
import shlex
|
||||
from gettext import gettext as _
|
||||
from typing import Dict, Optional, Tuple
|
||||
from typing import Any, Dict, Optional, Tuple
|
||||
|
||||
from lutris import runtime, settings
|
||||
from lutris.api import format_runner_version, normalize_version_architecture
|
||||
|
@ -816,6 +816,11 @@ class wine(Runner):
|
|||
|
||||
return version
|
||||
|
||||
def adjust_installer_runner_config(self, installer_runner_config: Dict[str, Any]) -> None:
|
||||
version = installer_runner_config.get("version")
|
||||
if version:
|
||||
installer_runner_config["version"] = normalize_version_architecture(version)
|
||||
|
||||
@classmethod
|
||||
def get_runner_version_and_config(cls) -> Tuple[str, LutrisConfig]:
|
||||
runner_config = LutrisConfig(runner_slug="wine")
|
||||
|
|
Loading…
Reference in a new issue