[gnome-games/wip/exalm/dolphin-settings: 1/6] retro-runner: Use global system directory if exists
- From: Alexander Mikhaylenko <alexm src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-games/wip/exalm/dolphin-settings: 1/6] retro-runner: Use global system directory if exists
- Date: Sun, 11 Apr 2021 21:36:01 +0000 (UTC)
commit 093af2a3d7edc015257cc34764ccd4ca15ab9447
Author: Alexander Mikhaylenko <alexm gnome org>
Date: Mon Apr 12 02:28:24 2021 +0500
retro-runner: Use global system directory if exists
This will allow us to ship system directories for platforms that need them.
meson.build | 2 ++
src/config.vapi | 1 +
src/retro/retro-runner.vala | 11 ++++++++++-
3 files changed, 13 insertions(+), 1 deletion(-)
---
diff --git a/meson.build b/meson.build
index 2c705519..a52cad35 100644
--- a/meson.build
+++ b/meson.build
@@ -59,6 +59,7 @@ libexecdir = prefix / get_option ('libexecdir')
localedir = prefix / get_option ('localedir')
servicedir = datadir / 'dbus-1' / 'services'
options_dir = datadir / meson.project_name() / 'options'
+system_dir = datadir / meson.project_name() / 'system'
plugins_dir = libdir / meson.project_name() / 'plugins'
config_h = configuration_data ()
@@ -67,6 +68,7 @@ config_h.set_quoted ('GETTEXT_PACKAGE', meson.project_name ())
config_h.set_quoted ('GNOMELOCALEDIR', localedir)
config_h.set_quoted ('NAME_SUFFIX', name_suffix)
config_h.set_quoted ('OPTIONS_DIR', options_dir)
+config_h.set_quoted ('SYSTEM_DIR', system_dir)
config_h.set_quoted ('PLUGINS_DIR', plugins_dir)
config_h.set_quoted ('PROFILE', profile)
config_h.set_quoted ('VERSION', '@0@@1@'.format (meson.project_version (), version_suffix))
diff --git a/src/config.vapi b/src/config.vapi
index def6dca7..50aa7036 100644
--- a/src/config.vapi
+++ b/src/config.vapi
@@ -7,6 +7,7 @@ namespace Config {
public const string GNOMELOCALEDIR;
public const string NAME_SUFFIX;
public const string OPTIONS_DIR;
+ public const string SYSTEM_DIR;
public const string PLUGINS_DIR;
public const string PROFILE;
public const string VERSION;
diff --git a/src/retro/retro-runner.vala b/src/retro/retro-runner.vala
index c17722d9..656ad4f5 100644
--- a/src/retro/retro-runner.vala
+++ b/src/retro/retro-runner.vala
@@ -175,7 +175,16 @@ public class Games.RetroRunner : Object, Runner {
var platforms_dir = Application.get_platforms_dir ();
var platform_id = game.platform.get_id ();
- core.system_directory = @"$platforms_dir/$platform_id/system";
+
+ var user_system_dir = @"$platforms_dir/$platform_id/system";
+ var system_dir = @"$(Config.SYSTEM_DIR)/$platform_id";
+
+ /* Prefer the user system directory if both exist */
+ if (FileUtils.test (system_dir, FileTest.EXISTS) &&
+ !FileUtils.test (user_system_dir, FileTest.EXISTS))
+ core.system_directory = system_dir;
+ else
+ core.system_directory = user_system_dir;
core.save_directory = tmp_save_dir;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]