about summary refs log tree commit diff
path: root/pkgs/applications/emulators/retroarch
diff options
context:
space:
mode:
authorThiago Kenji Okada <thiagokokada@gmail.com>2022-10-18 17:54:52 +0100
committerThiago Kenji Okada <thiagokokada@gmail.com>2022-10-18 22:51:07 +0100
commit8dc48de2752b6e19cc9ced838b084e3aea8a97f6 (patch)
treea73a6c42459a625d447825d9700869653863ce66 /pkgs/applications/emulators/retroarch
parent707c91588604197b10267b11ac7e5e6ff33c3e47 (diff)
retroarch: 1.11.0 -> 1.12.0
Diffstat (limited to 'pkgs/applications/emulators/retroarch')
-rw-r--r--pkgs/applications/emulators/retroarch/default.nix93
-rw-r--r--pkgs/applications/emulators/retroarch/disable-menu_show_core_updater.patch25
-rw-r--r--pkgs/applications/emulators/retroarch/fix-config.patch26
-rw-r--r--pkgs/applications/emulators/retroarch/fix-libretro-paths.patch28
-rw-r--r--pkgs/applications/emulators/retroarch/use-fixed-paths-on-libretro_info_path.patch84
-rw-r--r--pkgs/applications/emulators/retroarch/use-fixed-paths.patch154
6 files changed, 210 insertions, 200 deletions
diff --git a/pkgs/applications/emulators/retroarch/default.nix b/pkgs/applications/emulators/retroarch/default.nix
index 1754ad5eccb6b..a8a20682afd43 100644
--- a/pkgs/applications/emulators/retroarch/default.nix
+++ b/pkgs/applications/emulators/retroarch/default.nix
@@ -4,6 +4,7 @@
 , enableNvidiaCgToolkit ? false
 , withGamemode ? stdenv.isLinux
 , withVulkan ? stdenv.isLinux
+, withWayland ? stdenv.isLinux
 , alsa-lib
 , AppKit
 , dbus
@@ -33,19 +34,20 @@
 , udev
 , vulkan-loader
 , wayland
-, which
 }:
 
 let
-  version = "1.11.0";
+  version = "1.12.0";
   libretroCoreInfo = fetchFromGitHub {
     owner = "libretro";
     repo = "libretro-core-info";
-    sha256 = "sha256-46T87BpzWUQHD7CsCF2sZo065Sl8Y4Sj1zwzBWmCiiU=";
-    rev = "v${version}";
+    sha256 = "sha256-9Sfp/JkMJIe34YGNRxf93fONOBuQxR2pduoJU+xtuF0=";
+    # Upstream didn't tag a new libretro-core-info in 1.12.0 release
+    rev = "v1.11.1";
   };
