diff options
Diffstat (limited to 'pkgs/applications/emulators/retroarch/default.nix')
-rw-r--r-- | pkgs/applications/emulators/retroarch/default.nix | 38 |
1 files changed, 32 insertions, 6 deletions
diff --git a/pkgs/applications/emulators/retroarch/default.nix b/pkgs/applications/emulators/retroarch/default.nix index 5512fa276e825..5c18d47daa8a5 100644 --- a/pkgs/applications/emulators/retroarch/default.nix +++ b/pkgs/applications/emulators/retroarch/default.nix @@ -2,12 +2,15 @@ , stdenv , nixosTests , enableNvidiaCgToolkit ? false +, withAssets ? false +, withCoreInfo ? false , withGamemode ? stdenv.isLinux , withVulkan ? stdenv.isLinux , withWayland ? stdenv.isLinux , alsa-lib , dbus , fetchFromGitHub +, fetchpatch , ffmpeg_4 , flac , freetype @@ -25,11 +28,12 @@ , libxml2 , libXxf86vm , makeWrapper -, mbedtls +, mbedtls_2 , mesa , nvidia_cg_toolkit , pkg-config , python3 +, retroarch-assets , SDL2 , substituteAll , udev @@ -55,9 +59,15 @@ stdenv.mkDerivation rec { }; patches = [ - (substituteAll { - src = ./use-fixed-path-for-libretro_core_info.patch; - libretro_info_path = libretro-core-info; + ./use-default-values-for-libretro_info_path-assets_directory.patch + # TODO: remove those two patches in the next RetroArch release + (fetchpatch { + url = "https://github.com/libretro/RetroArch/commit/894c44c5ea7f1eada9207be3c29e8d5c0a7a9e1f.patch"; + hash = "sha256-ThB6jd9pmsipT8zjehz7znK/s0ofHHCJeEYBKur6sO8="; + }) + (fetchpatch { + url = "https://github.com/libretro/RetroArch/commit/c5bfd52159cf97312bb28fc42203c39418d1bbbd.patch"; + hash = "sha256-rb1maAvCSUgq2VtJ67iqUY+Fz00Fchl8YGG0EPm0+F0="; }) ]; @@ -72,7 +82,7 @@ stdenv.mkDerivation rec { libGL libGLU libxml2 - mbedtls + mbedtls_2 python3 SDL2 zlib @@ -100,9 +110,18 @@ stdenv.mkDerivation rec { configureFlags = [ "--disable-update_cores" "--disable-builtinmbedtls" + "--enable-systemmbedtls" "--disable-builtinzlib" "--disable-builtinflac" ] ++ + lib.optionals withAssets [ + "--disable-update_assets" + "--with-assets_dir=${retroarch-assets}/share" + ] ++ + lib.optionals withCoreInfo [ + "--disable-update_core_info" + "--with-core_info_dir=${libretro-core-info}/share" + ] ++ lib.optionals stdenv.isLinux [ "--enable-dbus" "--enable-egl" @@ -112,9 +131,16 @@ stdenv.mkDerivation rec { postInstall = lib.optionalString (runtimeLibs != [ ]) '' wrapProgram $out/bin/retroarch \ --prefix LD_LIBRARY_PATH ':' ${lib.makeLibraryPath runtimeLibs} + '' + + lib.optionalString enableNvidiaCgToolkit '' + wrapProgram $out/bin/retroarch-cg2glsl \ + --prefix PATH ':' ${lib.makeBinPath [ nvidia_cg_toolkit ]} ''; - preFixup = "rm $out/bin/retroarch-cg2glsl"; + preFixup = lib.optionalString (!enableNvidiaCgToolkit) '' + rm $out/bin/retroarch-cg2glsl + rm $out/share/man/man6/retroarch-cg2glsl.6* + ''; passthru.tests = nixosTests.retroarch; |