mirror of
https://git.FreeBSD.org/ports.git
synced 2025-01-20 08:27:15 +00:00
emulators/libretro-flycast: New port: Standalone port of flycast to libretro
PR: 257170
This commit is contained in:
parent
5f4caf1945
commit
316d2de4b5
@ -57,6 +57,7 @@
|
||||
SUBDIR += lib765
|
||||
SUBDIR += libc6-shim
|
||||
SUBDIR += libdsk
|
||||
SUBDIR += libretro-flycast
|
||||
SUBDIR += libretro-mame
|
||||
SUBDIR += libretro-ppsspp
|
||||
SUBDIR += libretro-reicast
|
||||
|
63
emulators/libretro-flycast/Makefile
Normal file
63
emulators/libretro-flycast/Makefile
Normal file
@ -0,0 +1,63 @@
|
||||
# $FreeBSD$
|
||||
|
||||
PORTNAME= libretro-flycast
|
||||
PORTVERSION= 0.20210608
|
||||
CATEGORIES= emulators games
|
||||
|
||||
MAINTAINER= beyert@cs.ucr.edu
|
||||
COMMENT= Standalone port of flycast to libretro
|
||||
|
||||
LICENSE= GPLv2
|
||||
#LICENSE_COMB= multi
|
||||
LICENSE_FILE= ${WRKSRC}/LICENSE
|
||||
|
||||
ONLY_FOR_ARCHS= amd64 i386
|
||||
|
||||
LIB_DEPENDS+= libao.so:audio/libao \
|
||||
libasound.so:audio/alsa-lib \
|
||||
libcurl.so:ftp/curl \
|
||||
libevdev.so:devel/libevdev \
|
||||
libpulse.so:audio/pulseaudio \
|
||||
libudev.so:devel/libudev-devd \
|
||||
libvulkan.so:graphics/vulkan-loader
|
||||
|
||||
USES= compiler:c++11-lib dos2unix gl gmake xorg
|
||||
USE_LDCONFIG= yes
|
||||
|
||||
USE_GITHUB= yes
|
||||
GH_ACCOUNT= libretro
|
||||
GH_PROJECT= flycast
|
||||
GH_TAGNAME= 8e4fa54e
|
||||
|
||||
USE_GL+= gl glew glu
|
||||
|
||||
CFLAGS+= -I${LOCALBASE}/include
|
||||
CXXFLAGS+= -I${LOCALBASE}/include
|
||||
|
||||
.include <bsd.port.pre.mk>
|
||||
|
||||
DOS2UNIX_FILES= core/hw/bba/rtl8139c.h
|
||||
|
||||
.if ${ARCH} == amd64
|
||||
CFLAGS+= -DLOW_END
|
||||
CXXFLAGS+= -DLOW_END
|
||||
.endif
|
||||
|
||||
LDFLAGS+= -L${LOCALBASE}/lib
|
||||
MAKE_ARGS= HAVE_GENERIC_JIT=0 \
|
||||
HAVE_VULKAN=0
|
||||
|
||||
.if ${ARCH} == amd64
|
||||
MAKE_ARGS+= WITH_DYNAREC=x86_64
|
||||
.elif ${ARCH} == i386
|
||||
MAKE_ARGS+= WITH_DYNAREC=x86
|
||||
.endif
|
||||
|
||||
PLIST_FILES= lib/libretro/flycast_libretro.so
|
||||
|
||||
do-install:
|
||||
${MKDIR} ${STAGEDIR}/${PREFIX}/lib/libretro;
|
||||
${INSTALL_LIB} ${WRKSRC}/flycast_libretro.so \
|
||||
${STAGEDIR}/${PREFIX}/lib/libretro/flycast_libretro.so;
|
||||
|
||||
.include <bsd.port.post.mk>
|
3
emulators/libretro-flycast/distinfo
Normal file
3
emulators/libretro-flycast/distinfo
Normal file
@ -0,0 +1,3 @@
|
||||
TIMESTAMP = 1623193824
|
||||
SHA256 (libretro-flycast-0.20210608-8e4fa54e_GH0.tar.gz) = c11f19e25cf605ca3a2df74d1595c1b21ef8fff52b7fa42fc9bfc7fde611059e
|
||||
SIZE (libretro-flycast-0.20210608-8e4fa54e_GH0.tar.gz) = 6576666
|
33
emulators/libretro-flycast/files/patch-Makefile
Normal file
33
emulators/libretro-flycast/files/patch-Makefile
Normal file
@ -0,0 +1,33 @@
|
||||
--- Makefile.orig 2021-05-17 21:23:19 UTC
|
||||
+++ Makefile
|
||||
@@ -45,12 +45,8 @@ CC_AS ?= ${CC_PREFIX}as
|
||||
|
||||
MFLAGS :=
|
||||
ASFLAGS :=
|
||||
-LDFLAGS :=
|
||||
LDFLAGS_END :=
|
||||
INCFLAGS :=
|
||||
-LIBS :=
|
||||
-CFLAGS :=
|
||||
-CXXFLAGS :=
|
||||
|
||||
GIT_VERSION := " $(shell git rev-parse --short HEAD || echo unknown)"
|
||||
ifneq ($(GIT_VERSION)," unknown")
|
||||
@@ -70,7 +66,7 @@ endif
|
||||
# Target Dynarec
|
||||
WITH_DYNAREC = $(ARCH)
|
||||
|
||||
-ifeq ($(ARCH), $(filter $(ARCH), i386 i686))
|
||||
+ifeq ($(ARCH), $(filter $(ARCH), i386 i486 i686))
|
||||
WITH_DYNAREC = x86
|
||||
endif
|
||||
|
||||
@@ -145,7 +141,7 @@ ifneq (,$(findstring unix,$(platform)))
|
||||
HAVE_CDROM = 1
|
||||
fpic = -fPIC
|
||||
|
||||
- ifeq ($(WITH_DYNAREC), $(filter $(WITH_DYNAREC), x86_64 x64))
|
||||
+ ifeq ($(WITH_DYNAREC), $(filter $(WITH_DYNAREC), x86_64 x64 amd64))
|
||||
CFLAGS += -DTARGET_LINUX_x64
|
||||
SINGLE_PREC_FLAGS=1
|
||||
HAVE_GENERIC_JIT = 0
|
@ -0,0 +1,11 @@
|
||||
--- core/hw/aica/dsp_x64.cpp.orig 2021-05-17 21:23:19 UTC
|
||||
+++ core/hw/aica/dsp_x64.cpp
|
||||
@@ -37,6 +37,8 @@ DECL_ALIGN(4096) static u8 CodeBuffer[32 * 1024]
|
||||
__attribute__((section(".text")));
|
||||
#elif defined(__MACH__)
|
||||
__attribute__((section("__TEXT,.text")));
|
||||
+#elif defined(__FreeBSD__)
|
||||
+ __attribute__((section(".text")));
|
||||
#else
|
||||
#error CodeBuffer code section unknown
|
||||
#endif
|
@ -0,0 +1,18 @@
|
||||
--- core/hw/bba/rtl8139c.h.orig 2021-06-18 06:17:55 UTC
|
||||
+++ core/hw/bba/rtl8139c.h
|
||||
@@ -58,6 +58,7 @@ struct MemoryRegion {
|
||||
/*
|
||||
* Byte swapping utilities
|
||||
*/
|
||||
+/*
|
||||
static inline uint16_t bswap16(uint16_t x)
|
||||
{
|
||||
return (((x & 0x00ff) << 8) |
|
||||
@@ -71,6 +72,7 @@ static inline uint32_t bswap32(uint32_t x)
|
||||
((x & 0x00ff0000U) >> 8) |
|
||||
((x & 0xff000000U) >> 24));
|
||||
}
|
||||
+*/
|
||||
#define glue(a, b) _glue(a, b)
|
||||
#define _glue(a, b) a ## b
|
||||
|
@ -0,0 +1,14 @@
|
||||
--- core/libretro-common/rthreads/rthreads.c.orig 2021-05-17 21:23:19 UTC
|
||||
+++ core/libretro-common/rthreads/rthreads.c
|
||||
@@ -55,10 +55,9 @@
|
||||
#include <sys/sys_time.h>
|
||||
#else
|
||||
#include <pthread.h>
|
||||
-#include <time.h>
|
||||
#endif
|
||||
|
||||
-#if defined(VITA) || defined(BSD) || defined(ORBIS)
|
||||
+#if defined(VITA) || defined(__FreeBSD__) || defined(ORBIS)
|
||||
#include <sys/time.h>
|
||||
#endif
|
||||
|
6
emulators/libretro-flycast/pkg-descr
Normal file
6
emulators/libretro-flycast/pkg-descr
Normal file
@ -0,0 +1,6 @@
|
||||
Standalone port of Flycast to libretro.
|
||||
|
||||
Flycast is a multi-platform Sega Dreamcast, Naomi and Atomiswave emulator
|
||||
derived from Reicast.
|
||||
|
||||
WWW: https://git.libretro.com/libretro/flycast
|
14
emulators/libretro-flycast/pkg-message
Normal file
14
emulators/libretro-flycast/pkg-message
Normal file
@ -0,0 +1,14 @@
|
||||
[
|
||||
{ type: install
|
||||
message: <<EOM
|
||||
The libretro core of flycast will not run if run ahead support is enabled.
|
||||
Please set all lines in ~/.config/retroarch/retroarch.cfg that correspond to
|
||||
the setting "run_ahead_enabled" to "false", as shown in the example below:
|
||||
|
||||
run_ahead_enabled = "false"
|
||||
|
||||
To troubleshoot issues, running retroarch with the -v argument may help to
|
||||
acquire more diagnostic information.
|
||||
EOM
|
||||
}
|
||||
]
|
Loading…
Reference in New Issue
Block a user