diff --git a/pkgs/misc/emulators/retroarch/cores.nix b/pkgs/misc/emulators/retroarch/cores.nix index 3c987b67971..e0045a3827d 100644 --- a/pkgs/misc/emulators/retroarch/cores.nix +++ b/pkgs/misc/emulators/retroarch/cores.nix @@ -313,6 +313,24 @@ in postBuild = "cd src/citra_libretro"; }; + citra-canary = mkLibRetroCore { + core = "citra-canary"; + description = "Port of Citra Canary/Experimental to libretro"; + license = lib.licenses.gpl2Plus; + extraNativeBuildInputs = [ cmake pkg-config ]; + extraBuildInputs = [ libGLU libGL boost ]; + makefile = "Makefile"; + cmakeFlags = [ + "-DENABLE_LIBRETRO=ON" + "-DENABLE_QT=OFF" + "-DENABLE_SDL2=OFF" + "-DENABLE_WEB_SERVICE=OFF" + "-DENABLE_DISCORD_PRESENCE=OFF" + ]; + preConfigure = "sed -e '77d' -i externals/cmake-modules/GetGitRevisionDescription.cmake"; + postBuild = "cd src/citra_libretro"; + }; + desmume = mkLibRetroCore { core = "desmume"; description = "libretro wrapper for desmume NDS emulator"; diff --git a/pkgs/misc/emulators/retroarch/hashes.json b/pkgs/misc/emulators/retroarch/hashes.json index 42be91a7405..1280f25047d 100644 --- a/pkgs/misc/emulators/retroarch/hashes.json +++ b/pkgs/misc/emulators/retroarch/hashes.json @@ -110,6 +110,15 @@ "leaveDotGit": true, "deepClone": true }, + "citra-canary": { + "owner": "libretro", + "repo": "citra", + "rev": "5401990a9be46e4497abc92db3d5f2042674303d", + "sha256": "JKKJBa840i7ESwMrB5tKamCBmrYvvoEUdibqxkWg5Gc=", + "fetchSubmodules": true, + "leaveDotGit": true, + "deepClone": true + }, "desmume": { "owner": "libretro", "repo": "desmume", diff --git a/pkgs/misc/emulators/retroarch/update.py b/pkgs/misc/emulators/retroarch/update.py index 4537ea75e25..68f72103168 100755 --- a/pkgs/misc/emulators/retroarch/update.py +++ b/pkgs/misc/emulators/retroarch/update.py @@ -32,6 +32,13 @@ CORES = { "deep_clone": True, "leave_dot_git": True, }, + "citra-canary": { + "repo": "citra", + "fetch_submodules": True, + "deep_clone": True, + "leave_dot_git": True, + "rev": "canary", + }, "desmume": {"repo": "desmume"}, "desmume2015": {"repo": "desmume2015"}, "dolphin": {"repo": "dolphin"}, @@ -107,6 +114,7 @@ def get_repo_hash_fetchFromGitHub( deep_clone=False, fetch_submodules=False, leave_dot_git=False, + rev=None, ): extra_args = [] if deep_clone: @@ -115,6 +123,9 @@ def get_repo_hash_fetchFromGitHub( extra_args.append("--fetch-submodules") if leave_dot_git: extra_args.append("--leave-dot-git") + if rev: + extra_args.append("--rev") + extra_args.append(rev) result = subprocess.run( ["nix-prefetch-github", owner, repo, *extra_args], check=True,