-  runtimeLibs = lib.optional withVulkan vulkan-loader
-    ++ lib.optional withGamemode gamemode.lib;
+  runtimeLibs =
+    lib.optional withVulkan vulkan-loader ++
+    lib.optional withGamemode (lib.getLib gamemode);
 in
 stdenv.mkDerivation rec {
   pname = "retroarch-bare";
@@ -54,60 +56,77 @@ stdenv.mkDerivation rec {
   src = fetchFromGitHub {
     owner = "libretro";
     repo = "RetroArch";
-    sha256 = "sha256-/rOf85TQTXbY9kIETaO5E58f2ZvKPqEFLsbNne/+/lw=";
+    sha256 = "sha256-doLWNA8aTAllxx3zABtvZaegBQEPIi8276zbytPSdBU=";
     rev = "v${version}";
   };
 
   patches = [
-    ./disable-menu_show_core_updater.patch
-    ./use-fixed-paths-on-libretro_info_path.patch
+    ./use-fixed-paths.patch
   ];
 
   postPatch = ''
     substituteInPlace "frontend/drivers/platform_unix.c" \
-      --replace "@libretro_directory@" "$out/lib" \
-      --replace "@libretro_info_path@" "$out/share/libretro/info"
+      --subst-var-by libretro_directory "$out/lib" \
+      --subst-var-by libretro_info_path "$out/share/libretro/info" \
+      --subst-var-by out "$out"
     substituteInPlace "frontend/drivers/platform_darwin.m" \
-      --replace "@libretro_directory@" "$out/lib" \
-      --replace "@libretro_info_path@" "$out/share/libretro/info"
+      --subst-var-by libretro_directory "$out/lib" \
+      --subst-var-by libretro_info_path "$out/share/libretro/info"
   '';
 
   nativeBuildInputs = [ pkg-config ] ++
-    lib.optional stdenv.isLinux wayland ++
+    lib.optional withWayland wayland ++
     lib.optional (runtimeLibs != [ ]) makeWrapper;
 
-  buildInputs = [ ffmpeg_4 freetype libxml2 libGLU libGL python3 SDL2 which ] ++
-    lib.optional enableNvidiaCgToolkit nvidia_cg_toolkit ++
-    lib.optional withVulkan vulkan-loader ++
-    lib.optionals stdenv.isDarwin [ libobjc AppKit Foundation ] ++
-    lib.optionals stdenv.isLinux [
-      alsa-lib
-      dbus
-      libX11
-      libXdmcp
-      libXext
-      libXxf86vm
-      libdrm
-      libpulseaudio
-      libv4l
-      libxkbcommon
-      mesa
-      udev
-      wayland
-    ];
+  buildInputs = [
+    ffmpeg_4
+    freetype
+    libGL
+    libGLU
+    libxml2
+    python3
+    SDL2
+  ] ++
+  lib.optional enableNvidiaCgToolkit nvidia_cg_toolkit ++
+  lib.optional withVulkan vulkan-loader ++
+  lib.optional withWayland wayland ++
+  lib.optionals stdenv.isDarwin [ libobjc AppKit Foundation ] ++
+  lib.optionals stdenv.isLinux [
+    alsa-lib
+    dbus
+    libX11
+    libXdmcp
+    libXext
+    libXxf86vm
+    libdrm
+    libpulseaudio
+    libv4l
+    libxkbcommon
+    mesa
+    udev
+  ];
 
   enableParallelBuilding = true;
 
-  configureFlags = lib.optionals stdenv.isLinux [ "--enable-kms" "--enable-egl" "--enable-dbus" ];
+  configureFlags = [
+    "--disable-update_cores"
+  ] ++
+  lib.optionals stdenv.isLinux [
+    "--enable-dbus"
+    "--enable-egl"
+    "--enable-kms"
+  ];
 
   postInstall = ''
-    mkdir -p $out/share/libretro/info
     # TODO: ideally each core should have its own core information
+    mkdir -p $out/share/libretro/info
     cp -r ${libretroCoreInfo}/* $out/share/libretro/info
-  '' + lib.optionalString (runtimeLibs != [ ]) ''
+  '' +
+  lib.optionalString (runtimeLibs != [ ]) ''
     wrapProgram $out/bin/retroarch \
       --prefix LD_LIBRARY_PATH ':' ${lib.makeLibraryPath runtimeLibs}
-  '' + lib.optionalString stdenv.isDarwin ''
+  '' +
+  lib.optionalString stdenv.isDarwin ''
     # https://github.com/libretro/RetroArch/blob/master/retroarch-apple-packaging.sh
     app=$out/Applications/RetroArch.app
     mkdir -p $app/Contents/MacOS
diff --git a/pkgs/applications/emulators/retroarch/disable-menu_show_core_updater.patch b/pkgs/applications/emulators/retroarch/disable-menu_show_core_updater.patch
deleted file mode 100644
index 427cb4871dc96..0000000000000
--- a/pkgs/applications/emulators/retroarch/disable-menu_show_core_updater.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 546b343294209abbb193883ab76b679b7f99c6d3 Mon Sep 17 00:00:00 2001
-From: Thiago Kenji Okada <thiagokokada@gmail.com>
-Date: Sat, 20 Nov 2021 16:03:50 -0300
-Subject: [PATCH] Disable "menu_show_core_updater"
-
----
- retroarch.cfg | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/retroarch.cfg b/retroarch.cfg
-index cdcb199c9f..ab72f3920f 100644
---- a/retroarch.cfg
-+++ b/retroarch.cfg
-@@ -681,7 +681,7 @@
- # menu_show_online_updater = true
- 
- # If disabled, will hide the ability to update cores (and core info files) inside the menu.
--# menu_show_core_updater = true
-+menu_show_core_updater = false
- 
- # If disabled, the libretro core will keep running in the background when we
- # are in the menu.
--- 
-2.31.1
-
diff --git a/pkgs/applications/emulators/retroarch/fix-config.patch b/pkgs/applications/emulators/retroarch/fix-config.patch
deleted file mode 100644
index 1a71bf43cb11f..0000000000000
--- a/pkgs/applications/emulators/retroarch/fix-config.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff --git a/retroarch.cfg b/retroarch.cfg
-index cdcb199c9f..08b9b1cf10 100644
---- a/retroarch.cfg
-+++ b/retroarch.cfg
-@@ -681,7 +681,7 @@
- # menu_show_online_updater = true
- 
- # If disabled, will hide the ability to update cores (and core info files) inside the menu.
--# menu_show_core_updater = true
-+menu_show_core_updater = false
- 
- # If disabled, the libretro core will keep running in the background when we
- # are in the menu.
-@@ -823,10 +823,10 @@
- # rgui_browser_directory =
- 
- # Core directory for libretro core implementations.
--# libretro_directory =
-+libretro_directory = @libretro_directory@
- 
- # Core info directory for libretro core information.
--# libretro_info_path =
-+libretro_info_path = @libretro_info_path@
- 
- # Path to content database directory.
- # content_database_path =
diff --git a/pkgs/applications/emulators/retroarch/fix-libretro-paths.patch b/pkgs/applications/emulators/retroarch/fix-libretro-paths.patch
deleted file mode 100644
index 203ce836533d5..0000000000000
--- a/pkgs/applications/emulators/retroarch/fix-libretro-paths.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-diff --git a/configuration.c b/configuration.c
-index e6a3841324..afb1d6e2ce 100644
---- a/configuration.c
-+++ b/configuration.c
-@@ -1456,7 +1456,7 @@ static struct config_path_setting *populate_settings_path(
-    SETTING_PATH("core_options_path",
-          settings->paths.path_core_options, false, NULL, true);
-    SETTING_PATH("libretro_info_path",
--         settings->paths.path_libretro_info, false, NULL, true);
-+         settings->paths.path_libretro_info, false, NULL, false);
-    SETTING_PATH("content_database_path",
-          settings->paths.path_content_database, false, NULL, true);
-    SETTING_PATH("cheat_database_path",
-diff --git a/frontend/drivers/platform_unix.c b/frontend/drivers/platform_unix.c
-index 722e1c595c..e7313ee038 100644
---- a/frontend/drivers/platform_unix.c
-+++ b/frontend/drivers/platform_unix.c
-@@ -1825,8 +1825,8 @@ static void frontend_unix_get_env(int *argc,
-    fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE_INFO], base_path,
-          "core_info", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE_INFO]));
- #else
--   fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE_INFO], base_path,
--         "cores", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE_INFO]));
-+   fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE_INFO], "@libretro_info_path@",
-+         "", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE_INFO]));
- #endif
-    fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_AUTOCONFIG], base_path,
-          "autoconfig", sizeof(g_defaults.dirs[DEFAULT_DIR_AUTOCONFIG]));
diff --git a/pkgs/applications/emulators/retroarch/use-fixed-paths-on-libretro_info_path.patch b/pkgs/applications/emulators/retroarch/use-fixed-paths-on-libretro_info_path.patch
deleted file mode 100644
index fd3913ea157ea..0000000000000
--- a/pkgs/applications/emulators/retroarch/use-fixed-paths-on-libretro_info_path.patch
+++ /dev/null
@@ -1,84 +0,0 @@
-From 7bf021529ff15ca2580b15b3c0bfdc137d5beffe Mon Sep 17 00:00:00 2001
-From: Thiago Kenji Okada <thiagokokada@gmail.com>
-Date: Wed, 9 Mar 2022 18:24:15 +0000
-Subject: [PATCH] Use fixed paths on "libretro_info_path"
-
-This patch sets "libretro_info_path" to `handle = false`, so instead of
-using the values from `retroarch.cfg`, it will always use the default.
-
-Also, it patches the default "libretro_info_path" to the
-`@libretro_info_path` string, so we can substitute it with the full path
-to it during build.
----
- configuration.c                    |  2 +-
- frontend/drivers/platform_darwin.m |  9 ++-------
- frontend/drivers/platform_unix.c   | 12 ++++--------
- 3 files changed, 7 insertions(+), 16 deletions(-)
-
-diff --git a/configuration.c b/configuration.c
-index 7e346ff6e9..c4b2100203 100644
---- a/configuration.c
-+++ b/configuration.c
-@@ -1466,7 +1466,7 @@ static struct config_path_setting *populate_settings_path(
-    SETTING_PATH("core_options_path",
-          settings->paths.path_core_options, false, NULL, true);
-    SETTING_PATH("libretro_info_path",
--         settings->paths.path_libretro_info, false, NULL, true);
-+         settings->paths.path_libretro_info, false, NULL, false);
-    SETTING_PATH("content_database_path",
-          settings->paths.path_content_database, false, NULL, true);
-    SETTING_PATH("cheat_database_path",
-diff --git a/frontend/drivers/platform_darwin.m b/frontend/drivers/platform_darwin.m
-index 6c5fdca400..552dcb7e2b 100644
---- a/frontend/drivers/platform_darwin.m
-+++ b/frontend/drivers/platform_darwin.m
-@@ -388,14 +388,9 @@ static void frontend_darwin_get_env(int *argc, char *argv[],
-          home_dir_buf, "shaders_glsl",
-          sizeof(g_defaults.dirs[DEFAULT_DIR_SHADER]));
- #endif
--#ifdef HAVE_UPDATE_CORES
-     fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE],
--		    home_dir_buf, "cores", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE]));
--#else
--    fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE],
--		    bundle_path_buf, "modules", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE]));
--#endif
--   fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE_INFO], home_dir_buf, "info", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE_INFO]));
-+		    "@libretro_directory@", "", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE]));
-+   fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE_INFO], "@libretro_info_path@", "", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE_INFO]));
-    fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_OVERLAY], home_dir_buf, "overlays", sizeof(g_defaults.dirs[DEFAULT_DIR_OVERLAY]));
- #ifdef HAVE_VIDEO_LAYOUT
-    fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_VIDEO_LAYOUT], home_dir_buf, "layouts", sizeof(g_defaults.dirs[DEFAULT_DIR_VIDEO_LAYOUT]));
-diff --git a/frontend/drivers/platform_unix.c b/frontend/drivers/platform_unix.c
-index b3b5dad173..7f1561e523 100644
---- a/frontend/drivers/platform_unix.c
-+++ b/frontend/drivers/platform_unix.c
-@@ -1820,12 +1820,8 @@ static void frontend_unix_get_env(int *argc,
-       strcpy_literal(base_path, "retroarch");
- #endif
- 
--   if (!string_is_empty(libretro_directory))
--      strlcpy(g_defaults.dirs[DEFAULT_DIR_CORE], libretro_directory,
--            sizeof(g_defaults.dirs[DEFAULT_DIR_CORE]));
--   else
--      fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE], base_path,
--            "cores", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE]));
-+   fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE], "@libretro_directory@",
-+         "", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE]));
- #if defined(DINGUX)
-    /* On platforms that require manual core installation/
-     * removal, placing core info files in the same directory
-@@ -1834,8 +1830,8 @@ static void frontend_unix_get_env(int *argc,
-    fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE_INFO], base_path,
-          "core_info", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE_INFO]));
- #else
--   fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE_INFO], base_path,
--         "cores", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE_INFO]));
-+   fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE_INFO], "@libretro_info_path@",
-+         "", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE_INFO]));
- #endif
-    fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_AUTOCONFIG], base_path,
-          "autoconfig", sizeof(g_defaults.dirs[DEFAULT_DIR_AUTOCONFIG]));
--- 
-2.32.0
-
diff --git a/pkgs/applications/emulators/retroarch/use-fixed-paths.patch b/pkgs/applications/emulators/retroarch/use-fixed-paths.patch
new file mode 100644
index 0000000000000..a4837e63af7f7
--- /dev/null
+++ b/pkgs/applications/emulators/retroarch/use-fixed-paths.patch
@@ -0,0 +1,154 @@
+From 8a1cffebb23f9d2a28228cd8cbf4fd80836157e8 Mon Sep 17 00:00:00 2001
+From: Thiago Kenji Okada <thiagokokada@gmail.com>
+Date: Tue, 18 Oct 2022 17:41:33 +0100
+Subject: [PATCH] Use fixed paths
+
+---
+ configuration.c                    |  2 +-
+ frontend/drivers/platform_darwin.m |  4 +--
+ frontend/drivers/platform_unix.c   | 56 +++++++++++++++---------------
+ 3 files changed, 31 insertions(+), 31 deletions(-)
+
+diff --git a/configuration.c b/configuration.c
+index ac4779b2d7..d980892dda 100644
+--- a/configuration.c
++++ b/configuration.c
+@@ -1468,7 +1468,7 @@ static struct config_path_setting *populate_settings_path(
+    SETTING_PATH("core_options_path",
+          settings->paths.path_core_options, false, NULL, true);
+    SETTING_PATH("libretro_info_path",
+-         settings->paths.path_libretro_info, false, NULL, true);
++         settings->paths.path_libretro_info, false, NULL, false);
+    SETTING_PATH("content_database_path",
+          settings->paths.path_content_database, false, NULL, true);
+    SETTING_PATH("cheat_database_path",
+diff --git a/frontend/drivers/platform_darwin.m b/frontend/drivers/platform_darwin.m
+index c771ec0f55..d5e21a1f4d 100644
+--- a/frontend/drivers/platform_darwin.m
++++ b/frontend/drivers/platform_darwin.m
+@@ -400,9 +400,9 @@ static void frontend_darwin_get_env(int *argc, char *argv[],
+ 		    home_dir_buf, "cores", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE]));
+ #else
+     fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE],
+-		    bundle_path_buf, "modules", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE]));
++		    "@libretro_directory@", "", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE]));
+ #endif
+-   fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE_INFO], home_dir_buf, "info", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE_INFO]));
++   fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE_INFO], "@libretro_info_path@", "", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE_INFO]));
+    fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_OVERLAY], home_dir_buf, "overlays", sizeof(g_defaults.dirs[DEFAULT_DIR_OVERLAY]));
+ #ifdef HAVE_VIDEO_LAYOUT
+    fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_VIDEO_LAYOUT], home_dir_buf, "layouts", sizeof(g_defaults.dirs[DEFAULT_DIR_VIDEO_LAYOUT]));
+diff --git a/frontend/drivers/platform_unix.c b/frontend/drivers/platform_unix.c
+index 29e9a0d633..dba8abe941 100644
+--- a/frontend/drivers/platform_unix.c
++++ b/frontend/drivers/platform_unix.c
+@@ -1792,8 +1792,8 @@ static void frontend_unix_get_env(int *argc,
+       strlcpy(g_defaults.dirs[DEFAULT_DIR_CORE], libretro_directory,
+             sizeof(g_defaults.dirs[DEFAULT_DIR_CORE]));
+    else
+-      fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE], base_path,
+-            "cores", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE]));
++      fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE], "@libretro_directory@",
++            "", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE]));
+ #if defined(DINGUX)
+    /* On platforms that require manual core installation/
+     * removal, placing core info files in the same directory
+@@ -1802,27 +1802,27 @@ static void frontend_unix_get_env(int *argc,
+    fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE_INFO], base_path,
+          "core_info", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE_INFO]));
+ #else
+-   fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE_INFO], base_path,
+-         "cores", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE_INFO]));
++   fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE_INFO], "@libretro_info_path@",
++         "", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE_INFO]));
+ #endif
+    fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_AUTOCONFIG], base_path,
+          "autoconfig", sizeof(g_defaults.dirs[DEFAULT_DIR_AUTOCONFIG]));
+ 
+-   if (path_is_directory("/usr/local/share/retroarch/assets"))
++   if (path_is_directory("@out@/local/share/retroarch/assets"))
+       fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_ASSETS],
+-            "/usr/local/share/retroarch",
++            "@out@/local/share/retroarch",
+             "assets", sizeof(g_defaults.dirs[DEFAULT_DIR_ASSETS]));
+-   else if (path_is_directory("/usr/share/retroarch/assets"))
++   else if (path_is_directory("@out@/share/retroarch/assets"))
+       fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_ASSETS],
+-            "/usr/share/retroarch",
++            "@out@/share/retroarch",
+             "assets", sizeof(g_defaults.dirs[DEFAULT_DIR_ASSETS]));
+-   else if (path_is_directory("/usr/local/share/games/retroarch/assets"))
++   else if (path_is_directory("@out@/local/share/games/retroarch/assets"))
+       fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_ASSETS],
+-            "/usr/local/share/games/retroarch",
++            "@out@/local/share/games/retroarch",
+             "assets", sizeof(g_defaults.dirs[DEFAULT_DIR_ASSETS]));
+-   else if (path_is_directory("/usr/share/games/retroarch/assets"))
++   else if (path_is_directory("@out@/share/games/retroarch/assets"))
+       fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_ASSETS],
+-            "/usr/share/games/retroarch",
++            "@out@/share/games/retroarch",
+             "assets", sizeof(g_defaults.dirs[DEFAULT_DIR_ASSETS]));
+    else
+       fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_ASSETS], base_path,
+@@ -1834,41 +1834,41 @@ static void frontend_unix_get_env(int *argc,
+    fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER], base_path,
+          "filters/video", sizeof(g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER]));
+ #else
+-   if (path_is_directory("/usr/local/share/retroarch/filters/audio"))
++   if (path_is_directory("@out@/local/share/retroarch/filters/audio"))
+       fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_AUDIO_FILTER],
+-            "/usr/local/share/retroarch",
++            "@out@/local/share/retroarch",
+             "filters/audio", sizeof(g_defaults.dirs[DEFAULT_DIR_AUDIO_FILTER]));
+-   else if (path_is_directory("/usr/share/retroarch/filters/audio"))
++   else if (path_is_directory("@out@/share/retroarch/filters/audio"))
+       fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_AUDIO_FILTER],
+-            "/usr/share/retroarch",
++            "@out@/share/retroarch",
+             "filters/audio", sizeof(g_defaults.dirs[DEFAULT_DIR_AUDIO_FILTER]));
+-   else if (path_is_directory("/usr/local/share/games/retroarch/filters/audio"))
++   else if (path_is_directory("@out@/local/share/games/retroarch/filters/audio"))
+       fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_AUDIO_FILTER],
+-            "/usr/local/share/games/retroarch",
++            "@out@/local/share/games/retroarch",
+             "filters/audio", sizeof(g_defaults.dirs[DEFAULT_DIR_AUDIO_FILTER]));
+-   else if (path_is_directory("/usr/share/games/retroarch/filters/audio"))
++   else if (path_is_directory("@out@/share/games/retroarch/filters/audio"))
+       fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_AUDIO_FILTER],
+-            "/usr/share/games/retroarch",
++            "@out@/share/games/retroarch",
+             "filters/audio", sizeof(g_defaults.dirs[DEFAULT_DIR_AUDIO_FILTER]));
+    else
+       fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_AUDIO_FILTER], base_path,
+             "filters/audio", sizeof(g_defaults.dirs[DEFAULT_DIR_AUDIO_FILTER]));
+ 
+-   if (path_is_directory("/usr/local/share/retroarch/filters/video"))
++   if (path_is_directory("@out@/local/share/retroarch/filters/video"))
+       fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER],
+-            "/usr/local/share/retroarch",
++            "@out@/local/share/retroarch",
+             "filters/video", sizeof(g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER]));
+-   else if (path_is_directory("/usr/share/retroarch/filters/video"))
++   else if (path_is_directory("@out@/share/retroarch/filters/video"))
+       fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER],
+-            "/usr/share/retroarch",
++            "@out@/share/retroarch",
+             "filters/video", sizeof(g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER]));
+-   else if (path_is_directory("/usr/local/share/games/retroarch/filters/video"))
++   else if (path_is_directory("@out@/local/share/games/retroarch/filters/video"))
+       fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER],
+-            "/usr/local/share/games/retroarch",
++            "@out@/local/share/games/retroarch",
+             "filters/video", sizeof(g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER]));
+-   else if (path_is_directory("/usr/share/games/retroarch/filters/video"))
++   else if (path_is_directory("@out@/share/games/retroarch/filters/video"))
+       fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER],
+-            "/usr/share/games/retroarch",
++            "@out@/share/games/retroarch",
+             "filters/video", sizeof(g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER]));
+    else
+       fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER], base_path,
+-- 
+2.37.3
+