Bug 257171

Summary: [NEW PORT] emulators/libretro-kronos: Sega Saturn and ST-V emulator forked from uoYabause for libretro
Product: Ports & Packages Reporter: Timothy Beyer <beyert>
Component: Individual Port(s)Assignee: Li-Wen Hsu <lwhsu>
Status: Closed FIXED    
Severity: Affects Only Me CC: beyert, jfolker11, lwhsu
Priority: ---    
Version: Latest   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
emulators_libretro-kronos.shar
none
emulators_libretro-kronos.diff
none
0001-Add-emulators-libretro-kronos.patch
none
[PATCH] emulators_libretro-kronos.diff (tested with poudriere)
beyert: maintainer-approval+
[PATCH / NEW PORT] emulators_libretro-kronos.diff (tested with poudriere, ignore other patches) beyert: maintainer-approval+

Description Timothy Beyer 2021-07-14 06:35:26 UTC
Created attachment 226445 [details]
emulators_libretro-kronos.shar

Last month I ported libretro-kronos to FreeBSD, which although on the surface appears to be yet another Sega Saturn emulator, it has some value since it also emulates the elusive Sega Titan Video platform.

I tried Cotton II and Cotton Boomerang, which run slowly, but as far as I can tell, rather accurately.  This port is capable of running both the Saturn and ST-V versions of the games.

It is worth noting that anther productive port maintainer also ported Mednafen's Beetle Saturn libretro core, which is the fastest and most accurate Sega Saturn emulator in my experience, although it is Sega Saturn only:

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=256776

(The only other emulator to cover the ST-V platform is the current core of libretro-mame, which I have also ported to FreeBSD, and is coming shortly.  There are tradeoffs in that emulator as well, which predominantly has value in that it supports the full compatibility of current MAME versions to retroarch, but this port is the best ST-V emulator when other factors are considered).
Comment 1 Timothy Beyer 2021-07-14 06:42:51 UTC
As another basis for comparison, here is my new port of emulators/libretro-mame, which IIRC also emulates ST-V, although not nearly as well:
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=257172
Comment 2 Li-Wen Hsu freebsd_committer freebsd_triage 2021-12-21 12:56:40 UTC
Doesn't build in 13.0-R poudriere: https://gist.github.com/d43481557a6dec7b45856491894bc480
Comment 3 Timothy Beyer 2021-12-22 09:16:23 UTC
Created attachment 230306 [details]
emulators_libretro-kronos.diff

Thanks for letting me know, I must have built this on a system with lots of libraries installed.  I added USES qt:5, sdl (sdl2), among other revisions, so it should build with this patch
Comment 4 Li-Wen Hsu freebsd_committer freebsd_triage 2021-12-22 16:22:23 UTC
Created attachment 230319 [details]
0001-Add-emulators-libretro-kronos.patch

I still got error in the configuration phase about some dependency missing. I tried to fix it. Please check this patch. Thanks.
Comment 5 Timothy Beyer 2021-12-23 07:14:26 UTC
(In reply to Li-Wen Hsu from comment #4)
I will try it in some VMs that I didn't have when I first wrote this patch.

Sorry about the repeated problem in this cycle of submissions where I missed dependencies, I'll try to test my submissions on an empty jail or VM going forward to save everyone time.
Comment 6 Timothy Beyer 2021-12-23 10:54:27 UTC
(In reply to Li-Wen Hsu from comment #4)
Confirmed working on an empty bhyve VM running FreeBSD 13.0-RELEASE, looks like your last patch fixed the USE_QT flags fixed the qt5 problem
Comment 7 Timothy Beyer 2022-05-17 04:39:47 UTC
Created attachment 233983 [details]
[PATCH] emulators_libretro-kronos.diff (tested with poudriere)

Updated patch to latest tested version, which builds on poudriere and addresses any remaining issues, if applicable.
Comment 8 Timothy Beyer 2022-05-17 04:41:20 UTC
Note that the patch I just submitted obsoletes all other patches still present that I cannot mark as obsolete, and is standalone.

I hope that someone can commit it soon.
Comment 9 Timothy Beyer 2022-05-17 04:55:08 UTC
Created attachment 233988 [details]
[PATCH / NEW PORT] emulators_libretro-kronos.diff (tested with poudriere, ignore other patches)

fix subject in patch, but otherwise identical

Note that I cannot mark other patches as obsolete, but only this patch is needed.
Comment 10 commit-hook freebsd_committer freebsd_triage 2022-06-27 07:05:12 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=68b199480328b8073a1ff97f2b62597010cf8137

commit 68b199480328b8073a1ff97f2b62597010cf8137
Author:     Timothy Beyer <beyert@cs.ucr.edu>
AuthorDate: 2022-06-27 07:01:29 +0000
Commit:     Li-Wen Hsu <lwhsu@FreeBSD.org>
CommitDate: 2022-06-27 07:04:02 +0000

    Add emulators/libretro-kronos

    Sega Saturn and ST-V emulator forked from uoYabause for libretro

    PR:             257171

 emulators/Makefile                                 |  1 +
 emulators/libretro-kronos/Makefile (new)           | 60 ++++++++++++++++++++++
 emulators/libretro-kronos/distinfo (new)           |  3 ++
 .../patch-yabause_src_libretro_Makefile (new)      | 11 ++++
 ...atch-yabause_src_libretro_Makefile.common (new) | 36 +++++++++++++
 ...retro_libretro-common_rthreads_rthreads.c (new) | 11 ++++
 emulators/libretro-kronos/pkg-descr (new)          |  6 +++
 emulators/libretro-kronos/pkg-message (new)        | 34 ++++++++++++
 8 files changed, 162 insertions(+)