Created attachment 212511 [details] Libretro cores to be used with compatible emulators. This is a collection of 48 ports that I manage to build and test of libretro cores. I've started based on the old gmes/libretro-cores pack, but I think having individual ports better because you can choose to compile only what you really need. All cores was tested with at least 1 to 3 games each (depending on the support, etc). It needs a compatible libretro emulator to work (such as retroarch) Here's a list: libretro-2048 - 2048 puzzle libretro-beetle_bsnes - Nintendo SNES emulator from Mednafen libretro-beetle_gba - Nintendo Gameboy Advance emulator from Mednafen libretro-beetle_lynx - Atari Lynx emulator from Mednafen libretro-beetle_ngp - Neogeo Pocket emulator from Mednafen libretro-beetle_pce_fast - NEC PC Engine emulator from Mednafen libretro-beetle_pcfx - NEC PCFX emulator from Mednafen libretro-beetle_psx - Sony Playstation emulator from Mednafen libretro-beetle_supergrafx - NEC Supergrafx emulator from Mednafen libretro-beetle_vb - Nintendo Virtual Boy emulator from Mednafen libretro-beetle_wswan - Bandai Wonderswan emulator from Mednafen libretro-bluemsx - MSX emulator libretro-desmume2015 - Nintendo DS emulator libretro-dosbox - MS-DOS emulator libretro-emux - Emulator project support a couple of 8bit platforms libretro-fbalpha - Final Burn Alpha, arcade emulator libretro-fceumm - Nintendo NES emulator libretro-fuse - ZX Spectrum emulator libretro-gambatte - Nintendo Gameboy Color Emulator libretro-genesis_plus_gx - Sega 8 and 16 bit multi-emulator libretro-gpsp - Nintendo Gameboy emulator libretro-gw - Nintendo Game & Watch emulator libretro-handy - Atari Lynx emulator libretro-hatari - Atari ST/STE/TT/Falcon emulator libretro-mame2000 - Multiple Arcade Machine Emulator (0.37b5) libretro-mame2003 - Multiple Arcade Machine Emulator (0.78) libretro-mame2003_plus - Multiple Arcade Machine Emulator (0.78 with extra games) libretro-mgba - Nintendo Gameboy Advance emulator libretro-nestopia - Nintendo NES emulator libretro-nxengine - Cave Story engine libretro-o2em - Magnavox Odyssey 2 / Phillips Videopac emulator libretro-opera - Panasonic 3DO emulator libretro-pcsx_rearmed - Sony Playstion 1 emulator libretro-picodrive - Sega 8 and 16 bit multi-emulator libretro-prboom - Doom engine libretro-prosystem - Atari 7800 / Prosystem emulator libretro-quicknes - Nintendo NES emulator libretro-scummvm - SCUMMVM backend libretro-snes9x - Nintendo SNES emulator (Trunk) libretro-snes9x2005 - Nintendo SNES emulator (1.43) libretro-snes9x2010 - Nintendo SNES emulator (1.52) libretro-stella2014 - Atari 2600 emulator libretro-tgbdual - Nintendo Game Boy / Game Boy Color emulator libretro-tyrquake - Quake engine libretro-uae - Commodore Amiga emulator libretro-vbanext - Nintendo Game Boy Advance emulator libretro-vecx - GCE Vectrex emulator libretro-virtualjaguar - Atari Jaguar emulator
Hello, Thanks for your contribution. Please, can you add [pkg-plist](https://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/book.html#porting-desc) in all ports? How did you test this software (with games/retroarch?)? Maybe we should add a meta port, what do you think games@ ?
(In reply to Loïc Bartoletti from comment #1) Most ports have pkg-descr, unless I've missed something when I've created the file. I usually test with one rom to see if it works as a core, I didn't tested with poudriere thought. I was thinking about a meta, but I still not sure what is the best practice for that.
(In reply to Loïc Bartoletti from comment #1) My bad, I was sleepy. I miss pkg-plist on them, I'll fix that.
Created attachment 213412 [details] Added pkg-plists * Added pkg-plist on all cores * Fixed the compiler option for libretro-opera
Hmm it's looks like your attachement is not complete
Created attachment 213413 [details] libretro-cores Fixed.
I tested with poudriere and there is some failed or ignored ports: [03:04:59] Failed ports: games/libretro-mame2003:fetch games/libretro-uae:build games/libretro-opera:build [03:04:59] Ignored ports: games/libretro-snes9x2010 games/libretro-genesis_plus_gx games/libretro-snes9x games/libretro-snes9x2005 games/libretro-fbalpha
Created attachment 213442 [details] error: libretro-mame
Created attachment 213443 [details] error: libretro-opera
Created attachment 213444 [details] error: libretro-uae
Created attachment 213445 [details] ignored: libretro-snes9x2005
Created attachment 213446 [details] ignored: libretro-snes9x2010
Created attachment 213447 [details] ignored: libretro-snes9x
Created attachment 213449 [details] ignored: libretro-fbalpha
Created attachment 213450 [details] ignored: libretro-genesis_plus_gx
For ignored ports, it's a problem with the LICENSE. But I think you can add LICENSE_PERMS= dist-mirror pkg-mirror auto-accept and NO_CDROM= Commercial users must seek permission from copyright holders. As emulators/snes9x does.
Created attachment 213492 [details] libretro-cores-v3 I've addressed the issues and checked for some extra issues with portlint to make everything perfect. Some notes about the patches: libretro-mame2003: The issue libretro-mame2003 had is with github itself. I've tested yesterday and had the same issue, the download doesn't complete no matter how many times you try. Sometimes it even downloads the file and corrupts at some point, making the checksum invalid. I've tested the same port without any extra modifications and now it works. It's not the first time this happened to me. libretro-opera: Fixed. It needs gcc9 to work. libretro-uae: Not sure where is the problem, it compiles to me. I've investigated a lot, the software generate some warnings but nothing that makes the compilation stops like your log. Not sure what is wrong, should I delete this port or try some early revision?
(In reply to Daniel Menelkir from comment #17) Thanks! I'll take a look and open a review soon.
Created attachment 213521 [details] libretro_uae fixed This is the libretro-uae ports fixed. Some comments: - USE compiler:gcc-c++11-lib instead of the compiler block - do-build is automatic since you have a Makefile - you can use PLIST_FILES= ..../myport_libretro.so instead of a pkg-plist files since you havec one line only Can you please make the same changes for the other ports? Thanks FYI: libretro-mame works today.
(In reply to Loïc Bartoletti from comment #19) I'm doing the changes. About the do-build it's because the cores vary a lot what Makefile in source should be used, sometimes is Makefile.libretro, Makefile, makefile, etc. I wasn't sure what is the best practice for that, if using this or creating a patch with a Makefile.freebsd pointing to the right option.
Created attachment 213535 [details] libretro-cores-v4 Here's my changes: I've bumped some beetle cores to newer commits because of some changes in upstream. Hope you don't mind. Added PLIST_FILES and removed pkg-plist files. I've also revised every single port to check it out if everything is fine. Tested if builds and runs.
(In reply to Daniel Menelkir from comment #21) Many thanks! All ports are built in poudriere per 11/12/HEAD i386/amd64 (except libretro-snes9x on FreeBSD 11 but I'll add a BROKEN message) I'll open a review.
Created attachment 213570 [details] libretro-model (2048) Sorry, a comment about some Makefile. Use compiler:gcc-c++11-lib instead of : c++-lib and # Avoid a lot of patching for 9. .if ${CHOSEN_COMPILER_TYPE} == gcc USE_CXXSTD= gnu++11 .endif Remove do-build, print-upstream-revisions and print-updated-revisions. Especially do-build if the name of Makefile is different than Makefile you can specify it. For example MAKEFILE= Makefile.libretro Remove .include <bsd.port.pre.mk> and .include <bsd.port.post.mk> And only use .include <bsd.port.mk> at end of the file. Thanks
Created attachment 213579 [details] libretro-cores-v5 (In reply to Loïc Bartoletti from comment #23) Done. Tested with portlint and build to check if everything is fine.
Created attachment 213620 [details] libretro-cores.shar I've created a meta, so I've made a separated shar with only the meta, since you've already posted a review (and I'm waiting moderator approval on reviews).
A commit references this bug: Author: lbartoletti Date: Wed Apr 29 05:28:07 UTC 2020 New revision: 533314 URL: https://svnweb.freebsd.org/changeset/ports/533314 Log: [NEW PORTS]: games/libretro-* libretro cores for compatible emulators Libretro is a simple API that allows for the creation of games and emulators. It needs a compatible libretro emulator to work (such as retroarch). This is a collection of 48 ports and a meta port to play retrogames. libretro - meta port for libretro cores libretro-2048 - 2048 puzzle libretro-beetle_bsnes - Nintendo SNES emulator from Mednafen libretro-beetle_gba - Nintendo Gameboy Advance emulator from Mednafen libretro-beetle_lynx - Atari Lynx emulator from Mednafen libretro-beetle_ngp - Neogeo Pocket emulator from Mednafen libretro-beetle_pce_fast - NEC PC Engine emulator from Mednafen libretro-beetle_pcfx - NEC PCFX emulator from Mednafen libretro-beetle_psx - Sony Playstation emulator from Mednafen libretro-beetle_supergrafx - NEC Supergrafx emulator from Mednafen libretro-beetle_vb - Nintendo Virtual Boy emulator from Mednafen libretro-beetle_wswan - Bandai Wonderswan emulator from Mednafen libretro-bluemsx - MSX emulator libretro-desmume2015 - Nintendo DS emulator libretro-dosbox - MS-DOS emulator libretro-emux - Emulator project support a couple of 8bit platforms libretro-fbalpha - Final Burn Alpha, arcade emulator libretro-fceumm - Nintendo NES emulator libretro-fuse - ZX Spectrum emulator libretro-gambatte - Nintendo Gameboy Color Emulator libretro-genesis_plus_gx - Sega 8 and 16 bit multi-emulator libretro-gpsp - Nintendo Gameboy emulator libretro-gw - Nintendo Game & Watch emulator libretro-handy - Atari Lynx emulator libretro-hatari - Atari ST/STE/TT/Falcon emulator libretro-mame2000 - Multiple Arcade Machine Emulator (0.37b5) libretro-mame2003 - Multiple Arcade Machine Emulator (0.78) libretro-mame2003_plus - Multiple Arcade Machine Emulator (0.78 with extra games) libretro-mgba - Nintendo Gameboy Advance emulator libretro-nestopia - Nintendo NES emulator libretro-nxengine - Cave Story engine libretro-o2em - Magnavox Odyssey 2 / Phillips Videopac emulator libretro-opera - Panasonic 3DO emulator libretro-pcsx_rearmed - Sony Playstion 1 emulator libretro-picodrive - Sega 8 and 16 bit multi-emulator libretro-prboom - Doom engine libretro-prosystem - Atari 7800 / Prosystem emulator libretro-quicknes - Nintendo NES emulator libretro-scummvm - SCUMMVM backend libretro-snes9x - Nintendo SNES emulator (Trunk) libretro-snes9x2005 - Nintendo SNES emulator (1.43) libretro-snes9x2010 - Nintendo SNES emulator (1.52) libretro-stella2014 - Atari 2600 emulator libretro-tgbdual - Nintendo Game Boy / Game Boy Color emulator libretro-tyrquake - Quake engine libretro-uae - Commodore Amiga emulator libretro-vbanext - Nintendo Game Boy Advance emulator libretro-vecx - GCE Vectrex emulator libretro-virtualjaguar - Atari Jaguar emulator PR: 244897 Submitted by: Daniel Menelkir <menelkir@itroll.org> Approved by: tcberner (mentor) Differential Revision: https://reviews.freebsd.org/D24516 Changes: head/LEGAL head/games/Makefile head/games/libretro/ head/games/libretro/Makefile head/games/libretro/pkg-descr head/games/libretro-2048/ head/games/libretro-2048/Makefile head/games/libretro-2048/distinfo head/games/libretro-2048/pkg-descr head/games/libretro-beetle_bsnes/ head/games/libretro-beetle_bsnes/Makefile head/games/libretro-beetle_bsnes/distinfo head/games/libretro-beetle_bsnes/files/ head/games/libretro-beetle_bsnes/files/patch-mednafen_snes_src_lib_libco_aarch64.c head/games/libretro-beetle_bsnes/pkg-descr head/games/libretro-beetle_gba/ head/games/libretro-beetle_gba/Makefile head/games/libretro-beetle_gba/distinfo head/games/libretro-beetle_gba/pkg-descr head/games/libretro-beetle_lynx/ head/games/libretro-beetle_lynx/Makefile head/games/libretro-beetle_lynx/distinfo head/games/libretro-beetle_lynx/pkg-descr head/games/libretro-beetle_ngp/ head/games/libretro-beetle_ngp/Makefile head/games/libretro-beetle_ngp/distinfo head/games/libretro-beetle_ngp/pkg-descr head/games/libretro-beetle_pce_fast/ head/games/libretro-beetle_pce_fast/Makefile head/games/libretro-beetle_pce_fast/distinfo head/games/libretro-beetle_pce_fast/pkg-descr head/games/libretro-beetle_pcfx/ head/games/libretro-beetle_pcfx/Makefile head/games/libretro-beetle_pcfx/distinfo head/games/libretro-beetle_pcfx/files/ head/games/libretro-beetle_pcfx/files/patch-libretro-common_rthreads_rthreads.c head/games/libretro-beetle_pcfx/pkg-descr head/games/libretro-beetle_psx/ head/games/libretro-beetle_psx/Makefile head/games/libretro-beetle_psx/distinfo head/games/libretro-beetle_psx/files/ head/games/libretro-beetle_psx/files/patch-libretro-common_rthreads_rthreads.c head/games/libretro-beetle_psx/pkg-descr head/games/libretro-beetle_supergrafx/ head/games/libretro-beetle_supergrafx/Makefile head/games/libretro-beetle_supergrafx/distinfo head/games/libretro-beetle_supergrafx/pkg-descr head/games/libretro-beetle_vb/ head/games/libretro-beetle_vb/Makefile head/games/libretro-beetle_vb/distinfo head/games/libretro-beetle_vb/pkg-descr head/games/libretro-beetle_wswan/ head/games/libretro-beetle_wswan/Makefile head/games/libretro-beetle_wswan/distinfo head/games/libretro-beetle_wswan/pkg-descr head/games/libretro-bluemsx/ head/games/libretro-bluemsx/Makefile head/games/libretro-bluemsx/distinfo head/games/libretro-bluemsx/pkg-descr head/games/libretro-desmume2015/ head/games/libretro-desmume2015/Makefile head/games/libretro-desmume2015/distinfo head/games/libretro-desmume2015/files/ head/games/libretro-desmume2015/files/patch-Makefile.freebsd head/games/libretro-desmume2015/files/patch-desmume_src_libretro-common_rthreads_rthreads.c head/games/libretro-desmume2015/pkg-descr head/games/libretro-dosbox/ head/games/libretro-dosbox/Makefile head/games/libretro-dosbox/distinfo head/games/libretro-dosbox/files/ head/games/libretro-dosbox/files/patch-libretro-common_libco_aarch64.c head/games/libretro-dosbox/pkg-descr head/games/libretro-emux/ head/games/libretro-emux/Makefile head/games/libretro-emux/distinfo head/games/libretro-emux/files/ head/games/libretro-emux/files/patch-Makefile.freebsd head/games/libretro-emux/files/patch-emux_libretro_Makefile.bsd head/games/libretro-emux/files/patch-libretro_Makefile.bsd head/games/libretro-emux/pkg-descr head/games/libretro-fbalpha/ head/games/libretro-fbalpha/Makefile head/games/libretro-fbalpha/distinfo head/games/libretro-fbalpha/files/ head/games/libretro-fbalpha/files/patch-Makefile.freebsd head/games/libretro-fbalpha/pkg-descr head/games/libretro-fceumm/ head/games/libretro-fceumm/Makefile head/games/libretro-fceumm/distinfo head/games/libretro-fceumm/pkg-descr head/games/libretro-fuse/ head/games/libretro-fuse/Makefile head/games/libretro-fuse/distinfo head/games/libretro-fuse/pkg-descr head/games/libretro-gambatte/ head/games/libretro-gambatte/Makefile head/games/libretro-gambatte/distinfo head/games/libretro-gambatte/pkg-descr head/games/libretro-genesis_plus_gx/ head/games/libretro-genesis_plus_gx/Makefile head/games/libretro-genesis_plus_gx/distinfo head/games/libretro-genesis_plus_gx/pkg-descr head/games/libretro-gpsp/ head/games/libretro-gpsp/Makefile head/games/libretro-gpsp/distinfo head/games/libretro-gpsp/files/ head/games/libretro-gpsp/files/patch-libco_aarch64.c head/games/libretro-gpsp/pkg-descr head/games/libretro-gw/ head/games/libretro-gw/Makefile head/games/libretro-gw/distinfo head/games/libretro-gw/pkg-descr head/games/libretro-handy/ head/games/libretro-handy/Makefile head/games/libretro-handy/distinfo head/games/libretro-handy/pkg-descr head/games/libretro-hatari/ head/games/libretro-hatari/Makefile head/games/libretro-hatari/distinfo head/games/libretro-hatari/files/ head/games/libretro-hatari/files/patch-libretro_libretro-sdk_libco_aarch64.c head/games/libretro-hatari/files/patch-libretro_libretro-sdk_rthreads_rthreads.c head/games/libretro-hatari/pkg-descr head/games/libretro-mame2000/ head/games/libretro-mame2000/Makefile head/games/libretro-mame2000/distinfo head/games/libretro-mame2000/files/ head/games/libretro-mame2000/files/patch-src_libretro_libretro-common_libco_aarch64.c head/games/libretro-mame2000/pkg-descr head/games/libretro-mame2003/ head/games/libretro-mame2003/Makefile head/games/libretro-mame2003/distinfo head/games/libretro-mame2003/pkg-descr head/games/libretro-mame2003_plus/ head/games/libretro-mame2003_plus/Makefile head/games/libretro-mame2003_plus/distinfo head/games/libretro-mame2003_plus/pkg-descr head/games/libretro-mgba/ head/games/libretro-mgba/Makefile head/games/libretro-mgba/distinfo head/games/libretro-mgba/pkg-descr head/games/libretro-nestopia/ head/games/libretro-nestopia/Makefile head/games/libretro-nestopia/distinfo head/games/libretro-nestopia/files/ head/games/libretro-nestopia/files/patch-Makefile.freebsd head/games/libretro-nestopia/pkg-descr head/games/libretro-nxengine/ head/games/libretro-nxengine/Makefile head/games/libretro-nxengine/distinfo head/games/libretro-nxengine/pkg-descr head/games/libretro-o2em/ head/games/libretro-o2em/Makefile head/games/libretro-o2em/distinfo head/games/libretro-o2em/pkg-descr head/games/libretro-opera/ head/games/libretro-opera/Makefile head/games/libretro-opera/distinfo head/games/libretro-opera/files/ head/games/libretro-opera/files/patch-Makefile head/games/libretro-opera/files/patch-libretro-common_cdrom_cdrom.c head/games/libretro-opera/pkg-descr head/games/libretro-pcsx_rearmed/ head/games/libretro-pcsx_rearmed/Makefile head/games/libretro-pcsx_rearmed/distinfo head/games/libretro-pcsx_rearmed/pkg-descr head/games/libretro-picodrive/ head/games/libretro-picodrive/Makefile head/games/libretro-picodrive/distinfo head/games/libretro-picodrive/pkg-descr head/games/libretro-prboom/ head/games/libretro-prboom/Makefile head/games/libretro-prboom/distinfo head/games/libretro-prboom/pkg-descr head/games/libretro-prosystem/ head/games/libretro-prosystem/Makefile head/games/libretro-prosystem/distinfo head/games/libretro-prosystem/pkg-descr head/games/libretro-quicknes/ head/games/libretro-quicknes/Makefile head/games/libretro-quicknes/distinfo head/games/libretro-quicknes/pkg-descr head/games/libretro-scummvm/ head/games/libretro-scummvm/Makefile head/games/libretro-scummvm/distinfo head/games/libretro-scummvm/files/ head/games/libretro-scummvm/files/patch-Makefile.freebsd head/games/libretro-scummvm/files/patch-backends_platform_libretro_libretro-common_libco_aarch64.c head/games/libretro-scummvm/pkg-descr head/games/libretro-snes9x/ head/games/libretro-snes9x/Makefile head/games/libretro-snes9x/distinfo head/games/libretro-snes9x/files/ head/games/libretro-snes9x/files/patch-Makefile.freebsd head/games/libretro-snes9x/pkg-descr head/games/libretro-snes9x2005/ head/games/libretro-snes9x2005/Makefile head/games/libretro-snes9x2005/distinfo head/games/libretro-snes9x2005/files/ head/games/libretro-snes9x2005/files/patch-Makefile.freebsd head/games/libretro-snes9x2005/pkg-descr head/games/libretro-snes9x2010/ head/games/libretro-snes9x2010/Makefile head/games/libretro-snes9x2010/distinfo head/games/libretro-snes9x2010/files/ head/games/libretro-snes9x2010/files/patch-Makefile.freebsd head/games/libretro-snes9x2010/pkg-descr head/games/libretro-stella2014/ head/games/libretro-stella2014/Makefile head/games/libretro-stella2014/distinfo head/games/libretro-stella2014/pkg-descr head/games/libretro-tgbdual/ head/games/libretro-tgbdual/Makefile head/games/libretro-tgbdual/distinfo head/games/libretro-tgbdual/pkg-descr head/games/libretro-tyrquake/ head/games/libretro-tyrquake/Makefile head/games/libretro-tyrquake/distinfo head/games/libretro-tyrquake/pkg-descr head/games/libretro-uae/ head/games/libretro-uae/Makefile head/games/libretro-uae/distinfo head/games/libretro-uae/files/ head/games/libretro-uae/files/patch-libco_aarch64.c head/games/libretro-uae/files/patch-sources_src_disk.c head/games/libretro-uae/pkg-descr head/games/libretro-vbanext/ head/games/libretro-vbanext/Makefile head/games/libretro-vbanext/distinfo head/games/libretro-vbanext/pkg-descr head/games/libretro-vecx/ head/games/libretro-vecx/Makefile head/games/libretro-vecx/distinfo head/games/libretro-vecx/pkg-descr head/games/libretro-virtualjaguar/ head/games/libretro-virtualjaguar/Makefile head/games/libretro-virtualjaguar/distinfo head/games/libretro-virtualjaguar/pkg-descr
Commited, with minor changes. Thanks!