FreeBSD Bugzilla – Attachment 233983 Details for
Bug 257171
[NEW PORT] emulators/libretro-kronos: Sega Saturn and ST-V emulator forked from uoYabause for libretro
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
[PATCH] emulators_libretro-kronos.diff (tested with poudriere)
emulators_libretro-kronos.diff (text/plain), 8.03 KB, created by
Timothy Beyer
on 2022-05-17 04:39:47 UTC
(
hide
)
Description:
[PATCH] emulators_libretro-kronos.diff (tested with poudriere)
Filename:
MIME Type:
Creator:
Timothy Beyer
Created:
2022-05-17 04:39:47 UTC
Size:
8.03 KB
patch
obsolete
>From 0a475b7b83b0d205e2795594b4bb7f7e8e1e5c46 Mon Sep 17 00:00:00 2001 >From: Timothy Beyer <beyert_freebsd@fastmail.net> >Date: Mon, 16 May 2022 20:53:46 -0700 >Subject: [PATCH] fix build of lang/joytran in poudriere > >--- > /dev/null => emulators/libretro-kronos/Makefile | 60 ++++++++++++++++++++++ > /dev/null => emulators/libretro-kronos/distinfo | 3 ++ > .../files/patch-yabause_src_libretro_Makefile | 11 ++++ > .../patch-yabause_src_libretro_Makefile.common | 36 +++++++++++++ > ...rc_libretro_libretro-common_rthreads_rthreads.c | 11 ++++ > /dev/null => emulators/libretro-kronos/pkg-descr | 6 +++ > /dev/null => emulators/libretro-kronos/pkg-message | 34 ++++++++++++ > 7 files changed, 161 insertions(+) > create mode 100644 emulators/libretro-kronos/Makefile > create mode 100644 emulators/libretro-kronos/distinfo > create mode 100644 emulators/libretro-kronos/files/patch-yabause_src_libretro_Makefile > create mode 100644 emulators/libretro-kronos/files/patch-yabause_src_libretro_Makefile.common > create mode 100644 emulators/libretro-kronos/files/patch-yabause_src_libretro_libretro-common_rthreads_rthreads.c > create mode 100644 emulators/libretro-kronos/pkg-descr > create mode 100644 emulators/libretro-kronos/pkg-message > >diff --git a/emulators/libretro-kronos/Makefile b/emulators/libretro-kronos/Makefile >new file mode 100644 >index 0000000..eab1308 >--- /dev/null >+++ b/emulators/libretro-kronos/Makefile >@@ -0,0 +1,60 @@ >+# Created by Timothy Beyer <beyert@cs.ucr.edu> >+ >+PORTNAME= libretro-kronos >+PORTVERSION= 0.20210617 >+CATEGORIES= emulators games >+ >+MAINTAINER= beyert@cs.ucr.edu >+COMMENT= Sega Saturn and ST-V emulator forked from uoYabause for libretro >+ >+LICENSE= GPLv2 >+LICENSE_FILE= ${WRKSRC}/yabause/COPYING >+ >+LIB_DEPENDS= libGL.so:graphics/mesa-libs >+ >+# standalone version uses solely cmake, whereas the retroarch core uses both >+# cmake and gmake >+USES= compiler:c++11-lib cmake gmake gl sdl qt:5 pkgconfig >+USE_LDCONFIG= yes >+ >+USE_SDL= sdl2 >+ >+USE_GITHUB= yes >+GH_ACCOUNT= FCare >+GH_PROJECT= Kronos >+GH_TAGNAME= a39f95a >+ >+USE_GL= gl glew glu >+ >+USE_QT= qmake_build buildtools_build core opengl >+ >+CFLAGS+= -I${LOCALBASE}/include >+CXXFLAGS+= -I${LOCALBASE}/include >+LDFLAGS+= -L${LOCALBASE}/lib >+ >+PLIST_FILES= lib/libretro/kronos_libretro.so >+ >+cmake_ARGS= noninja >+CMAKE_SOURCE_PATH= ${WRKSRC}/yabause >+ >+MAKE_ARGS= USE_RTHREADS=1 >+ >+pre-build: >+ cd ${CMAKE_SOURCE_PATH} && ${CMAKE_BIN} . >+ cd ${WRKSRC}/yabause/src && ${MAKE} m68kmake >+ >+.include <bsd.port.pre.mk> >+ >+do-build: >+ cd ${WRKSRC}/yabause/src/libretro && ${DO_MAKE_BUILD} >+ >+post-patch: >+.if ${ARCH} != "amd64" >+ @${REINPLACE_CMD} -e "s/HAVE_SSE = 1/HAVE_SSE = 0/" ${WRKSRC}/yabause/src/libretro/Makefile >+.endif >+ >+do-install: >+ ${MKDIR} ${STAGEDIR}/${PREFIX}/lib/libretro; >+ ${INSTALL_LIB} ${WRKSRC}/yabause/src/libretro/kronos_libretro.so ${STAGEDIR}/${PREFIX}/lib/libretro; >+ >+.include <bsd.port.post.mk> >diff --git a/emulators/libretro-kronos/distinfo b/emulators/libretro-kronos/distinfo >new file mode 100644 >index 0000000..0fd66c7 >--- /dev/null >+++ b/emulators/libretro-kronos/distinfo >@@ -0,0 +1,3 @@ >+TIMESTAMP = 1623926653 >+SHA256 (FCare-Kronos-0.20210617-a39f95a_GH0.tar.gz) = a9edd4b88b874f4b1d1fb0b9e66cf2bc8bc3b643ee02b127db84a79fce31a6e8 >+SIZE (FCare-Kronos-0.20210617-a39f95a_GH0.tar.gz) = 36104449 >diff --git a/emulators/libretro-kronos/files/patch-yabause_src_libretro_Makefile b/emulators/libretro-kronos/files/patch-yabause_src_libretro_Makefile >new file mode 100644 >index 0000000..b1ae06d >--- /dev/null >+++ b/emulators/libretro-kronos/files/patch-yabause_src_libretro_Makefile >@@ -0,0 +1,11 @@ >+--- yabause/src/libretro/Makefile.orig 2021-06-01 21:12:00 UTC >++++ yabause/src/libretro/Makefile >+@@ -291,7 +291,7 @@ endif >+ >+ OBJECTS += $(OBJECTS_C) $(OBJECTS_CXX) $(OBJECTS_S) >+ >+-LDFLAGS += $(fpic) $(SHARED) -latomic >++LDFLAGS += $(fpic) $(SHARED) >+ FLAGS += $(fpic) >+ >+ INCFLAGS := $(foreach dir,$(INCLUDE_DIRS),-I$(dir)) >diff --git a/emulators/libretro-kronos/files/patch-yabause_src_libretro_Makefile.common b/emulators/libretro-kronos/files/patch-yabause_src_libretro_Makefile.common >new file mode 100644 >index 0000000..b7490c9 >--- /dev/null >+++ b/emulators/libretro-kronos/files/patch-yabause_src_libretro_Makefile.common >@@ -0,0 +1,36 @@ >+--- yabause/src/libretro/Makefile.common.orig 2021-06-01 21:12:00 UTC >++++ yabause/src/libretro/Makefile.common >+@@ -182,6 +182,8 @@ ifeq ($(HAVE_CDROM), 1) >+ endif >+ endif >+ >++SOURCES_C += $(LIBRETRO_COMM_DIR)/string/stdstring.c >++ >+ ifeq ($(ARCH_IS_WINDOWS), 1) >+ SOURCES_C += $(FLAC_DIR)/src/libFLAC/windows_unicode_filenames.c >+ endif >+@@ -209,14 +211,16 @@ ifeq ($(USE_RTHREADS), 1) >+ SOURCES_C += $(SOURCE_DIR)/ctrl/threads/thr-rthreads.c \ >+ $(LIBRETRO_COMM_DIR)/rthreads/rthreads.c >+ else >+- ifeq ($(ARCH_IS_LINUX), 1) >+- SOURCES_C += $(SOURCE_DIR)/ctrl/threads/thr-linux.c >+- else ifeq ($(ARCH_IS_MACOSX), 1) >+- SOURCES_C += $(SOURCE_DIR)/ctrl/threads/thr-linux.c \ >+- $(SOURCE_DIR)/ctrl/threads/linux/pthread_barrier.c >+- else >+- SOURCES_C += $(SOURCE_DIR)/ctrl/threads/thr-windows.c >+- endif >++ >++SOURCES_C += $(SOURCE_DIR)/ctrl/threads/thr-dummy.c >++# ifeq ($(ARCH_IS_LINUX), 1) >++# SOURCES_C += $(SOURCE_DIR)/ctrl/threads/thr-linux.c >++# else ifeq ($(ARCH_IS_MACOSX), 1) >++# SOURCES_C += $(SOURCE_DIR)/ctrl/threads/thr-linux.c \ >++# $(SOURCE_DIR)/ctrl/threads/linux/pthread_barrier.c >++# else >++# SOURCES_C += $(SOURCE_DIR)/ctrl/threads/thr-windows.c >++# endif >+ endif >+ >+ M68KMAKE_EXE = m68kmake$(EXE_EXT) >diff --git a/emulators/libretro-kronos/files/patch-yabause_src_libretro_libretro-common_rthreads_rthreads.c b/emulators/libretro-kronos/files/patch-yabause_src_libretro_libretro-common_rthreads_rthreads.c >new file mode 100644 >index 0000000..a257dba >--- /dev/null >+++ b/emulators/libretro-kronos/files/patch-yabause_src_libretro_libretro-common_rthreads_rthreads.c >@@ -0,0 +1,11 @@ >+--- yabause/src/libretro/libretro-common/rthreads/rthreads.c.orig 2020-05-02 13:49:27 UTC >++++ yabause/src/libretro/libretro-common/rthreads/rthreads.c >+@@ -67,6 +67,8 @@ >+ #include <mach/mach.h> >+ #endif >+ >++#include <sys/time.h> >++ >+ struct thread_data >+ { >+ void (*func)(void*); >diff --git a/emulators/libretro-kronos/pkg-descr b/emulators/libretro-kronos/pkg-descr >new file mode 100644 >index 0000000..faeee50 >--- /dev/null >+++ b/emulators/libretro-kronos/pkg-descr >@@ -0,0 +1,6 @@ >+Kronos is a Sega Saturn and ST-V emulator forked from uoYabause. Kronos is >+targetting Linux and Windows OS. >+ >+This is the libretro port of Kronos. >+ >+WWW: https://fcare.github.io >diff --git a/emulators/libretro-kronos/pkg-message b/emulators/libretro-kronos/pkg-message >new file mode 100644 >index 0000000..6e2b540 >--- /dev/null >+++ b/emulators/libretro-kronos/pkg-message >@@ -0,0 +1,34 @@ >+[ >+{ type: install >+ message: <<EOM >+For Sega Saturn, it is mandatory to install a supported Sega Saturn bios files >+(such as saturn_bios.bin) in ~/.config/retroarch/system or >+~/.config/retroarch/system/kronos. >+ >+Kronos is broadly compatible with all major Saturn BIOSes regardless of region, >+although unlike Yabause, a BIOS dump is required. Due to the aforementioned >+BIOS compatibility, the BIOS guide for the beetle-saturn libretro core may be >+helpful: >+ >+https://docs.libretro.com/library/beetle_saturn/ >+ >+For ST-V, it is necessary to add a compatible stvbios.zip either in >+~/.config/retroarch/system/kronos or in ~/.config/retroarch/system/. In >+contrast to MAME, Kronos will never search for this bios file in the local path >+of the game. >+ >+If the emulator gets stuck on the BIOS screen, the screen remains blank, or >+shows audio track navigation controls, then the BIOS is likely incompatible. >+ >+At present, Kronos is only compatible with a subset of the stvbios.zip files >+used by modern MAME versions. If the stvbios.zip is not present in the proper >+place, but one of the proper Sega Saturn BIOSes is instead available, it will >+try to default to one of those, and in the most optimistic case, merely reach >+the audio CD track navigation controls, but it will not work, since it is not >+the same hardware. >+ >+If in doubt, running retroarch with the -v argument may help to acquire more >+diagnostic information. >+EOM >+} >+]
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Flags:
beyert
:
maintainer-approval+
Actions:
View
|
Diff
Attachments on
bug 257171
:
226445
|
230306
|
230319
|
233983
|
233988