libretro: 2020-03-06 -> unstable-2021-11-16

+739 -486
+226 -486
pkgs/misc/emulators/retroarch/cores.nix
··· 1 - { lib, stdenv, fetchgit, fetchFromGitHub, fetchpatch, cmake, pkg-config, makeWrapper, python27, python3, retroarch 2 - , alsa-lib, fluidsynth, curl, hidapi, libGLU, gettext, portaudio, SDL, SDL2, libGL 3 - , ffmpeg, pcre, libevdev, libpng, libjpeg, libzip, udev, libvorbis, snappy, which, hexdump 4 - , sfml, xorg, zlib, nasm, libpcap, boost, icu, openssl 5 - , buildPackages }: 6 7 let 8 9 - d2u = lib.replaceChars ["-"] ["_"]; 10 11 - mkLibRetroCore = { core, src, description, license, broken ? false, version ? "2020-03-06", ... }@a: 12 - lib.makeOverridable stdenv.mkDerivation ((rec { 13 14 - name = "libretro-${a.core}-${version}"; 15 - inherit version; 16 - inherit (a) src; 17 18 - buildInputs = [ zlib ] ++ a.extraBuildInputs or []; 19 - nativeBuildInputs = [ makeWrapper ] ++ a.extraNativeBuildInputs or []; 20 21 - makefile = "Makefile.libretro"; 22 - makeFlags = [ 23 - "platform=${{ 24 linux = "unix"; 25 darwin = "osx"; 26 windows = "win"; 27 }.${stdenv.hostPlatform.parsed.kernel.name} or stdenv.hostPlatform.parsed.kernel.name}" 28 - "ARCH=${{ 29 armv7l = "arm"; 30 armv6l = "arm"; 31 i686 = "x86"; 32 }.${stdenv.hostPlatform.parsed.cpu.name} or stdenv.hostPlatform.parsed.cpu.name}" 33 - ] ++ (a.makeFlags or []); 34 35 - installPhase = '' 36 - COREDIR="$out/lib/retroarch/cores" 37 - mkdir -p $out/bin 38 - mkdir -p $COREDIR 39 - mv ${d2u a.core}_libretro${stdenv.hostPlatform.extensions.sharedLibrary} $COREDIR 40 - makeWrapper ${retroarch}/bin/retroarch $out/bin/retroarch-${core} \ 41 - --add-flags "-L $COREDIR/${d2u core}_libretro${stdenv.hostPlatform.extensions.sharedLibrary} $@" 42 - ''; 43 44 - passthru = { 45 - inherit (a) core; 46 - libretroCore = "/lib/retroarch/cores"; 47 - }; 48 49 - meta = with lib; { 50 - inherit (a) description license; 51 - broken = a.broken or false; 52 - homepage = "https://www.libretro.com/"; 53 - maintainers = with maintainers; [ edwtjo hrdinka MP2E ]; 54 - platforms = platforms.unix; 55 - }; 56 - }) // builtins.removeAttrs a ["core" "src" "description" "license" "makeFlags"]); 57 58 - fetchRetro = { repo, rev, sha256 }: 59 - fetchgit { 60 - inherit rev sha256; 61 - url = "https://github.com/libretro/${repo}.git"; 62 - fetchSubmodules = true; 63 - }; 64 65 - in with lib.licenses; 66 67 { 68 69 atari800 = mkLibRetroCore rec { 70 core = "atari800"; 71 - src = fetchRetro { 72 - repo = "libretro-" + core; 73 - rev = "f9bf53b864344b8bbe8d425ed2f3c628eb10519c"; 74 - sha256 = "0sgk93zs423pwiqzvj0x1gfwcn9gacnlrrdq53ps395k64lig6lk"; 75 - }; 76 description = "Port of Atari800 to libretro"; 77 license = gpl2; 78 makefile = "Makefile"; ··· 81 82 beetle-snes = mkLibRetroCore { 83 core = "mednafen-snes"; 84 - src = fetchRetro { 85 - repo = "beetle-bsnes-libretro"; 86 - rev = "de22d8420ea606f1b2f72afd4dda34619cf2cc20"; 87 - sha256 = "1nd4f8frmlhp1lyxz9zpxvwwz70x0i0rrp560cn9qlm1jzdv3xvf"; 88 - }; 89 description = "Port of Mednafen's SNES core to libretro"; 90 license = gpl2; 91 makefile = "Makefile"; ··· 93 94 beetle-gba = mkLibRetroCore { 95 core = "mednafen-gba"; 96 - src = fetchRetro { 97 - repo = "beetle-gba-libretro"; 98 - rev = "135afdbb9591655a3e016b75abba07e481f6d406"; 99 - sha256 = "0fc0x24qn4y7pz3mp1mm1ain31aj9pznp1irr0k7hvazyklzy9g3"; 100 - }; 101 description = "Port of Mednafen's GameBoy Advance core to libretro"; 102 license = gpl2; 103 makefile = "Makefile"; ··· 105 106 beetle-lynx = mkLibRetroCore { 107 core = "mednafen-lynx"; 108 - src = fetchRetro { 109 - repo = "beetle-lynx-libretro"; 110 - rev = "74dde204c0ec6c4bc4cd7821c14548387fbd9ce8"; 111 - sha256 = "05kwibjr30laalqzazswvmn9smm3mwqsz1i0z1s0pj7idfdhjfw0"; 112 - }; 113 description = "Port of Mednafen's Lynx core to libretro"; 114 license = gpl2; 115 makefile = "Makefile"; ··· 117 118 beetle-ngp = mkLibRetroCore { 119 core = "mednafen-ngp"; 120 - src = fetchRetro { 121 - repo = "beetle-ngp-libretro"; 122 - rev = "6f15532b6ad17a2d5eb9dc8241d6af62416e796b"; 123 - sha256 = "05r8mk9rc19nzs3gpfsjr6i7pm6xx3gn3b4xs8ab7v4vcmfg4cn2"; 124 - }; 125 description = "Port of Mednafen's NeoGeo Pocket core to libretro"; 126 license = gpl2; 127 makefile = "Makefile"; 128 }; 129 130 - beetle-pce-fast = let der = mkLibRetroCore { 131 - core = "mednafen-pce-fast"; 132 - src = fetchRetro { 133 - repo = "beetle-pce-fast-libretro"; 134 - rev = "40a42b7f43f029760c92bf0b2097e7d4b90ed29c"; 135 - sha256 = "1gr6wg4bd4chm4c39w0c1b5zfzr05zd7234vvlmr1imk0v6m0wj6"; 136 }; 137 - description = "Port of Mednafen's PC Engine core to libretro"; 138 - license = gpl2; 139 - makefile = "Makefile"; 140 - }; in der.override { 141 - name = "beetle-pce-fast-${der.version}"; 142 - }; 143 144 beetle-pcfx = mkLibRetroCore rec { 145 core = "mednafen-pcfx"; 146 - src = fetchRetro { 147 - repo = "beetle-pcfx-libretro"; 148 - rev = "7bba6699d6f903bd701b0aa525d845de8427fee6"; 149 - sha256 = "1lh7dh96fyi005fcg3xaf7r4ssgkq840p6anldlqy52vfwmglw3p"; 150 - }; 151 description = "Port of Mednafen's PCFX core to libretro"; 152 license = gpl2; 153 makefile = "Makefile"; 154 }; 155 156 - beetle-psx = let der = (mkLibRetroCore { 157 core = "mednafen-psx"; 158 - src = fetchRetro { 159 - repo = "beetle-psx-libretro"; 160 - rev = "0f1e7e60827cad49ebba628abdc83ad97652ab89"; 161 - sha256 = "1j92jgddyl970v775d6gyb50l8md6yfym2fpqhfxcr4gj1b4ivwq"; 162 - }; 163 description = "Port of Mednafen's PSX Engine core to libretro"; 164 license = gpl2; 165 makefile = "Makefile"; 166 makeFlags = [ "HAVE_HW=0" "HAVE_LIGHTREC=1" ]; 167 - }); in der.override { 168 - name = "beetle-psx-${der.version}"; 169 - }; 170 171 - beetle-psx-hw = let der = (mkLibRetroCore { 172 core = "mednafen-psx-hw"; 173 - src = fetchRetro { 174 - repo = "beetle-psx-libretro"; 175 - rev = "0f1e7e60827cad49ebba628abdc83ad97652ab89"; 176 - sha256 = "1j92jgddyl970v775d6gyb50l8md6yfym2fpqhfxcr4gj1b4ivwq"; 177 - }; 178 description = "Port of Mednafen's PSX Engine (with HW accel) core to libretro"; 179 license = gpl2; 180 extraBuildInputs = [ libGL libGLU ]; 181 makefile = "Makefile"; 182 makeFlags = [ "HAVE_VULKAN=1" "HAVE_OPENGL=1" "HAVE_HW=1" "HAVE_LIGHTREC=1" ]; 183 - }); in der.override { 184 - name = "beetle-psx-hw-${der.version}"; 185 - }; 186 187 - beetle-saturn = let der = (mkLibRetroCore { 188 core = "mednafen-saturn"; 189 - src = fetchRetro { 190 - repo = "beetle-saturn-libretro"; 191 - rev = "8a65943bb7bbc3183eeb0d57c4ac3e663f1bcc11"; 192 - sha256 = "1f0cd9wmvarsmf4jw0p6h3lbzs6515aja7krrwapja7i4xmgbrnh"; 193 - }; 194 description = "Port of Mednafen's Saturn core to libretro"; 195 license = gpl2; 196 makefile = "Makefile"; 197 makeFlags = [ "HAVE_HW=0" ]; 198 meta.platforms = [ "x86_64-linux" "aarch64-linux" ]; 199 - }); in der.override { 200 - name = "beetle-saturn-${der.version}"; 201 - }; 202 203 - beetle-saturn-hw = let der = (mkLibRetroCore { 204 core = "mednafen-saturn-hw"; 205 - src = fetchRetro { 206 - repo = "beetle-saturn-libretro"; 207 - rev = "8a65943bb7bbc3183eeb0d57c4ac3e663f1bcc11"; 208 - sha256 = "1f0cd9wmvarsmf4jw0p6h3lbzs6515aja7krrwapja7i4xmgbrnh"; 209 - }; 210 description = "Port of Mednafen's Saturn core to libretro"; 211 license = gpl2; 212 extraBuildInputs = [ libGL libGLU ]; 213 makefile = "Makefile"; 214 makeFlags = [ "HAVE_OPENGL=1" "HAVE_HW=1" ]; 215 meta.platforms = [ "x86_64-linux" "aarch64-linux" ]; 216 - }); in der.override { 217 - name = "beetle-saturn-${der.version}"; 218 - }; 219 220 beetle-supergrafx = mkLibRetroCore rec { 221 core = "mednafen-supergrafx"; 222 - src = fetchRetro { 223 - repo = "beetle-supergrafx-libretro"; 224 - rev = "fadef23d59fa5ec17bc99e1e722cfd9e10535695"; 225 - sha256 = "15rm7p5q38qy3xpyvamhphjnna8h91fsbcqnl9vhzx9cmjg0wf54"; 226 - }; 227 description = "Port of Mednafen's SuperGrafx core to libretro"; 228 license = gpl2; 229 makefile = "Makefile"; ··· 231 232 beetle-wswan = mkLibRetroCore rec { 233 core = "mednafen-wswan"; 234 - src = fetchRetro { 235 - repo = "beetle-wswan-libretro"; 236 - rev = "5b03d1b09f70dc208387d3c8b59e12e1f0d2692f"; 237 - sha256 = "1sm6ww3y9m85lhp74dpxbs05yxdhhqqmj2022j9s0m235z29iygc"; 238 - }; 239 description = "Port of Mednafen's WonderSwan core to libretro"; 240 license = gpl2; 241 makefile = "Makefile"; ··· 243 244 beetle-vb = mkLibRetroCore rec { 245 core = "mednafen-vb"; 246 - src = fetchRetro { 247 - repo = "beetle-vb-libretro"; 248 - rev = "9a4e604a7320a3c6ed30601989fe0bc417fa9ad3"; 249 - sha256 = "1gallwbqxn5qbmwxr1vxb41nncksai4rxc739a7vqvp65k5kl0qp"; 250 - }; 251 description = "Port of Mednafen's VirtualBoy core to libretro"; 252 license = gpl2; 253 makefile = "Makefile"; ··· 255 256 bluemsx = mkLibRetroCore rec { 257 core = "bluemsx"; 258 - src = fetchRetro { 259 - repo = core + "-libretro"; 260 - rev = "7a1d40e750860580ab7cc21fbc244b5bc6db6586"; 261 - sha256 = "05hnkyr47djccspr8v438zimdfsgym7v0jn1hwpkqc4i5zf70981"; 262 - }; 263 description = "Port of BlueMSX to libretro"; 264 license = gpl2; 265 }; 266 267 - bsnes-mercury = let bname = "bsnes-mercury"; in mkLibRetroCore { 268 - core = bname + "-accuracy"; 269 - src = fetchRetro { 270 - repo = bname; 271 - rev = "4a382621da58ae6da850f1bb003ace8b5f67968c"; 272 - sha256 = "0z8psz24nx8497vpk2wya9vs451rzzw915lkw3qiq9bzlzg9r2wv"; 273 }; 274 - description = "Fork of bsnes with HLE DSP emulation restored"; 275 - license = gpl3; 276 - makefile = "Makefile"; 277 - postBuild = "cd out"; 278 - }; 279 280 citra = mkLibRetroCore rec { 281 core = "citra"; 282 - src = fetchgit { 283 - url = "https://github.com/libretro/citra.git"; 284 - rev = "84f31e95160b029e6d614053705054ed6a34bb38"; 285 - sha256 = "0gkgxpwrh0q098cpx56hprvmazi5qi448c23svwa8ar1myh8p248"; 286 - fetchSubmodules = true; 287 - deepClone = true; 288 - }; 289 description = "Port of Citra to libretro"; 290 license = gpl2Plus; 291 extraNativeBuildInputs = [ cmake pkg-config ]; ··· 304 305 desmume = mkLibRetroCore rec { 306 core = "desmume"; 307 - src = fetchRetro { 308 - repo = core; 309 - rev = "e8cf461f83eebb195f09e70090f57b07d1bcdd9f"; 310 - sha256 = "0rc8s5226wn39jqs5yxi30jc1snc0p106sfym7kgi98hy5na8yab"; 311 - }; 312 description = "libretro wrapper for desmume NDS emulator"; 313 license = gpl2; 314 extraBuildInputs = [ libpcap libGLU libGL xorg.libX11 ]; 315 preBuild = "cd desmume/src/frontend/libretro"; 316 makeFlags = lib.optional stdenv.hostPlatform.isAarch32 "platform=armv-unix" 317 - ++ lib.optional (!stdenv.hostPlatform.isx86) "DESMUME_JIT=0"; 318 }; 319 320 desmume2015 = mkLibRetroCore rec { 321 core = "desmume2015"; 322 - src = fetchRetro { 323 - repo = core; 324 - rev = "93d5789d60f82436e20ccad05ce9cb43c6e3656e"; 325 - sha256 = "12nii2pbnqgh7f7jkphbwjpr2hiy2mzbwpas3xyhpf9wpy3qiasg"; 326 - }; 327 description = "libretro wrapper for desmume NDS emulator from 2015"; 328 license = gpl2; 329 extraBuildInputs = [ libpcap libGLU libGL xorg.libX11 ]; 330 makeFlags = lib.optional stdenv.hostPlatform.isAarch32 "platform=armv-unix" 331 - ++ lib.optional (!stdenv.hostPlatform.isx86) "DESMUME_JIT=0"; 332 preBuild = "cd desmume"; 333 }; 334 335 - dolphin = mkLibRetroCore { 336 core = "dolphin"; 337 - version = "2021-11-01"; 338 - src = fetchRetro { 339 - repo = "dolphin"; 340 - rev = "3370f7693be95c23ac779e5172ff52b7eb2861a7"; 341 - sha256 = "0ylxi25kbv0h2p24aid7z4i0w6drf7h92q02hjdl3h3gni98lk9i"; 342 - }; 343 description = "Port of Dolphin to libretro"; 344 license = gpl2Plus; 345 346 extraNativeBuildInputs = [ cmake curl pkg-config ]; 347 extraBuildInputs = [ 348 - libGLU libGL pcre sfml 349 - gettext hidapi 350 - libevdev udev 351 ] ++ (with xorg; [ libSM libX11 libXi libpthreadstubs libxcb xcbutil libXext libXrandr libXinerama libXxf86vm ]); 352 makefile = "Makefile"; 353 cmakeFlags = [ ··· 364 365 dosbox = mkLibRetroCore rec { 366 core = "dosbox"; 367 - src = fetchRetro { 368 - repo = core + "-libretro"; 369 - rev = "e4ed503b14ed59d5d745396ef1cc7d52cf912328"; 370 - sha256 = "13bx0ln9hwn6hy4sv0ivqmjgjbfq8svx15dsa24hwd8lkf0kakl4"; 371 - }; 372 description = "Port of DOSBox to libretro"; 373 license = gpl2; 374 }; 375 376 eightyone = mkLibRetroCore rec { 377 core = "81"; 378 - src = fetchRetro { 379 - repo = core + "-libretro"; 380 - rev = "4352130bd2363954262a804b086f86b9d13d97f9"; 381 - sha256 = "057ynnv85imjqhgixrx7p28wn42v88vsm3fc1lp3mpcfi2bk266h"; 382 - }; 383 description = "Port of EightyOne to libretro"; 384 license = gpl3; 385 }; 386 387 fbalpha2012 = mkLibRetroCore rec { 388 core = "fbalpha2012"; 389 - src = fetchRetro { 390 - repo = core; 391 - rev = "fa97cd2784a337f8ac774c2ce8a136aee69b5f43"; 392 - sha256 = "1i75k0r6838hl77bjjmzvan33ka5qjrdpirmclzj20g5j97lmas7"; 393 - }; 394 description = "Port of Final Burn Alpha ~2012 to libretro"; 395 license = "Non-commercial"; 396 makefile = "makefile.libretro"; ··· 399 400 fbneo = mkLibRetroCore rec { 401 core = "fbneo"; 402 - src = fetchRetro { 403 - repo = core; 404 - rev = "cf43fdb1755f9f5c886266e86ba40d339bc8f5d7"; 405 - sha256 = "13g3c6mbwhcf0rp95ga4klszh8dab2d4ahh2vzzlmd57r69lf2lv"; 406 - }; 407 description = "Port of FBNeo to libretro"; 408 license = "Non-commercial"; 409 makefile = "Makefile"; ··· 416 417 fceumm = mkLibRetroCore rec { 418 core = "fceumm"; 419 - src = fetchRetro { 420 - repo = "libretro-" + core; 421 - rev = "9ed22e5a9a1360a7f599a64283af9fe24b858e3d"; 422 - sha256 = "0rz6iy281jpybmsz5rh06k5xvmd9id9w2q2gd0qdv9a2ylwv7s2j"; 423 - }; 424 description = "FCEUmm libretro port"; 425 license = gpl2; 426 }; 427 428 flycast = mkLibRetroCore rec { 429 core = "flycast"; 430 - src = fetchRetro { 431 - repo = core; 432 - rev = "b12f3726d9093acb4e441b1cdcf6cd11403c8644"; 433 - sha256 = "0nczjhdqr7svq9aflczf7rwz64bih1wqy9q0gyglb55xlslf5jqc"; 434 - }; 435 description = "Flycast libretro port"; 436 license = gpl2; 437 extraBuildInputs = [ libGL libGLU ]; ··· 442 443 fmsx = mkLibRetroCore rec { 444 core = "fmsx"; 445 - src = fetchRetro { 446 - repo = core + "-libretro"; 447 - rev = "3de916bbf15062de1ab322432d38a1fee29d5e68"; 448 - sha256 = "1krr4lmdiv0d7bxk37fqz5y412znb5bmxapv9g7ci6fp87sr69jq"; 449 - }; 450 description = "FMSX libretro port"; 451 license = "Non-commercial"; 452 makefile = "Makefile"; ··· 454 455 freeintv = mkLibRetroCore rec { 456 core = "freeintv"; 457 - src = fetchRetro { 458 - repo = core; 459 - rev = "45030e10cc1a50cf7a80c5d921aa8cba0aeaca91"; 460 - sha256 = "10lngk3p012bgrg752426701hfzsiy359h8i0vzsa64pgyjbqlag"; 461 - }; 462 description = "FreeIntv libretro port"; 463 license = gpl3; 464 makefile = "Makefile"; ··· 466 467 gambatte = mkLibRetroCore rec { 468 core = "gambatte"; 469 - src = fetchRetro { 470 - repo = core + "-libretro"; 471 - rev = "132f36e990dfc6effdafa6cf261373432464f9bf"; 472 - sha256 = "19w5k9yc1cl99c5hiqbp6j54g6z06xcblpvd3x6nmhxij81yqxy7"; 473 - }; 474 description = "Gambatte libretro port"; 475 license = gpl2; 476 }; 477 478 - genesis-plus-gx = mkLibRetroCore { 479 core = "genesis-plus-gx"; 480 - src = fetchRetro { 481 - repo = "Genesis-Plus-GX"; 482 - rev = "50551066f71f8a5ea782ea3747891fd6d24ebe67"; 483 - sha256 = "150lgdrv7idcq7jbd1jj7902rcsyixd7kfjs2m5xdinjvl22kihr"; 484 - }; 485 description = "Enhanced Genesis Plus libretro port"; 486 license = "Non-commercial"; 487 }; 488 489 gpsp = mkLibRetroCore rec { 490 core = "gpsp"; 491 - src = fetchRetro { 492 - repo = core; 493 - rev = "3f2f57c982ffead643957db5b26931df4913596f"; 494 - sha256 = "09fa1c623rmy1w9zx85r75viv8q1vknhbs8fn6xbss9rhpxhivwg"; 495 - }; 496 description = "Port of gpSP to libretro"; 497 license = gpl2; 498 makefile = "Makefile"; ··· 500 501 gw = mkLibRetroCore rec { 502 core = "gw"; 503 - src = fetchRetro { 504 - repo = core + "-libretro"; 505 - rev = "819b1dde560013003eeac86c2069c5be7af25c6d"; 506 - sha256 = "1jhgfys8hiipvbwq3gc48d7v6wq645d10rbr4w5m6px0fk6csshk"; 507 - }; 508 description = "Port of Game and Watch to libretro"; 509 license = lib.licenses.zlib; 510 makefile = "Makefile"; ··· 512 513 handy = mkLibRetroCore rec { 514 core = "handy"; 515 - src = fetchRetro { 516 - repo = "libretro-" + core; 517 - rev = "c9fe65d1a2df454ee11404ac27bdc9be319dd9a2"; 518 - sha256 = "1l1gi8z68mv2cpdy7a6wvhd86q55khj3mv3drf43ak4kj2ij8cvq"; 519 - }; 520 description = "Port of Handy to libretro"; 521 license = "Handy-License"; 522 makefile = "Makefile"; ··· 524 525 hatari = mkLibRetroCore rec { 526 core = "hatari"; 527 - src = fetchRetro { 528 - repo = core; 529 - rev = "ec1b59c4b6c7ca7d0d23d60cfe2cb61911b11173"; 530 - sha256 = "1pm821s2cz93xr7qx7dv0imr44bi4pvdvlnjl486p83vff9yawfg"; 531 - }; 532 description = "Port of Hatari to libretro"; 533 license = gpl2; 534 extraBuildInputs = [ SDL zlib ]; ··· 539 depsBuildBuild = [ buildPackages.stdenv.cc ]; 540 }; 541 542 - mame = mkLibRetroCore { 543 core = "mame"; 544 - src = fetchRetro { 545 - repo = "mame"; 546 - rev = "ed987ad07964a938351ff3cc1ad42e02ffd2af6d"; 547 - sha256 = "0qc66mvraffx6ws972skx3wgblich17q6z42798qn13q1a264p4j"; 548 - }; 549 description = "Port of MAME to libretro"; 550 license = gpl2Plus; 551 552 - extraBuildInputs = [ alsa-lib libGLU libGL portaudio python27 xorg.libX11 ]; 553 postPatch = '' 554 # Prevent the failure during the parallel building of: 555 # make -C 3rdparty/genie/build/gmake.linux -f genie.make obj/Release/src/host/lua-5.3.0/src/lgc.o ··· 560 561 mame2000 = mkLibRetroCore rec { 562 core = "mame2000"; 563 - src = fetchRetro { 564 - repo = core + "-libretro"; 565 - rev = "e5d4a934c60adc6d42a3f87319312aad89595a15"; 566 - sha256 = "1zn63yqyrsnsk196v5f3nm7cx41mvsm3icpis1yxbma2r3dk3f89"; 567 - }; 568 description = "Port of MAME ~2000 to libretro"; 569 license = gpl2Plus; 570 makefile = "Makefile"; ··· 573 574 mame2003 = mkLibRetroCore rec { 575 core = "mame2003"; 576 - src = fetchRetro { 577 - repo = core + "-libretro"; 578 - rev = "82596014905ad38c80c9eb322ab08c625d1d92cd"; 579 - sha256 = "17dp2rz6p7q7nr0lajn3vhk9ghngxz16f7c6c87r6wgsy4y3xw0m"; 580 - }; 581 description = "Port of MAME ~2003 to libretro"; 582 license = gpl2Plus; 583 makefile = "Makefile"; ··· 585 586 mame2003-plus = mkLibRetroCore rec { 587 core = "mame2003-plus"; 588 - src = fetchRetro { 589 - repo = core + "-libretro"; 590 - rev = "0134c428b75882aa474f78dbbf2c6ecde49b97b7"; 591 - sha256 = "0jln2ys6v9hrsrkhqd87jfslwvkca425f40mf7866g6b4pz56mwc"; 592 - }; 593 description = "Port of MAME ~2003+ to libretro"; 594 license = gpl2Plus; 595 makefile = "Makefile"; ··· 597 598 mame2010 = mkLibRetroCore rec { 599 core = "mame2010"; 600 - src = fetchRetro { 601 - repo = core + "-libretro"; 602 - rev = "d3151837758eade73c85c28c20e7d2a8706f30c6"; 603 - sha256 = "0hj0yhc8zs32fkzn8j341ybhvrsknv0k6x0z2fv3l9ic7swgb93i"; 604 - }; 605 description = "Port of MAME ~2010 to libretro"; 606 license = gpl2Plus; 607 makefile = "Makefile"; ··· 610 611 mame2015 = mkLibRetroCore rec { 612 core = "mame2015"; 613 - src = fetchRetro { 614 - repo = core + "-libretro"; 615 - rev = "37333ed6fda4c798a1d6b055fe4708f9f0dcf5a7"; 616 - sha256 = "1asldlj1ywgmhabbhaagagg5hn0359122al07802q3l57ns41l64"; 617 - }; 618 description = "Port of MAME ~2015 to libretro"; 619 license = gpl2Plus; 620 extraNativeBuildInputs = [ python27 ]; ··· 624 625 mame2016 = mkLibRetroCore rec { 626 core = "mame2016"; 627 - src = fetchRetro { 628 - repo = core + "-libretro"; 629 - rev = "02987af9b81a9c3294af8fb9d5a34f9826a2cf4d"; 630 - sha256 = "0gl7irmn5d8lk7kf484vgw6kb325fq4ghwsni3il4nm5n2a8yglh"; 631 - }; 632 patches = [ 633 (fetchpatch { 634 name = "fix_mame_build_on_make-4.3.patch"; ··· 649 650 mesen = mkLibRetroCore rec { 651 core = "mesen"; 652 - src = fetchFromGitHub { 653 - owner = "SourMesen"; 654 - repo = core; 655 - rev = "cfc5bf6976f62ebd42ea30d5a803c138fc357509"; 656 - sha256 = "0ihlgvzvni1yqcyi5yxdvg36q20fsqd6n67zavwfb2ph09cqv7kz"; 657 - }; 658 description = "Port of Mesen to libretro"; 659 license = gpl3; 660 makefile = "Makefile"; ··· 663 664 meteor = mkLibRetroCore rec { 665 core = "meteor"; 666 - src = fetchRetro { 667 - repo = core + "-libretro"; 668 - rev = "3d21e3b5a7596918bee0fcaca5752ae76624c05e"; 669 - sha256 = "0fghnxxbdrkdz6zswkd06w2r3dvr4ikvcp8jbr7nb9fc5yzn0avw"; 670 - }; 671 description = "Port of Meteor to libretro"; 672 license = gpl3; 673 makefile = "Makefile"; ··· 676 677 mgba = mkLibRetroCore rec { 678 core = "mgba"; 679 - src = fetchRetro { 680 - repo = core; 681 - rev = "f87f9ef6cb38537e07dcaedeb82aecac6537d42e"; 682 - sha256 = "0yixvnzgk7qvcfz12r5y8i85czqxbxx6bvl1c7yms8riqn9ssvb7"; 683 - }; 684 description = "Port of mGBA to libretro"; 685 license = mpl20; 686 }; 687 688 mupen64plus = mkLibRetroCore { 689 core = "mupen64plus-next"; 690 - src = fetchRetro { 691 - repo = "mupen64plus-libretro-nx"; 692 - rev = "81a58df0263c90b10b7fc11b6deee04d47e3aa40"; 693 - sha256 = "1brqyrsdzdq53a68q7ph01q2bx5y4m8b3ymvpp25229imm88lgkn"; 694 - }; 695 description = "Libretro port of Mupen64 Plus, GL only"; 696 license = gpl2; 697 ··· 701 702 neocd = mkLibRetroCore rec { 703 core = "neocd"; 704 - src = fetchRetro { 705 - repo = core + "_libretro"; 706 - rev = "3825848fe7dd7e0ef859729eefcb29e2ea2956b7"; 707 - sha256 = "018vfmjsx62zk45yx3pwisp4j133yxjbm7fnwwr244gnyms57711"; 708 - }; 709 description = "NeoCD libretro port"; 710 license = gpl3; 711 makefile = "Makefile"; ··· 713 714 nestopia = mkLibRetroCore rec { 715 core = "nestopia"; 716 - src = fetchRetro { 717 - repo = core; 718 - rev = "70c53f08c0cc92e90d095d6558ab737ce20431ac"; 719 - sha256 = "1hlfqml66wy6fn40f1iiy892vq9y9fj20vv3ynd2s3b3qxhwfx73"; 720 - }; 721 description = "Nestopia libretro port"; 722 license = gpl2; 723 makefile = "Makefile"; ··· 726 727 np2kai = mkLibRetroCore rec { 728 core = "np2kai"; 729 - src = fetchFromGitHub rec { 730 - owner = "AZO234"; 731 - repo = "NP2kai"; 732 - rev = "4a317747724669343e4c33ebdd34783fb7043221"; 733 - sha256 = "0kxysxhx6jyk82mx30ni0ydzmwdcbnlxlnarrlq018rsnwb4md72"; 734 - }; 735 description = "Neko Project II kai libretro port"; 736 license = mit; 737 makefile = "Makefile.libretro"; 738 - preBuild = '' 739 - cd sdl2 740 - substituteInPlace ${makefile} \ 741 - --replace 'GIT_VERSION :=' 'GIT_VERSION ?=' 742 - export GIT_VERSION=${builtins.substring 0 7 src.rev} 743 - ''; 744 }; 745 746 o2em = mkLibRetroCore rec { 747 core = "o2em"; 748 - src = fetchRetro { 749 - repo = "libretro-" + core; 750 - rev = "b23a796dd3490e979ff43710317df6d43bd661e1"; 751 - sha256 = "1pkbq7nig394zdjdic0mzdsvx8xhzamsh53xh2hzznipyj46b7z0"; 752 - }; 753 description = "Port of O2EM to libretro"; 754 license = artistic1; 755 makefile = "Makefile"; ··· 757 758 opera = mkLibRetroCore rec { 759 core = "opera"; 760 - src = fetchRetro { 761 - repo = core + "-libretro"; 762 - rev = "27bc2653ed469072a6a95102a8212a35fbb1e590"; 763 - sha256 = "10cxjpsd35rb4fjc5ycs1h00gvshpn2mxxvwb6xzrfrzva0kjw1l"; 764 - }; 765 description = "Opera is a port of 4DO/libfreedo to libretro"; 766 license = "Non-commercial"; 767 makefile = "Makefile"; ··· 770 771 parallel-n64 = mkLibRetroCore rec { 772 core = "parallel-n64"; 773 - src = fetchRetro { 774 - repo = core; 775 - rev = "8fe07c62a364d0af1e22b7f75e839d42872dae7f"; 776 - sha256 = "0p3fpldw6w4n4l60bv55c17vhqwq4q39fp36h8iqmnj7c32c61kf"; 777 - }; 778 description = "Parallel Mupen64plus rewrite for libretro."; 779 license = gpl2; 780 extraBuildInputs = [ libGLU libGL libpng ]; ··· 787 788 pcsx_rearmed = mkLibRetroCore rec { 789 core = "pcsx_rearmed"; 790 - src = fetchRetro { 791 - repo = core; 792 - rev = "8fda5dd0e28fe46621fb1ab57781c316143017da"; 793 - sha256 = "0k371d0xqzqwy8ishvxssgasm36q83qj7ksn2av110n879n4knwb"; 794 - }; 795 description = "Port of PCSX ReARMed with GNU lightning to libretro"; 796 license = gpl2; 797 dontConfigure = true; ··· 799 800 picodrive = mkLibRetroCore rec { 801 core = "picodrive"; 802 - src = fetchRetro { 803 - repo = core; 804 - rev = "600894ec6eb657586a972a9ecd268f50907a279c"; 805 - sha256 = "1bxphwnq4b80ssmairy8sfc5cp4m6jyvrcjcj63q1vk7cs6qls7p"; 806 - }; 807 description = "Fast MegaDrive/MegaCD/32X emulator"; 808 license = "MAME"; 809 810 extraBuildInputs = [ libpng SDL ]; 811 SDL_CONFIG = "${SDL.dev}/bin/sdl-config"; 812 dontAddPrefix = true; 813 - configurePlatforms = []; 814 makeFlags = lib.optional stdenv.hostPlatform.isAarch64 [ "platform=aarch64" ]; 815 }; 816 817 - play = mkLibRetroCore { 818 core = "play"; 819 - src = fetchRetro { 820 - repo = "play-"; 821 - rev = "884ae3b96c631f235cd18b2643d1f318fa6951fb"; 822 - sha256 = "0m9pk20jh4y02visgzfw64bpbw93bzs15x3a3bnd19yivm34dbfc"; 823 - }; 824 description = "Port of Play! to libretro"; 825 license = bsd2; 826 extraBuildInputs = [ boost ]; ··· 828 makefile = "Makefile"; 829 cmakeFlags = [ "-DBUILD_PLAY=OFF -DBUILD_LIBRETRO_CORE=ON" ]; 830 postBuild = "mv Source/ui_libretro/play_libretro${stdenv.hostPlatform.extensions.sharedLibrary} play_libretro${stdenv.hostPlatform.extensions.sharedLibrary}"; 831 }; 832 833 - ppsspp = mkLibRetroCore { 834 core = "ppsspp"; 835 - src = fetchFromGitHub { 836 - owner = "hrydgard"; 837 - repo = "ppsspp"; 838 - rev = "v1.11"; 839 - fetchSubmodules = true; 840 - sha256 = "sha256-vfp/vacIItlPP5dR7jzDT7oOUNFnjvvdR46yi79EJKU="; 841 - }; 842 - patches = [ 843 - (fetchpatch { 844 - name = "fix_ffmpeg_4.4.patch"; # to be removed with next release 845 - url = "https://patch-diff.githubusercontent.com/raw/hrydgard/ppsspp/pull/14176.patch"; 846 - sha256 = "sha256-ecDoOydaLfL6+eFpahcO1TnRl866mZZVHlr6Qrib1mo="; 847 - }) 848 - ]; 849 description = "ppsspp libretro port"; 850 license = gpl2; 851 extraNativeBuildInputs = [ cmake pkg-config python3 ]; ··· 857 858 prboom = mkLibRetroCore rec { 859 core = "prboom"; 860 - src = fetchRetro { 861 - repo = "libretro-" + core; 862 - rev = "991016b3c7a9c8b0e49b2bc9c72f68c60800fc7b"; 863 - sha256 = "1abv9qgfvh3x84shgyl3y90bjz77mjj17vibag7bg6i8hgjikjgq"; 864 - }; 865 description = "Prboom libretro port"; 866 license = gpl2; 867 makefile = "Makefile"; ··· 869 870 prosystem = mkLibRetroCore rec { 871 core = "prosystem"; 872 - src = fetchRetro { 873 - repo = core + "-libretro"; 874 - rev = "6f7e34aea89db5ba2fbf674e5ff0ad6fc68a198e"; 875 - sha256 = "0pqkb0f51s8ma0l4m9xk2y85z2kh3fgay9g4g8fingbgqq1klvzs"; 876 - }; 877 description = "Port of ProSystem to libretro"; 878 license = gpl2; 879 makefile = "Makefile"; 880 }; 881 882 - quicknes = mkLibRetroCore { 883 core = "quicknes"; 884 - src = fetchRetro { 885 - repo = "QuickNES_Core"; 886 - rev = "31654810b9ebf8b07f9c4dc27197af7714364ea7"; 887 - sha256 = "15fr5a9hv7wgndb0fpmr6ws969him41jidzir2ix9xkb0mmvcm86"; 888 - }; 889 description = "QuickNES libretro port"; 890 license = lgpl21Plus; 891 makefile = "Makefile"; ··· 893 894 sameboy = mkLibRetroCore rec { 895 core = "sameboy"; 896 - src = fetchRetro { 897 - repo = "sameboy"; 898 - rev = "c9e547c1063fd62c40a4b7a86e7db99dc9089051"; 899 - sha256 = "0bff6gicm24d7h270aqvgd8il6mi7j689nj5zl9ij0wc77hrrpmq"; 900 - }; 901 description = "SameBoy libretro port"; 902 license = mit; 903 extraNativeBuildInputs = [ which hexdump ]; ··· 907 908 scummvm = mkLibRetroCore rec { 909 core = "scummvm"; 910 - src = fetchRetro { 911 - repo = core; 912 - rev = "de91bf9bcbf4449f91e2f50fde173496a2b52ee0"; 913 - sha256 = "06h9xaf2b1cjk85nbslpjj0fm9iy9b2lxr1wf3i09hgs4sh6x464"; 914 - }; 915 description = "Libretro port of ScummVM"; 916 license = gpl2; 917 extraBuildInputs = [ fluidsynth libjpeg libvorbis libGLU libGL SDL ]; ··· 921 922 smsplus-gx = mkLibRetroCore rec { 923 core = "smsplus"; 924 - src = fetchRetro { 925 - repo = core + "-gx"; 926 - rev = "36c82768c03d889f1cf4b66369edac2297acba32"; 927 - sha256 = "1f9waikyp7kp2abb76wlv9hmf2jpc76zjmfqyc7wk2pc70ljm3l4"; 928 - }; 929 description = "SMS Plus GX libretro port"; 930 license = gpl2Plus; 931 }; 932 933 snes9x = mkLibRetroCore rec { 934 core = "snes9x"; 935 - src = fetchFromGitHub { 936 - owner = "snes9xgit"; 937 - repo = core; 938 - rev = "bd9246ddd75a5e9f78d6189c8c57754d843630f7"; 939 - sha256 = "10fm7ah3aha9lf4k9hgw0dlhdvshzpig2d0ylcb12gf9zz0i22ns"; 940 - }; 941 description = "Port of SNES9x git to libretro"; 942 license = "Non-commercial"; 943 makefile = "Makefile"; ··· 946 947 snes9x2002 = mkLibRetroCore rec { 948 core = "snes9x2002"; 949 - src = fetchRetro { 950 - repo = core; 951 - rev = "a869da7f22c63ee1cb316f79c6dd7691a369da3e"; 952 - sha256 = "11lcwscnxg6sk9as2xlr4nai051qhidbsymyis4nz3r4dmgzf8j8"; 953 - }; 954 description = "Optimized port/rewrite of SNES9x 1.39 to Libretro"; 955 license = "Non-commercial"; 956 makefile = "Makefile"; ··· 958 959 snes9x2005 = mkLibRetroCore rec { 960 core = "snes9x2005"; 961 - src = fetchRetro { 962 - repo = core; 963 - rev = "c216559b9e0dc3d7f059dcf31b813402ad47fea5"; 964 - sha256 = "19b2rpj6i32c34ryvlna4yca84y5ypza78w4x9l17qlhp021h9pv"; 965 - }; 966 description = "Optimized port/rewrite of SNES9x 1.43 to Libretro"; 967 license = "Non-commercial"; 968 makefile = "Makefile"; ··· 972 973 snes9x2010 = mkLibRetroCore rec { 974 core = "snes9x2010"; 975 - src = fetchRetro { 976 - repo = core; 977 - rev = "ba9f2240360f8db270fb6ba5465c79c317070560"; 978 - sha256 = "00y53sjrsp8sccpp1qqw88iawsz30g6d370cbqcxs4ya1r6awn5x"; 979 - }; 980 description = "Optimized port/rewrite of SNES9x 1.52+ to Libretro"; 981 license = "Non-commercial"; 982 }; 983 984 stella = mkLibRetroCore rec { 985 core = "stella"; 986 - src = fetchFromGitHub { 987 - owner = "stella-emu"; 988 - repo = core; 989 - rev = "506bb0bd0618e676b1959931dcc00a9d0f5f0f3d"; 990 - sha256 = "09nclx0ksixngnxkkjjcyhf3d0vl4ykm8fx7m307lvag8nxj7z03"; 991 - }; 992 description = "Port of Stella to libretro"; 993 license = gpl2; 994 extraBuildInputs = [ libpng pkg-config SDL ]; ··· 999 1000 stella2014 = mkLibRetroCore rec { 1001 core = "stella2014"; 1002 - src = fetchRetro { 1003 - repo = core + "-libretro"; 1004 - rev = "fc87f2c78d3b177f4b9b19698557dce452ac3ce7"; 1005 - sha256 = "0yqzavk1w0d0ngpls32c4wlihii97fz2g6zsgadhm48apwjvn3xx"; 1006 - }; 1007 description = "Port of Stella to libretro"; 1008 license = gpl2; 1009 makefile = "Makefile"; ··· 1011 1012 tgbdual = mkLibRetroCore rec { 1013 core = "tgbdual"; 1014 - src = fetchRetro { 1015 - repo = core + "-libretro"; 1016 - rev = "9be31d373224cbf288db404afc785df41e61b213"; 1017 - sha256 = "19m3f3hj3jyg711z1xq8qn1hgsr593krl6s6hi0r6vf8p5x0zbzw"; 1018 - }; 1019 description = "Port of TGBDual to libretro"; 1020 license = gpl2; 1021 makefile = "Makefile"; ··· 1023 1024 thepowdertoy = mkLibRetroCore rec { 1025 core = "thepowdertoy"; 1026 - src = fetchRetro { 1027 - repo = "ThePowderToy"; 1028 - rev = "0ff547e89ae9d6475b0226db76832daf03eec937"; 1029 - sha256 = "kDpmo/RPYRvROOX3AhsB5pIl0MfHbQmbyTMciLPDNew="; 1030 - }; 1031 description = "Port of The Powder Toy to libretro"; 1032 license = gpl3Only; 1033 extraNativeBuildInputs = [ cmake ]; ··· 1035 postBuild = "cd src/"; 1036 }; 1037 1038 - tic80 = mkLibRetroCore { 1039 core = "tic80"; 1040 - src = fetchRetro { 1041 - repo = "tic-80"; 1042 - rev = "f43bad908d5f05f2a66d5cd1d6f21b234d4abd2c"; 1043 - sha256 = "0bp34r8qqyw52alws1z4ib9j7bs4d641q6nvqszd07snp9lpvwym"; 1044 - }; 1045 description = "Port of TIC-80 to libretro"; 1046 license = mit; 1047 - extraNativeBuildInputs = [ cmake pkg-config ]; 1048 makefile = "Makefile"; 1049 cmakeFlags = [ 1050 "-DBUILD_LIBRETRO=ON" ··· 1059 1060 vba-next = mkLibRetroCore rec { 1061 core = "vba-next"; 1062 - src = fetchRetro { 1063 - repo = core; 1064 - rev = "019132daf41e33a9529036b8728891a221a8ce2e"; 1065 - sha256 = "0hab4rhvvcg30jifd9h9jq5q2vqk2hz5i1q456w6v2d10hl1lf15"; 1066 - }; 1067 description = "VBA-M libretro port with modifications for speed"; 1068 license = gpl2; 1069 }; 1070 1071 vba-m = mkLibRetroCore rec { 1072 core = "vbam"; 1073 - src = fetchRetro { 1074 - repo = core + "-libretro"; 1075 - rev = "7d88e045a2fe44e56b3f84846beec446b4c4b2d9"; 1076 - sha256 = "04f8adg99a36qkqhij54vkw5z18m5ld33p78lbmv8cxk7k7g7yhy"; 1077 - }; 1078 description = "vanilla VBA-M libretro port"; 1079 license = gpl2; 1080 makefile = "Makefile"; ··· 1083 1084 vecx = mkLibRetroCore rec { 1085 core = "vecx"; 1086 - src = fetchRetro { 1087 - repo = "libretro-" + core; 1088 - rev = "321205271b1c6be5dbdb8d309097a5b5c2032dbd"; 1089 - sha256 = "1w54394yhf2yqmq1b8wi5y7lvixc5hpjxpyiancrdbjd0af7pdvd"; 1090 - }; 1091 description = "Port of Vecx to libretro"; 1092 license = gpl3; 1093 }; 1094 1095 virtualjaguar = mkLibRetroCore rec { 1096 core = "virtualjaguar"; 1097 - src = fetchRetro { 1098 - repo = core + "-libretro"; 1099 - rev = "a162fb75926f5509f187e9bfc69958bced40b0a6"; 1100 - sha256 = "06k8xpn5y9rzmi2lwfw0v9v9pz4wvmpalycc608bw9cl39lmz10h"; 1101 - }; 1102 description = "Port of VirtualJaguar to libretro"; 1103 license = gpl3; 1104 makefile = "Makefile"; ··· 1106 1107 yabause = mkLibRetroCore rec { 1108 core = "yabause"; 1109 - src = fetchRetro { 1110 - repo = core; 1111 - rev = "9be109f9032afa793d2a79b837c4cc232cea5929"; 1112 - sha256 = "0aj862bs4dmnldy62wdssj5l63ibfkbzqvkxcqa3wyvdz4i367jc"; 1113 - }; 1114 description = "Port of Yabause to libretro"; 1115 license = gpl2; 1116 makefile = "Makefile";
··· 1 + { lib 2 + , stdenv 3 + , SDL 4 + , SDL2 5 + , alsa-lib 6 + , boost 7 + , buildPackages 8 + , cmake 9 + , curl 10 + , fetchFromGitHub 11 + , fetchgit 12 + , fetchpatch 13 + , ffmpeg 14 + , fluidsynth 15 + , gettext 16 + , hexdump 17 + , hidapi 18 + , icu 19 + , libGL 20 + , libGLU 21 + , libevdev 22 + , libjpeg 23 + , libpcap 24 + , libpng 25 + , libvorbis 26 + , libzip 27 + , makeWrapper 28 + , nasm 29 + , openssl 30 + , pcre 31 + , pkg-config 32 + , portaudio 33 + , python27 34 + , python3 35 + , retroarch 36 + , sfml 37 + , snappy 38 + , udev 39 + , which 40 + , xorg 41 + , zlib 42 + }: 43 44 let 45 46 + d2u = lib.replaceChars [ "-" ] [ "_" ]; 47 48 + mkLibRetroCore = 49 + { core 50 + , src 51 + , description 52 + , license 53 + , broken ? false 54 + , version ? "unstable-2021-11-16" 55 + , ... 56 + }@args: 57 + lib.makeOverridable stdenv.mkDerivation ((rec { 58 59 + name = "libretro-${core}-${version}"; 60 + inherit src version; 61 62 + buildInputs = [ zlib ] ++ args.extraBuildInputs or [ ]; 63 + nativeBuildInputs = [ makeWrapper ] ++ args.extraNativeBuildInputs or [ ]; 64 65 + makefile = "Makefile.libretro"; 66 + makeFlags = [ 67 + "platform=${{ 68 linux = "unix"; 69 darwin = "osx"; 70 windows = "win"; 71 }.${stdenv.hostPlatform.parsed.kernel.name} or stdenv.hostPlatform.parsed.kernel.name}" 72 + "ARCH=${{ 73 armv7l = "arm"; 74 armv6l = "arm"; 75 i686 = "x86"; 76 }.${stdenv.hostPlatform.parsed.cpu.name} or stdenv.hostPlatform.parsed.cpu.name}" 77 + ] ++ (args.makeFlags or [ ]); 78 79 + installPhase = '' 80 + COREDIR="$out/lib/retroarch/cores" 81 + mkdir -p $out/bin 82 + mkdir -p $COREDIR 83 + mv ${d2u args.core}_libretro${stdenv.hostPlatform.extensions.sharedLibrary} $COREDIR 84 + makeWrapper ${retroarch}/bin/retroarch $out/bin/retroarch-${core} \ 85 + --add-flags "-L $COREDIR/${d2u core}_libretro${stdenv.hostPlatform.extensions.sharedLibrary} $@" 86 + ''; 87 + 88 + passthru = { 89 + inherit core; 90 + libretroCore = "/lib/retroarch/cores"; 91 + }; 92 93 + meta = with lib; { 94 + inherit broken description license; 95 + homepage = "https://www.libretro.com/"; 96 + maintainers = with maintainers; [ edwtjo hrdinka MP2E ]; 97 + platforms = platforms.unix; 98 + }; 99 + }) // builtins.removeAttrs args [ "core" "src" "description" "license" "makeFlags" ]); 100 101 + hashesFile = builtins.fromJSON (builtins.readFile ./hashes.json); 102 103 + getCoreSrc = core: 104 + fetchFromGitHub (builtins.getAttr core hashesFile); 105 106 + in 107 + with lib.licenses; 108 109 { 110 111 atari800 = mkLibRetroCore rec { 112 core = "atari800"; 113 + src = getCoreSrc core; 114 description = "Port of Atari800 to libretro"; 115 license = gpl2; 116 makefile = "Makefile"; ··· 119 120 beetle-snes = mkLibRetroCore { 121 core = "mednafen-snes"; 122 + src = getCoreSrc "beetle-snes"; 123 description = "Port of Mednafen's SNES core to libretro"; 124 license = gpl2; 125 makefile = "Makefile"; ··· 127 128 beetle-gba = mkLibRetroCore { 129 core = "mednafen-gba"; 130 + src = getCoreSrc "beetle-gba"; 131 description = "Port of Mednafen's GameBoy Advance core to libretro"; 132 license = gpl2; 133 makefile = "Makefile"; ··· 135 136 beetle-lynx = mkLibRetroCore { 137 core = "mednafen-lynx"; 138 + src = getCoreSrc "beetle-lynx"; 139 description = "Port of Mednafen's Lynx core to libretro"; 140 license = gpl2; 141 makefile = "Makefile"; ··· 143 144 beetle-ngp = mkLibRetroCore { 145 core = "mednafen-ngp"; 146 + src = getCoreSrc "beetle-ngp"; 147 description = "Port of Mednafen's NeoGeo Pocket core to libretro"; 148 license = gpl2; 149 makefile = "Makefile"; 150 }; 151 152 + beetle-pce-fast = 153 + let drv = mkLibRetroCore { 154 + core = "mednafen-pce-fast"; 155 + src = getCoreSrc "beetle-pce-fast"; 156 + description = "Port of Mednafen's PC Engine core to libretro"; 157 + license = gpl2; 158 + makefile = "Makefile"; 159 + }; in 160 + drv.override { 161 + name = "beetle-pce-fast-${drv.version}"; 162 }; 163 164 beetle-pcfx = mkLibRetroCore rec { 165 core = "mednafen-pcfx"; 166 + src = getCoreSrc "beetle-pcfx"; 167 description = "Port of Mednafen's PCFX core to libretro"; 168 license = gpl2; 169 makefile = "Makefile"; 170 }; 171 172 + beetle-psx = let drv = (mkLibRetroCore { 173 core = "mednafen-psx"; 174 + src = getCoreSrc "beetle-psx"; 175 description = "Port of Mednafen's PSX Engine core to libretro"; 176 license = gpl2; 177 makefile = "Makefile"; 178 makeFlags = [ "HAVE_HW=0" "HAVE_LIGHTREC=1" ]; 179 + }); in 180 + drv.override { 181 + name = "beetle-psx-${drv.version}"; 182 + }; 183 184 + beetle-psx-hw = let drv = (mkLibRetroCore { 185 core = "mednafen-psx-hw"; 186 + src = getCoreSrc "beetle-psx"; 187 description = "Port of Mednafen's PSX Engine (with HW accel) core to libretro"; 188 license = gpl2; 189 extraBuildInputs = [ libGL libGLU ]; 190 makefile = "Makefile"; 191 makeFlags = [ "HAVE_VULKAN=1" "HAVE_OPENGL=1" "HAVE_HW=1" "HAVE_LIGHTREC=1" ]; 192 + }); in 193 + drv.override { 194 + name = "beetle-psx-hw-${drv.version}"; 195 + }; 196 197 + beetle-saturn = let drv = (mkLibRetroCore { 198 core = "mednafen-saturn"; 199 + src = getCoreSrc "beetle-saturn"; 200 description = "Port of Mednafen's Saturn core to libretro"; 201 license = gpl2; 202 makefile = "Makefile"; 203 makeFlags = [ "HAVE_HW=0" ]; 204 meta.platforms = [ "x86_64-linux" "aarch64-linux" ]; 205 + }); in 206 + drv.override { 207 + name = "beetle-saturn-${drv.version}"; 208 + }; 209 210 + beetle-saturn-hw = let drv = (mkLibRetroCore { 211 core = "mednafen-saturn-hw"; 212 + src = getCoreSrc "beetle-saturn"; 213 description = "Port of Mednafen's Saturn core to libretro"; 214 license = gpl2; 215 extraBuildInputs = [ libGL libGLU ]; 216 makefile = "Makefile"; 217 makeFlags = [ "HAVE_OPENGL=1" "HAVE_HW=1" ]; 218 meta.platforms = [ "x86_64-linux" "aarch64-linux" ]; 219 + }); in 220 + drv.override { 221 + name = "beetle-saturn-${drv.version}"; 222 + }; 223 224 beetle-supergrafx = mkLibRetroCore rec { 225 core = "mednafen-supergrafx"; 226 + src = getCoreSrc "beetle-supergrafx"; 227 description = "Port of Mednafen's SuperGrafx core to libretro"; 228 license = gpl2; 229 makefile = "Makefile"; ··· 231 232 beetle-wswan = mkLibRetroCore rec { 233 core = "mednafen-wswan"; 234 + src = getCoreSrc "beetle-wswan"; 235 description = "Port of Mednafen's WonderSwan core to libretro"; 236 license = gpl2; 237 makefile = "Makefile"; ··· 239 240 beetle-vb = mkLibRetroCore rec { 241 core = "mednafen-vb"; 242 + src = getCoreSrc "beetle-vb"; 243 description = "Port of Mednafen's VirtualBoy core to libretro"; 244 license = gpl2; 245 makefile = "Makefile"; ··· 247 248 bluemsx = mkLibRetroCore rec { 249 core = "bluemsx"; 250 + src = getCoreSrc core; 251 description = "Port of BlueMSX to libretro"; 252 license = gpl2; 253 }; 254 255 + bsnes-mercury = let bname = "bsnes-mercury"; in 256 + mkLibRetroCore { 257 + core = bname + "-accuracy"; 258 + src = getCoreSrc "bsnes-mercury"; 259 + description = "Fork of bsnes with HLE DSP emulation restored"; 260 + license = gpl3; 261 + makefile = "Makefile"; 262 + makeFlags = [ "PROFILE=accuracy" ]; 263 }; 264 265 citra = mkLibRetroCore rec { 266 core = "citra"; 267 + src = getCoreSrc core; 268 description = "Port of Citra to libretro"; 269 license = gpl2Plus; 270 extraNativeBuildInputs = [ cmake pkg-config ]; ··· 283 284 desmume = mkLibRetroCore rec { 285 core = "desmume"; 286 + src = getCoreSrc core; 287 description = "libretro wrapper for desmume NDS emulator"; 288 license = gpl2; 289 extraBuildInputs = [ libpcap libGLU libGL xorg.libX11 ]; 290 preBuild = "cd desmume/src/frontend/libretro"; 291 makeFlags = lib.optional stdenv.hostPlatform.isAarch32 "platform=armv-unix" 292 + ++ lib.optional (!stdenv.hostPlatform.isx86) "DESMUME_JIT=0"; 293 }; 294 295 desmume2015 = mkLibRetroCore rec { 296 core = "desmume2015"; 297 + src = getCoreSrc core; 298 description = "libretro wrapper for desmume NDS emulator from 2015"; 299 license = gpl2; 300 extraBuildInputs = [ libpcap libGLU libGL xorg.libX11 ]; 301 makeFlags = lib.optional stdenv.hostPlatform.isAarch32 "platform=armv-unix" 302 + ++ lib.optional (!stdenv.hostPlatform.isx86) "DESMUME_JIT=0"; 303 preBuild = "cd desmume"; 304 }; 305 306 + dolphin = mkLibRetroCore rec { 307 core = "dolphin"; 308 + src = getCoreSrc core; 309 description = "Port of Dolphin to libretro"; 310 license = gpl2Plus; 311 312 extraNativeBuildInputs = [ cmake curl pkg-config ]; 313 extraBuildInputs = [ 314 + libGLU 315 + libGL 316 + pcre 317 + sfml 318 + gettext 319 + hidapi 320 + libevdev 321 + udev 322 ] ++ (with xorg; [ libSM libX11 libXi libpthreadstubs libxcb xcbutil libXext libXrandr libXinerama libXxf86vm ]); 323 makefile = "Makefile"; 324 cmakeFlags = [ ··· 335 336 dosbox = mkLibRetroCore rec { 337 core = "dosbox"; 338 + src = getCoreSrc core; 339 description = "Port of DOSBox to libretro"; 340 license = gpl2; 341 }; 342 343 eightyone = mkLibRetroCore rec { 344 core = "81"; 345 + src = getCoreSrc "eightyone"; 346 description = "Port of EightyOne to libretro"; 347 license = gpl3; 348 }; 349 350 fbalpha2012 = mkLibRetroCore rec { 351 core = "fbalpha2012"; 352 + src = getCoreSrc core; 353 description = "Port of Final Burn Alpha ~2012 to libretro"; 354 license = "Non-commercial"; 355 makefile = "makefile.libretro"; ··· 358 359 fbneo = mkLibRetroCore rec { 360 core = "fbneo"; 361 + src = getCoreSrc core; 362 description = "Port of FBNeo to libretro"; 363 license = "Non-commercial"; 364 makefile = "Makefile"; ··· 371 372 fceumm = mkLibRetroCore rec { 373 core = "fceumm"; 374 + src = getCoreSrc core; 375 description = "FCEUmm libretro port"; 376 license = gpl2; 377 }; 378 379 flycast = mkLibRetroCore rec { 380 core = "flycast"; 381 + src = getCoreSrc core; 382 description = "Flycast libretro port"; 383 license = gpl2; 384 extraBuildInputs = [ libGL libGLU ]; ··· 389 390 fmsx = mkLibRetroCore rec { 391 core = "fmsx"; 392 + src = getCoreSrc core; 393 description = "FMSX libretro port"; 394 license = "Non-commercial"; 395 makefile = "Makefile"; ··· 397 398 freeintv = mkLibRetroCore rec { 399 core = "freeintv"; 400 + src = getCoreSrc core; 401 description = "FreeIntv libretro port"; 402 license = gpl3; 403 makefile = "Makefile"; ··· 405 406 gambatte = mkLibRetroCore rec { 407 core = "gambatte"; 408 + src = getCoreSrc core; 409 description = "Gambatte libretro port"; 410 license = gpl2; 411 }; 412 413 + genesis-plus-gx = mkLibRetroCore rec { 414 core = "genesis-plus-gx"; 415 + src = getCoreSrc core; 416 description = "Enhanced Genesis Plus libretro port"; 417 license = "Non-commercial"; 418 }; 419 420 gpsp = mkLibRetroCore rec { 421 core = "gpsp"; 422 + src = getCoreSrc core; 423 description = "Port of gpSP to libretro"; 424 license = gpl2; 425 makefile = "Makefile"; ··· 427 428 gw = mkLibRetroCore rec { 429 core = "gw"; 430 + src = getCoreSrc core; 431 description = "Port of Game and Watch to libretro"; 432 license = lib.licenses.zlib; 433 makefile = "Makefile"; ··· 435 436 handy = mkLibRetroCore rec { 437 core = "handy"; 438 + src = getCoreSrc core; 439 description = "Port of Handy to libretro"; 440 license = "Handy-License"; 441 makefile = "Makefile"; ··· 443 444 hatari = mkLibRetroCore rec { 445 core = "hatari"; 446 + src = getCoreSrc core; 447 description = "Port of Hatari to libretro"; 448 license = gpl2; 449 extraBuildInputs = [ SDL zlib ]; ··· 454 depsBuildBuild = [ buildPackages.stdenv.cc ]; 455 }; 456 457 + mame = mkLibRetroCore rec { 458 core = "mame"; 459 + src = getCoreSrc core; 460 description = "Port of MAME to libretro"; 461 license = gpl2Plus; 462 463 + extraBuildInputs = [ alsa-lib libGLU libGL portaudio python3 xorg.libX11 ]; 464 postPatch = '' 465 # Prevent the failure during the parallel building of: 466 # make -C 3rdparty/genie/build/gmake.linux -f genie.make obj/Release/src/host/lua-5.3.0/src/lgc.o ··· 471 472 mame2000 = mkLibRetroCore rec { 473 core = "mame2000"; 474 + src = getCoreSrc core; 475 description = "Port of MAME ~2000 to libretro"; 476 license = gpl2Plus; 477 makefile = "Makefile"; ··· 480 481 mame2003 = mkLibRetroCore rec { 482 core = "mame2003"; 483 + src = getCoreSrc core; 484 description = "Port of MAME ~2003 to libretro"; 485 license = gpl2Plus; 486 makefile = "Makefile"; ··· 488 489 mame2003-plus = mkLibRetroCore rec { 490 core = "mame2003-plus"; 491 + src = getCoreSrc core; 492 description = "Port of MAME ~2003+ to libretro"; 493 license = gpl2Plus; 494 makefile = "Makefile"; ··· 496 497 mame2010 = mkLibRetroCore rec { 498 core = "mame2010"; 499 + src = getCoreSrc core; 500 description = "Port of MAME ~2010 to libretro"; 501 license = gpl2Plus; 502 makefile = "Makefile"; ··· 505 506 mame2015 = mkLibRetroCore rec { 507 core = "mame2015"; 508 + src = getCoreSrc core; 509 description = "Port of MAME ~2015 to libretro"; 510 license = gpl2Plus; 511 extraNativeBuildInputs = [ python27 ]; ··· 515 516 mame2016 = mkLibRetroCore rec { 517 core = "mame2016"; 518 + src = getCoreSrc core; 519 patches = [ 520 (fetchpatch { 521 name = "fix_mame_build_on_make-4.3.patch"; ··· 536 537 mesen = mkLibRetroCore rec { 538 core = "mesen"; 539 + src = getCoreSrc core; 540 description = "Port of Mesen to libretro"; 541 license = gpl3; 542 makefile = "Makefile"; ··· 545 546 meteor = mkLibRetroCore rec { 547 core = "meteor"; 548 + src = getCoreSrc core; 549 description = "Port of Meteor to libretro"; 550 license = gpl3; 551 makefile = "Makefile"; ··· 554 555 mgba = mkLibRetroCore rec { 556 core = "mgba"; 557 + src = getCoreSrc core; 558 description = "Port of mGBA to libretro"; 559 license = mpl20; 560 }; 561 562 mupen64plus = mkLibRetroCore { 563 core = "mupen64plus-next"; 564 + src = getCoreSrc "mupen64plus"; 565 description = "Libretro port of Mupen64 Plus, GL only"; 566 license = gpl2; 567 ··· 571 572 neocd = mkLibRetroCore rec { 573 core = "neocd"; 574 + src = getCoreSrc core; 575 description = "NeoCD libretro port"; 576 license = gpl3; 577 makefile = "Makefile"; ··· 579 580 nestopia = mkLibRetroCore rec { 581 core = "nestopia"; 582 + src = getCoreSrc core; 583 description = "Nestopia libretro port"; 584 license = gpl2; 585 makefile = "Makefile"; ··· 588 589 np2kai = mkLibRetroCore rec { 590 core = "np2kai"; 591 + src = getCoreSrc core; 592 description = "Neko Project II kai libretro port"; 593 license = mit; 594 makefile = "Makefile.libretro"; 595 + makeFlags = [ 596 + # See https://github.com/AZO234/NP2kai/tags 597 + "NP2KAI_VERSION=rev.22" 598 + "NP2KAI_HASH=${src.rev}" 599 + ]; 600 + preBuild = "cd sdl"; 601 }; 602 603 o2em = mkLibRetroCore rec { 604 core = "o2em"; 605 + src = getCoreSrc core; 606 description = "Port of O2EM to libretro"; 607 license = artistic1; 608 makefile = "Makefile"; ··· 610 611 opera = mkLibRetroCore rec { 612 core = "opera"; 613 + src = getCoreSrc core; 614 description = "Opera is a port of 4DO/libfreedo to libretro"; 615 license = "Non-commercial"; 616 makefile = "Makefile"; ··· 619 620 parallel-n64 = mkLibRetroCore rec { 621 core = "parallel-n64"; 622 + src = getCoreSrc core; 623 description = "Parallel Mupen64plus rewrite for libretro."; 624 license = gpl2; 625 extraBuildInputs = [ libGLU libGL libpng ]; ··· 632 633 pcsx_rearmed = mkLibRetroCore rec { 634 core = "pcsx_rearmed"; 635 + src = getCoreSrc core; 636 description = "Port of PCSX ReARMed with GNU lightning to libretro"; 637 license = gpl2; 638 dontConfigure = true; ··· 640 641 picodrive = mkLibRetroCore rec { 642 core = "picodrive"; 643 + src = getCoreSrc core; 644 description = "Fast MegaDrive/MegaCD/32X emulator"; 645 license = "MAME"; 646 647 extraBuildInputs = [ libpng SDL ]; 648 SDL_CONFIG = "${SDL.dev}/bin/sdl-config"; 649 dontAddPrefix = true; 650 + configurePlatforms = [ ]; 651 makeFlags = lib.optional stdenv.hostPlatform.isAarch64 [ "platform=aarch64" ]; 652 }; 653 654 + play = mkLibRetroCore rec { 655 core = "play"; 656 + src = getCoreSrc core; 657 description = "Port of Play! to libretro"; 658 license = bsd2; 659 extraBuildInputs = [ boost ]; ··· 661 makefile = "Makefile"; 662 cmakeFlags = [ "-DBUILD_PLAY=OFF -DBUILD_LIBRETRO_CORE=ON" ]; 663 postBuild = "mv Source/ui_libretro/play_libretro${stdenv.hostPlatform.extensions.sharedLibrary} play_libretro${stdenv.hostPlatform.extensions.sharedLibrary}"; 664 + broken = true; # since 2021-01-03 665 }; 666 667 + ppsspp = mkLibRetroCore rec { 668 core = "ppsspp"; 669 + src = getCoreSrc core; 670 description = "ppsspp libretro port"; 671 license = gpl2; 672 extraNativeBuildInputs = [ cmake pkg-config python3 ]; ··· 678 679 prboom = mkLibRetroCore rec { 680 core = "prboom"; 681 + src = getCoreSrc core; 682 description = "Prboom libretro port"; 683 license = gpl2; 684 makefile = "Makefile"; ··· 686 687 prosystem = mkLibRetroCore rec { 688 core = "prosystem"; 689 + src = getCoreSrc core; 690 description = "Port of ProSystem to libretro"; 691 license = gpl2; 692 makefile = "Makefile"; 693 }; 694 695 + quicknes = mkLibRetroCore rec { 696 core = "quicknes"; 697 + src = getCoreSrc core; 698 description = "QuickNES libretro port"; 699 license = lgpl21Plus; 700 makefile = "Makefile"; ··· 702 703 sameboy = mkLibRetroCore rec { 704 core = "sameboy"; 705 + src = getCoreSrc core; 706 description = "SameBoy libretro port"; 707 license = mit; 708 extraNativeBuildInputs = [ which hexdump ]; ··· 712 713 scummvm = mkLibRetroCore rec { 714 core = "scummvm"; 715 + src = getCoreSrc core; 716 description = "Libretro port of ScummVM"; 717 license = gpl2; 718 extraBuildInputs = [ fluidsynth libjpeg libvorbis libGLU libGL SDL ]; ··· 722 723 smsplus-gx = mkLibRetroCore rec { 724 core = "smsplus"; 725 + src = getCoreSrc "smsplus-gx"; 726 description = "SMS Plus GX libretro port"; 727 license = gpl2Plus; 728 }; 729 730 snes9x = mkLibRetroCore rec { 731 core = "snes9x"; 732 + src = getCoreSrc core; 733 description = "Port of SNES9x git to libretro"; 734 license = "Non-commercial"; 735 makefile = "Makefile"; ··· 738 739 snes9x2002 = mkLibRetroCore rec { 740 core = "snes9x2002"; 741 + src = getCoreSrc core; 742 description = "Optimized port/rewrite of SNES9x 1.39 to Libretro"; 743 license = "Non-commercial"; 744 makefile = "Makefile"; ··· 746 747 snes9x2005 = mkLibRetroCore rec { 748 core = "snes9x2005"; 749 + src = getCoreSrc core; 750 description = "Optimized port/rewrite of SNES9x 1.43 to Libretro"; 751 license = "Non-commercial"; 752 makefile = "Makefile"; ··· 756 757 snes9x2010 = mkLibRetroCore rec { 758 core = "snes9x2010"; 759 + src = getCoreSrc core; 760 description = "Optimized port/rewrite of SNES9x 1.52+ to Libretro"; 761 license = "Non-commercial"; 762 }; 763 764 stella = mkLibRetroCore rec { 765 core = "stella"; 766 + src = getCoreSrc core; 767 description = "Port of Stella to libretro"; 768 license = gpl2; 769 extraBuildInputs = [ libpng pkg-config SDL ]; ··· 774 775 stella2014 = mkLibRetroCore rec { 776 core = "stella2014"; 777 + src = getCoreSrc core; 778 description = "Port of Stella to libretro"; 779 license = gpl2; 780 makefile = "Makefile"; ··· 782 783 tgbdual = mkLibRetroCore rec { 784 core = "tgbdual"; 785 + src = getCoreSrc core; 786 description = "Port of TGBDual to libretro"; 787 license = gpl2; 788 makefile = "Makefile"; ··· 790 791 thepowdertoy = mkLibRetroCore rec { 792 core = "thepowdertoy"; 793 + src = getCoreSrc core; 794 description = "Port of The Powder Toy to libretro"; 795 license = gpl3Only; 796 extraNativeBuildInputs = [ cmake ]; ··· 798 postBuild = "cd src/"; 799 }; 800 801 + tic80 = mkLibRetroCore rec { 802 core = "tic80"; 803 + src = getCoreSrc core; 804 description = "Port of TIC-80 to libretro"; 805 license = mit; 806 + extraNativeBuildInputs = [ cmake pkg-config libGL libGLU ]; 807 makefile = "Makefile"; 808 cmakeFlags = [ 809 "-DBUILD_LIBRETRO=ON" ··· 818 819 vba-next = mkLibRetroCore rec { 820 core = "vba-next"; 821 + src = getCoreSrc core; 822 description = "VBA-M libretro port with modifications for speed"; 823 license = gpl2; 824 }; 825 826 vba-m = mkLibRetroCore rec { 827 core = "vbam"; 828 + src = getCoreSrc "vba-m"; 829 description = "vanilla VBA-M libretro port"; 830 license = gpl2; 831 makefile = "Makefile"; ··· 834 835 vecx = mkLibRetroCore rec { 836 core = "vecx"; 837 + src = getCoreSrc core; 838 description = "Port of Vecx to libretro"; 839 license = gpl3; 840 + extraBuildInputs = [ libGL libGLU ]; 841 }; 842 843 virtualjaguar = mkLibRetroCore rec { 844 core = "virtualjaguar"; 845 + src = getCoreSrc core; 846 description = "Port of VirtualJaguar to libretro"; 847 license = gpl3; 848 makefile = "Makefile"; ··· 850 851 yabause = mkLibRetroCore rec { 852 core = "yabause"; 853 + src = getCoreSrc core; 854 description = "Port of Yabause to libretro"; 855 license = gpl2; 856 makefile = "Makefile";
+513
pkgs/misc/emulators/retroarch/hashes.json
···
··· 1 + { 2 + "atari800": { 3 + "owner": "libretro", 4 + "repo": "libretro-atari800", 5 + "rev": "478a8ec99a7f8436a39d5ac193c5fe313233ee7b", 6 + "sha256": "LJpRegJVR2+sS1UmTTpVest0rMrNDBMXmj/jRFVglWI=", 7 + "fetchSubmodules": false 8 + }, 9 + "beetle-snes": { 10 + "owner": "libretro", 11 + "repo": "beetle-bsnes-libretro", 12 + "rev": "bc867656d7438aaffc6818b3b92350587bc78a47", 13 + "sha256": "TyUCRGK+uyXowDjXW9/4m+zL8Vh/3GGsX1eznrTCbAg=", 14 + "fetchSubmodules": false 15 + }, 16 + "beetle-gba": { 17 + "owner": "libretro", 18 + "repo": "beetle-gba-libretro", 19 + "rev": "38182572571a48cb58057cde64b915237c4e2d58", 20 + "sha256": "4xnXWswozlcXBNI1lbGSNW/gAdIeLLO9Bf1SxOFLhSo=", 21 + "fetchSubmodules": false 22 + }, 23 + "beetle-lynx": { 24 + "owner": "libretro", 25 + "repo": "beetle-lynx-libretro", 26 + "rev": "b84c79b2f185482f9cec2b10f33cbe1bc5732dd9", 27 + "sha256": "pR3EsFN/Wf77gPoAnjf/nI0XlB2098qIrmbdjB4jmMQ=", 28 + "fetchSubmodules": false 29 + }, 30 + "beetle-ngp": { 31 + "owner": "libretro", 32 + "repo": "beetle-ngp-libretro", 33 + "rev": "f969af2b52f20642aea7e800e3cfcce728f3aee9", 34 + "sha256": "GIzLZ3iOJeHKdAowhM4S56iouaxX8v2XZgc/ZiCzCPk=", 35 + "fetchSubmodules": false 36 + }, 37 + "beetle-pce-fast": { 38 + "owner": "libretro", 39 + "repo": "beetle-pce-fast-libretro", 40 + "rev": "81d4c9d07a76c89c32ad0e7450b69bde6403836f", 41 + "sha256": "LhQbAEUMhoIF3VfwLbhtD7xxSddzdgwIHHnSabQPAvs=", 42 + "fetchSubmodules": false 43 + }, 44 + "beetle-pcfx": { 45 + "owner": "libretro", 46 + "repo": "beetle-pcfx-libretro", 47 + "rev": "a1f1734509dd6acb11269f118d61f480ae8dbacf", 48 + "sha256": "rvRDuYJLxb1TSwNXhp3ATJW0sQgWi8Cj4NR3hep/AJk=", 49 + "fetchSubmodules": false 50 + }, 51 + "beetle-psx": { 52 + "owner": "libretro", 53 + "repo": "beetle-psx-libretro", 54 + "rev": "ccca81930a078c0efd77b00327d2ee212698f3b4", 55 + "sha256": "Hy8Zrp0kTR+Mfbq0nVYerSarRCxZI+ykgDOscakDMiU=", 56 + "fetchSubmodules": false 57 + }, 58 + "beetle-saturn": { 59 + "owner": "libretro", 60 + "repo": "beetle-saturn-libretro", 61 + "rev": "e1119e91a4e3f4b30971455aeb3c1a6f4cd05e59", 62 + "sha256": "lKlNNAHK1ynFXY++Ya0m1Ax5YTZkd44eQjzuOLXfWa8=", 63 + "fetchSubmodules": false 64 + }, 65 + "beetle-supergrafx": { 66 + "owner": "libretro", 67 + "repo": "beetle-supergrafx-libretro", 68 + "rev": "59062662d6e925ad512fcbb9c1a0db97d1592bc1", 69 + "sha256": "kGyl5XJMFUALPAEZf4IynY6bmXWfqy0o65eO8zS0RTE=", 70 + "fetchSubmodules": false 71 + }, 72 + "beetle-wswan": { 73 + "owner": "libretro", 74 + "repo": "beetle-wswan-libretro", 75 + "rev": "0c7faaf7f70b72ebb68e310530cd46a69e680d40", 76 + "sha256": "UQyICcZe1DVotSFt0QVnGop+JG5NJwTBcGSZaFW0P0U=", 77 + "fetchSubmodules": false 78 + }, 79 + "beetle-vb": { 80 + "owner": "libretro", 81 + "repo": "beetle-vb-libretro", 82 + "rev": "1bd0da71c8f6add253ad76e2b6e1357cd09fc304", 83 + "sha256": "KguKbRK0uXE+brpF8HdRwi8Gt76AMa4wkh1MFvNCbN4=", 84 + "fetchSubmodules": false 85 + }, 86 + "bluemsx": { 87 + "owner": "libretro", 88 + "repo": "bluemsx-libretro", 89 + "rev": "cfc1df4d026387883f21994bcce603c4a6be8730", 90 + "sha256": "ix/AyYNer1R73ZJW1reXyj7geBr3ThrqXf5Ki5yrz9A=", 91 + "fetchSubmodules": false 92 + }, 93 + "bsnes-mercury": { 94 + "owner": "libretro", 95 + "repo": "bsnes-mercury", 96 + "rev": "d232c6ea90552f5921fec33a06626f08d3e18b24", 97 + "sha256": "fpl7hmqz+Ca+9ZeM6E1JSikbiu+NJUU8xXtyl6Dd9Gg=", 98 + "fetchSubmodules": false 99 + }, 100 + "citra": { 101 + "owner": "libretro", 102 + "repo": "citra", 103 + "rev": "b1959d07a340bfd9af65ad464fd19eb6799a96ef", 104 + "sha256": "Tw6Niba9gsZOMKGaXF9AZ5gdigB0mmFyqoRTMElM/Ps=", 105 + "fetchSubmodules": true 106 + }, 107 + "desmume": { 108 + "owner": "libretro", 109 + "repo": "desmume", 110 + "rev": "7ea0fc96804fcd9c8d33e8f76cf64b1be50cc5ea", 111 + "sha256": "4S/CirRVOBN6PVbato5X5fu0tBn3Fu5FEAbdf3TBqng=", 112 + "fetchSubmodules": false 113 + }, 114 + "desmume2015": { 115 + "owner": "libretro", 116 + "repo": "desmume2015", 117 + "rev": "cd89fb7c48c735cb321311fbce7e6e9889dda1ce", 118 + "sha256": "9Ou/n6pxRjJOp/Ybpyg4+Simosj2X26kLZCMEqeVL6U=", 119 + "fetchSubmodules": false 120 + }, 121 + "dolphin": { 122 + "owner": "libretro", 123 + "repo": "dolphin", 124 + "rev": "82e617439b622af5d1189e9fec67e7f1376be099", 125 + "sha256": "Q3a+0SYocX1hBGLs1K9r932NkiCDFINPhtHeyzUknJE=", 126 + "fetchSubmodules": false 127 + }, 128 + "dosbox": { 129 + "owner": "libretro", 130 + "repo": "dosbox-libretro", 131 + "rev": "aa71b67d54eaaf9e41cdd3cb5153d9cff0ad116e", 132 + "sha256": "L0Y67UROjldnXUlLQ+Xbd7RHLb96jDxlB/k+LR9Kbas=", 133 + "fetchSubmodules": false 134 + }, 135 + "eightyone": { 136 + "owner": "libretro", 137 + "repo": "81-libretro", 138 + "rev": "30344d3499fdb301ee33de136f7b390bebe0756a", 139 + "sha256": "kMwga9MkjV+dKxW3VLu+rxst6H20HhREoiNBsCLa1G0=", 140 + "fetchSubmodules": false 141 + }, 142 + "fbalpha2012": { 143 + "owner": "libretro", 144 + "repo": "fbalpha2012", 145 + "rev": "23f98fc7cf4f2f216149c263cf5913d2e28be8d4", 146 + "sha256": "dAInW6tTV7oXcPhKMnHWcmQaWQCTqRrYHD2yuaI1I1w=", 147 + "fetchSubmodules": false 148 + }, 149 + "fbneo": { 150 + "owner": "libretro", 151 + "repo": "fbneo", 152 + "rev": "4d6387b7f3e3f1a9c25015789d751c6db1a9ae8c", 153 + "sha256": "bIOmvhu9mOfOXoOTbwbjMHIZ3JkGz96yyFZALmqkOmk=", 154 + "fetchSubmodules": false 155 + }, 156 + "fceumm": { 157 + "owner": "libretro", 158 + "repo": "libretro-fceumm", 159 + "rev": "a918869c18c9f30b84e04260b78b675b8a3c7be1", 160 + "sha256": "nDYPrwIsvhWveDQDE0WEK7GO60iRE967p1XxXn+lNj4=", 161 + "fetchSubmodules": false 162 + }, 163 + "flycast": { 164 + "owner": "libretro", 165 + "repo": "flycast", 166 + "rev": "ae670ea28fdbb9f08149cb598312a71a0970ca67", 167 + "sha256": "jmSOfyak5mX04HgZOtCF9cz8HqAApxDXHJ6IqhqGILE=", 168 + "fetchSubmodules": false 169 + }, 170 + "fmsx": { 171 + "owner": "libretro", 172 + "repo": "fmsx-libretro", 173 + "rev": "20c805409b8f6e1f9d61cb3dff0d5b28d82d1ee3", 174 + "sha256": "uqqVF2+YpfWOKbe8aIreoImFb3/kL8ohslJkl+JivQI=", 175 + "fetchSubmodules": false 176 + }, 177 + "freeintv": { 178 + "owner": "libretro", 179 + "repo": "freeintv", 180 + "rev": "0058a09492c5c17a4fa59ebb3601ce66844b3b25", 181 + "sha256": "DA6eAl9ZR84Ow8rH9q/DVbEU83nmidwMy3kqk+hWWLQ=", 182 + "fetchSubmodules": false 183 + }, 184 + "gambatte": { 185 + "owner": "libretro", 186 + "repo": "gambatte-libretro", 187 + "rev": "4b822bcf561856689e101dd5505d365de5ffcffe", 188 + "sha256": "FsIQLd/UO5xs/aTpggSn8WLPgi83gsxRlwKR+UzH+TY=", 189 + "fetchSubmodules": false 190 + }, 191 + "genesis-plus-gx": { 192 + "owner": "libretro", 193 + "repo": "Genesis-Plus-GX", 194 + "rev": "309a4aacfd582c312dcad61b7abfdffba4a0c66e", 195 + "sha256": "jnbey1USldDZGXGXLLR5TgSJZgD+6ZFpwfIf6c8xvyM=", 196 + "fetchSubmodules": false 197 + }, 198 + "gpsp": { 199 + "owner": "libretro", 200 + "repo": "gpsp", 201 + "rev": "a2aa78733d8daf1d550c9dc76c6ff94e8670b31c", 202 + "sha256": "nKim7YkksUyZO97SvrW1TEYQlA+7Yi7xbLtyDPV4LWc=", 203 + "fetchSubmodules": false 204 + }, 205 + "gw": { 206 + "owner": "libretro", 207 + "repo": "gw-libretro", 208 + "rev": "0f1ccca156388880bf4507ad44741f80945dfc6f", 209 + "sha256": "BVpx8pL224J2u9W6UDrxzfEv4qIsh6wrf3bDdd1R850=", 210 + "fetchSubmodules": false 211 + }, 212 + "handy": { 213 + "owner": "libretro", 214 + "repo": "libretro-handy", 215 + "rev": "e7b4e32d5f32d6e96630072072844a7dd16a02d9", 216 + "sha256": "dQpEqxOcac7gdbmWu4HTvFx++us/spVMfroBlLTAgF0=", 217 + "fetchSubmodules": false 218 + }, 219 + "hatari": { 220 + "owner": "libretro", 221 + "repo": "hatari", 222 + "rev": "cea06eebf695b078fadc0e78bb0f2b2baaca799f", 223 + "sha256": "Z05IGubwdgg7X/e2ZG49zVfXuITM59HW/1gicdpDXls=", 224 + "fetchSubmodules": false 225 + }, 226 + "mame": { 227 + "owner": "libretro", 228 + "repo": "mame", 229 + "rev": "031ac783585e7d5156a6f87a9ba20d88caf94ad6", 230 + "sha256": "hLMQw5jvJTxojGwCY7iUDHcJdLZjcLzEDhW576TerJI=", 231 + "fetchSubmodules": false 232 + }, 233 + "mame2000": { 234 + "owner": "libretro", 235 + "repo": "mame2000-libretro", 236 + "rev": "4793742b457945afb74053c8a895e6ff0b36b033", 237 + "sha256": "DA9fZTic/jlYzSAIiOjfhohyEyQZiBNdIa8YCZoKZNs=", 238 + "fetchSubmodules": false 239 + }, 240 + "mame2003": { 241 + "owner": "libretro", 242 + "repo": "mame2003-libretro", 243 + "rev": "d0ed1a565803cfada9f4088326eae616f6e5f8a3", 244 + "sha256": "JGEy6Mp5qcZwaehzbj+qpdBfxHzqi6qIR7akxIj/WK8=", 245 + "fetchSubmodules": false 246 + }, 247 + "mame2003-plus": { 248 + "owner": "libretro", 249 + "repo": "mame2003-plus-libretro", 250 + "rev": "841e44dff953a346127f15be53cb34778e20ce1c", 251 + "sha256": "aCXyeDcz0uSObe4S2bQWCxIAF5aA3kne5v0HT+oXHuw=", 252 + "fetchSubmodules": false 253 + }, 254 + "mame2010": { 255 + "owner": "libretro", 256 + "repo": "mame2010-libretro", 257 + "rev": "932e6f2c4f13b67b29ab33428a4037dee9a236a8", 258 + "sha256": "HSZRSnc+0300UE9fPcUOMrXABlxHhTewkFPTqQ4Srxs=", 259 + "fetchSubmodules": false 260 + }, 261 + "mame2015": { 262 + "owner": "libretro", 263 + "repo": "mame2015-libretro", 264 + "rev": "ef41361dc9c88172617f7bbf6cd0ead4516a3c3f", 265 + "sha256": "HZrw9KKwYAJyU4NH1BEvuod/TK/nqjN03qJuSX8JP8o=", 266 + "fetchSubmodules": false 267 + }, 268 + "mame2016": { 269 + "owner": "libretro", 270 + "repo": "mame2016-libretro", 271 + "rev": "d53c379892b0bd91b4a52fc2de491e1199f03e32", 272 + "sha256": "GQ4Sdg/1nZRT4Z1Aqq1zPo96duqIGyt6sjghf9ap2Jg=", 273 + "fetchSubmodules": false 274 + }, 275 + "mesen": { 276 + "owner": "SourMesen", 277 + "repo": "mesen", 278 + "rev": "86326e832974d984846ae078e568c023a5f76f1f", 279 + "sha256": "At5rhlJ6rAnXaQrmRA1NtCCi+Ff/ytlt5dwsaXZhxXg=", 280 + "fetchSubmodules": false 281 + }, 282 + "meteor": { 283 + "owner": "libretro", 284 + "repo": "meteor-libretro", 285 + "rev": "e533d300d0561564451bde55a2b73119c768453c", 286 + "sha256": "zMkgzUz2rk0SD5ojY4AqaDlNM4k4QxuUxVBRBcn6TqQ=", 287 + "fetchSubmodules": false 288 + }, 289 + "mgba": { 290 + "owner": "libretro", 291 + "repo": "mgba", 292 + "rev": "033e067285745909722df930deaeead80ea2d54a", 293 + "sha256": "ZFmiVOf8H3PtSCWTtYc3XsIpiJI6XZ2v/HsusQsg7H8=", 294 + "fetchSubmodules": false 295 + }, 296 + "mupen64plus": { 297 + "owner": "libretro", 298 + "repo": "mupen64plus-libretro-nx", 299 + "rev": "018ee72b4fe247b38ed161033ad12a19bb936f00", 300 + "sha256": "vJz9S9lUgJp8O0NgJF6/EYymFqwZefvrT/HJLpMhgEk=", 301 + "fetchSubmodules": false 302 + }, 303 + "neocd": { 304 + "owner": "libretro", 305 + "repo": "neocd_libretro", 306 + "rev": "83d10f3be10fff2f28aa56fc674c687528cb7f5c", 307 + "sha256": "yYZGoMsUfE8cpU9i826UWQGi1l0zPJPcBDb2CINxGeQ=", 308 + "fetchSubmodules": false 309 + }, 310 + "nestopia": { 311 + "owner": "libretro", 312 + "repo": "nestopia", 313 + "rev": "ea6f1c0631bb62bf15ab96493127dd9cfaf74d1c", 314 + "sha256": "v+5000V1SR1sXWHryoZEi5sTgaRlVMrHmWKJX2stdSk=", 315 + "fetchSubmodules": false 316 + }, 317 + "np2kai": { 318 + "owner": "AZO234", 319 + "repo": "NP2kai", 320 + "rev": "3e8fedc7c1c6f68faa26589187512474a766ee9e", 321 + "sha256": "5bfh/aZOqfHz1x2s5AzZo4zq9qA4w10d9vYuuILdKJQ=", 322 + "fetchSubmodules": true 323 + }, 324 + "o2em": { 325 + "owner": "libretro", 326 + "repo": "libretro-o2em", 327 + "rev": "c039e83f2589cb9d21b9aa5dc211954234ab8c97", 328 + "sha256": "QQS4mS68C3aTZ4dw7ju6WyPlDjIBoDkIeQduCccAmDQ=", 329 + "fetchSubmodules": false 330 + }, 331 + "opera": { 332 + "owner": "libretro", 333 + "repo": "opera-libretro", 334 + "rev": "d8aa7cecf96298bd7ee51718086f7b1bc8c57e2a", 335 + "sha256": "1t+zwCVmqiPFFNCNq9XzVfRGbEA1q8v4jzhOb+wV/nA=", 336 + "fetchSubmodules": false 337 + }, 338 + "parallel-n64": { 339 + "owner": "libretro", 340 + "repo": "parallel-n64", 341 + "rev": "0a67445ce63513584d92e5c57ea87efe0da9b3bd", 342 + "sha256": "rms+T8JOp/TJ/T5a5uLj8lu1LLz/GAsJZ7UbK42C9yU=", 343 + "fetchSubmodules": false 344 + }, 345 + "pcsx_rearmed": { 346 + "owner": "libretro", 347 + "repo": "pcsx_rearmed", 348 + "rev": "589bd99ba31de8216624dbf0cbbc016f0663ce3d", 349 + "sha256": "6OtsWXTo6ca0M/cofpvWPEd0Tqy3XDa8vaa7OUTxnMU=", 350 + "fetchSubmodules": false 351 + }, 352 + "picodrive": { 353 + "owner": "libretro", 354 + "repo": "picodrive", 355 + "rev": "9cb99ce36f93871b05c5adc2790b2e33e63b50b6", 356 + "sha256": "hhdEuri1hSNLAkno8Rwd0Yls11Yh6Q7/+t4T2LH+BaE=", 357 + "fetchSubmodules": true 358 + }, 359 + "play": { 360 + "owner": "libretro", 361 + "repo": "Play-", 362 + "rev": "884ae3b96c631f235cd18b2643d1f318fa6951fb", 363 + "sha256": "zK1GRt3Rp9DsGmr0EvRfI/F1FzHc/afjFsATKIGYN1U=", 364 + "fetchSubmodules": true 365 + }, 366 + "ppsspp": { 367 + "owner": "hrydgard", 368 + "repo": "ppsspp", 369 + "rev": "b6e7fe1aaf2bbb8f4faa1378bf14f434aea33cc1", 370 + "sha256": "Kif6oF8Bjhgc02xKDivCG9RBxj5wxNFEwxl9nX3AZug=", 371 + "fetchSubmodules": true 372 + }, 373 + "prboom": { 374 + "owner": "libretro", 375 + "repo": "libretro-prboom", 376 + "rev": "0f5927db4fb7e61f32bc9eccc5f809e54f71a371", 377 + "sha256": "DFpDxEUHjuCcHQGxT+impj98vYITeok1SHrRN5Hba4M=", 378 + "fetchSubmodules": false 379 + }, 380 + "prosystem": { 381 + "owner": "libretro", 382 + "repo": "prosystem-libretro", 383 + "rev": "f8652c7f2b0edc81685d03204d4963fc4ea9eccd", 384 + "sha256": "Ki4Dyb//X8isP0tScqunA/qt2vkX6d2HH7rHhqk3D5k=", 385 + "fetchSubmodules": false 386 + }, 387 + "quicknes": { 388 + "owner": "libretro", 389 + "repo": "QuickNES_Core", 390 + "rev": "71b8000b33daab8ed488f8707ccd8d5b623443f8", 391 + "sha256": "Wx8nFWy0DQaZlhEMiI2KRwBK0earSVSke7/qXbs0bQ0=", 392 + "fetchSubmodules": false 393 + }, 394 + "sameboy": { 395 + "owner": "libretro", 396 + "repo": "sameboy", 397 + "rev": "68f67b3db7747ba7aac84c5c253bc71d5a906525", 398 + "sha256": "/4JQ1Tem3UgOUIcsLV0aLU+1R55hMTaT+wWElwj00Q4=", 399 + "fetchSubmodules": false 400 + }, 401 + "scummvm": { 402 + "owner": "libretro", 403 + "repo": "scummvm", 404 + "rev": "63e57573a9ffe71a1083ff46d9cd210203b87afb", 405 + "sha256": "LTFe8HIX9OSJuJj5YfPigrPAE8nrbSpDckh0hj3w52s=", 406 + "fetchSubmodules": false 407 + }, 408 + "smsplus-gx": { 409 + "owner": "libretro", 410 + "repo": "smsplus-gx", 411 + "rev": "3f1ffede55bcfe0168caa484a00bf041ab591abf", 412 + "sha256": "fD+grzMPk4uXvmzGf+f9Mor0eefBLHIumCydsSHUsck=", 413 + "fetchSubmodules": false 414 + }, 415 + "snes9x": { 416 + "owner": "snes9xgit", 417 + "repo": "snes9x", 418 + "rev": "edc32fc0bd6aea6d5645a03f0f94b72f3cbfa43e", 419 + "sha256": "Zeojdoykmk+lpG1z5EdZToGWYDQvSSQqaEr7F68iyk0=", 420 + "fetchSubmodules": false 421 + }, 422 + "snes9x2002": { 423 + "owner": "libretro", 424 + "repo": "snes9x2002", 425 + "rev": "e16cb16efa00765b1bc3b8fee195680efb1542c7", 426 + "sha256": "0dhLpNy+NUE3mE/ejEwbq3G28/a2HONS5NPslI5LOEc=", 427 + "fetchSubmodules": false 428 + }, 429 + "snes9x2005": { 430 + "owner": "libretro", 431 + "repo": "snes9x2005", 432 + "rev": "88a46f7c085f6e2accc4c777e264b9b5cd41cf0e", 433 + "sha256": "5wVKK3xhCXkvonwQRyVtd8Afggb0gv8Sv7PEYkDfKRE=", 434 + "fetchSubmodules": false 435 + }, 436 + "snes9x2010": { 437 + "owner": "libretro", 438 + "repo": "snes9x2010", 439 + "rev": "714b1c8e08c7580430190119b07e793405773ac2", 440 + "sha256": "yKSQEE+lT4V2V1XqemfziHuIt79TcvC0ranU9ounTXo=", 441 + "fetchSubmodules": false 442 + }, 443 + "stella": { 444 + "owner": "stella-emu", 445 + "repo": "stella", 446 + "rev": "e1035b74fce26932078d00e8625688927efce34c", 447 + "sha256": "+ZvSCnnoKGyToSFqUQOArolFdgUcBBFNjFw8aoVDkYI=", 448 + "fetchSubmodules": false 449 + }, 450 + "stella2014": { 451 + "owner": "libretro", 452 + "repo": "stella2014-libretro", 453 + "rev": "934c7a2a44ef038af529b68950ddba4f7ea3478e", 454 + "sha256": "s7LQ47sAPTyk4COONk4qnebxCq78zGLIjh3Y2+1fIak=", 455 + "fetchSubmodules": false 456 + }, 457 + "tgbdual": { 458 + "owner": "libretro", 459 + "repo": "tgbdual-libretro", 460 + "rev": "1e0c4f931d8c5e859e6d3255d67247d7a2987434", 461 + "sha256": "0wHv9DpKuzJ/q5vERqCo4GBLre2ggClBIWSjGnMLQq8=", 462 + "fetchSubmodules": false 463 + }, 464 + "thepowdertoy": { 465 + "owner": "libretro", 466 + "repo": "ThePowderToy", 467 + "rev": "ac620c0a89a18774c3ad176a8a1bc596df23ff57", 468 + "sha256": "C/X1DbmnucRddemEYml2zN3qr5yoXY3b+nvqfpboS0M=", 469 + "fetchSubmodules": false 470 + }, 471 + "tic80": { 472 + "owner": "libretro", 473 + "repo": "tic-80", 474 + "rev": "bd03e6a548676745e81fa95e60b233b5a56420c2", 475 + "sha256": "SXJvWX6Q3BrdajNnT4HIf6H2z7dXXvnXTJXf/TYRw4I=", 476 + "fetchSubmodules": true 477 + }, 478 + "vba-next": { 479 + "owner": "libretro", 480 + "repo": "vba-next", 481 + "rev": "b218f48bb27b5d3885fa4076ff325922b5acd817", 482 + "sha256": "idqGMbMA9mZlIh0QAba3BxpPDi/bFJJkUbnxV3xMOCo=", 483 + "fetchSubmodules": false 484 + }, 485 + "vba-m": { 486 + "owner": "libretro", 487 + "repo": "vbam-libretro", 488 + "rev": "254f6effebe882b7d3d29d9e417c6aeeabc08026", 489 + "sha256": "vJWjdqJ913NLGL4G15sRPqO/wp9xPsuhUMLUuAbDRKk=", 490 + "fetchSubmodules": false 491 + }, 492 + "vecx": { 493 + "owner": "libretro", 494 + "repo": "libretro-vecx", 495 + "rev": "28d6efc8972313903d0802a736ff8c3bc115e78f", 496 + "sha256": "VYa8s+HB8IYF+HS6SA+sO5DzpgCtnMGrh88KTVNGICY=", 497 + "fetchSubmodules": false 498 + }, 499 + "virtualjaguar": { 500 + "owner": "libretro", 501 + "repo": "virtualjaguar-libretro", 502 + "rev": "d1b1b28a6ad2518b746e3f7537ec6d66db96ec57", 503 + "sha256": "Io25dt80fqIqIxwzF2DK9J5UFz6YCUQoqThcIuxdEBo=", 504 + "fetchSubmodules": false 505 + }, 506 + "yabause": { 507 + "owner": "libretro", 508 + "repo": "yabause", 509 + "rev": "811f9e81dbff4bed18644e19631fd4893e73e6ee", 510 + "sha256": "VstPh0oMEZ7/ts58NjZxBYZZx/7dRTYePhDIQMu0WOo=", 511 + "fetchSubmodules": false 512 + } 513 + }