diff --git a/pkgs/applications/emulators/libretro/cores/easyrpg.nix b/pkgs/applications/emulators/libretro/cores/easyrpg.nix index e95d443f06f4..288204631657 100644 --- a/pkgs/applications/emulators/libretro/cores/easyrpg.nix +++ b/pkgs/applications/emulators/libretro/cores/easyrpg.nix @@ -1,64 +1,73 @@ { lib, fetchFromGitHub, + mkLibretroCore, + nix-update-script, + asciidoctor, cmake, - fetchpatch, + doxygen, + pkg-config, + flac, + fluidsynth, fmt, freetype, + glib, harfbuzz, + lhasa, liblcf, libpng, libsndfile, + libsysprof-capture, libvorbis, libxmp, - mkLibretroCore, mpg123, + nlohmann_json, opusfile, - pcre, + pcre2, pixman, - pkg-config, speexdsp, + wildmidi, }: -mkLibretroCore { +mkLibretroCore rec { core = "easyrpg"; - version = "0.8-unstable-2023-04-29"; + # liblcf needs to be updated before this. + version = "0.8.1.1"; src = fetchFromGitHub { owner = "EasyRPG"; repo = "Player"; - rev = "f8e41f43b619413f95847536412b56f85307d378"; - hash = "sha256-nvWM4czTv/GxY9raomBEn7dmKBeLtSA9nvjMJxc3Q8s="; + rev = version; + hash = "sha256-2a8IdYP6Suc8a+Np5G+xoNzuPxkk9gAgR+sjdKUf89M="; fetchSubmodules = true; }; extraNativeBuildInputs = [ + asciidoctor cmake + doxygen pkg-config ]; extraBuildInputs = [ + flac # needed by libsndfile + fluidsynth fmt freetype + glib harfbuzz + lhasa liblcf libpng libsndfile + libsysprof-capture # needed by glib libvorbis libxmp mpg123 + nlohmann_json opusfile - pcre + pcre2 # needed by glib pixman speexdsp - ]; - patches = [ - # The following patch is shared with easyrpg-player. - # Update when new versions of liblcf and easyrpg-player are released. - # See easyrpg-player expression for details. - (fetchpatch { - name = "0001-Fix-building-with-fmtlib-10.patch"; - url = "https://github.com/EasyRPG/Player/commit/ab6286f6d01bada649ea52d1f0881dde7db7e0cf.patch"; - hash = "sha256-GdSdVFEG1OJCdf2ZIzTP+hSrz+ddhTMBvOPjvYQHy54="; - }) + wildmidi ]; cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" @@ -67,12 +76,13 @@ mkLibretroCore { ]; makefile = "Makefile"; - # Do not update automatically since we want to pin a specific version - passthru.updateScript = null; + # Since liblcf needs to be updated before this, we should not + # use the default unstableGitUpdater. + passthru.updateScript = nix-update-script { }; meta = { description = "EasyRPG Player libretro port"; homepage = "https://github.com/EasyRPG/Player"; - license = lib.licenses.gpl3Only; + license = lib.licenses.gpl3Plus; }; }