about summary refs log tree commit diff
path: root/pkgs/applications/emulators/retroarch/cores.nix
diff options
context:
space:
mode:
authorRuin0x11 <ipickering2@gmail.com>2024-02-19 15:59:05 +0000
committerRuin0x11 <ipickering2@gmail.com>2024-02-19 15:59:05 +0000
commitb8b32a6426fb60c711470b6a281b77f007305ea3 (patch)
tree7c992b6f9c29c8ff7c0636ed3d478c8af6c8754b /pkgs/applications/emulators/retroarch/cores.nix
parentf542eeb24345af7583843cda80c509454795f826 (diff)
libretro: add easyrpg core
Diffstat (limited to 'pkgs/applications/emulators/retroarch/cores.nix')
-rw-r--r--pkgs/applications/emulators/retroarch/cores.nix36
1 files changed, 36 insertions, 0 deletions
diff --git a/pkgs/applications/emulators/retroarch/cores.nix b/pkgs/applications/emulators/retroarch/cores.nix
index c981f07114ab3..72925c0acb792 100644
--- a/pkgs/applications/emulators/retroarch/cores.nix
+++ b/pkgs/applications/emulators/retroarch/cores.nix
@@ -7,10 +7,14 @@
 , cmake
 , curl
 , fetchFromGitHub
+, fetchpatch
 , ffmpeg
 , ffmpeg_4
 , fluidsynth
+, fmt
+, freetype
 , gettext
+, harfbuzz
 , hexdump
 , hidapi
 , icu
@@ -19,21 +23,28 @@
 , libGL
 , libGLU
 , libjpeg
+, liblcf
 , libpcap
 , libpng
+, libsndfile
 , libvorbis
 , libxml2
+, libxmp
 , libzip
 , makeWrapper
+, mpg123
 , nasm
 , openssl
+, opusfile
 , pcre
+, pixman
 , pkg-config
 , portaudio
 , python3
 , retroarch
 , sfml
 , snappy
+, speexdsp
 , udev
 , which
 , xorg
@@ -400,6 +411,31 @@ in
     };
   };
 
+  easyrpg = mkLibretroCore {
+    core = "easyrpg";
+    extraNativeBuildInputs = [ cmake pkg-config ];
+    extraBuildInputs = [ fmt freetype harfbuzz liblcf libpng libsndfile libvorbis libxmp mpg123 opusfile pcre pixman speexdsp ];
+    patches = [
+      # Fixed compatibility with fmt > 9
+      # Remove when version > 0.8
+      (fetchpatch {
+        name = "0001-Fix-building-with-fmtlib-10.patch";
+        url = "https://github.com/EasyRPG/Player/commit/ab6286f6d01bada649ea52d1f0881dde7db7e0cf.patch";
+        hash = "sha256-GdSdVFEG1OJCdf2ZIzTP+hSrz+ddhTMBvOPjvYQHy54=";
+      })
+    ];
+    cmakeFlags = [
+      "-DBUILD_SHARED_LIBS=ON"
+      "-DPLAYER_TARGET_PLATFORM=libretro"
+      "-DCMAKE_INSTALL_DATADIR=${placeholder "out"}/share"
+    ];
+    makefile = "Makefile";
+    meta = {
+      description = "EasyRPG Player libretro port";
+      license = lib.licenses.gpl3Only;
+    };
+  };
+
   eightyone = mkLibretroCore {
     core = "81";
     repo = "eightyone";