Page MenuHomeFreeBSD

[NEW PORTS]: games/libretro-* libretro cores for compatible emulators

Authored by lbartoletti on Apr 20 2020, 7:47 PM.



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


Test Plan

portlint (looks fine, warning about LEGAL on *snes* ports)
poudriere (11[1]/12/HEAD i386/amd64)

[1] Except libretro-snes9x. I added a BROKEN flag

Diff Detail

rP FreeBSD ports repository
No Linters Available
No Unit Test Coverage
Build Status
Buildable 30636
Build 28373: arc lint + arc unit

Event Timeline

I wonder if it worth a meta port?


^ this is redundant, as it's the same as the port name -- this goes for all the ports here

I wonder if it worth a meta port?

Yeah sure, a meta-port with options for each of them (say all default/the ones without copying-issues) might be useful


I'll remove this line since (most) ports can be built also on aarch64, and it could be useful to have a FreeBSD retro station ;)

Well, some ports complains about missing memalign function (and include malloc.h). I have a patch (aka replace malloc.h with a memalign function), but I wonder if it's useful since a commit in base is in progress:


Indeed, there is no naming convention on libretro ports (libretro-2048 or beetle-bsnes-libretro for examples). I think the maintainer has made life easier.


you could patch depending on the value of the FreeBSD version, or mark them BROKEN for those that are older than the required version (that is, once the linked diff lands).

  • Remove GH_PROJECT when is redundant with PORTNAME
  • Remove ONLY_FOR_ARCH
  • Add BROKEN_aarch64 per games/libretro-desmume2015, games/libretro-picodrive and games/libretro-bluemsx
  • Fix build on aarch64 per games/libretro-gpsp, games/libretro-dosbox, games/libretro-scummvm, games/libretro-beetle_bsnes, games/libretro-hatari, games/libretro-uae, games/libretro-mame2000 and games/libretro-opera (needs memalign from "malloc.h")
This revision is now accepted and ready to land.Apr 28 2020, 6:31 PM
25 ↗(On Diff #71138)

This seems to be in almost every port, and it feels to be a very convoluted to install only one file each time.