aboutsummaryrefslogtreecommitdiff
path: root/emulators/libretro-mame
diff options
context:
space:
mode:
authorTimothy Beyer <beyert_freebsd@fastmail.net>2022-05-17 03:53:46 +0000
committerNeel Chauhan <nc@FreeBSD.org>2022-05-19 17:49:21 +0000
commit5f4caf1945f77bcffb540d69cd309d539a760c41 (patch)
tree65d5100c13d3ca540a1abbfd155ab0533c64750a /emulators/libretro-mame
parentecfbdd7758518157884cc9d4b3fb81acc592dea3 (diff)
downloadports-5f4caf1945f77bcffb540d69cd309d539a760c41.tar.gz
ports-5f4caf1945f77bcffb540d69cd309d539a760c41.zip
emulators/libretro-mame: New port: MAME-current for libretro
PR: 257172
Diffstat (limited to 'emulators/libretro-mame')
-rw-r--r--emulators/libretro-mame/Makefile73
-rw-r--r--emulators/libretro-mame/distinfo3
-rw-r--r--emulators/libretro-mame/files/patch-makefile20
-rw-r--r--emulators/libretro-mame/pkg-descr3
4 files changed, 99 insertions, 0 deletions
diff --git a/emulators/libretro-mame/Makefile b/emulators/libretro-mame/Makefile
new file mode 100644
index 000000000000..5a94d1157be8
--- /dev/null
+++ b/emulators/libretro-mame/Makefile
@@ -0,0 +1,73 @@
+# Created by: Timothy Beyer <beyert@cs.ucr.edu>
+
+PORTNAME= libretro-mame
+PORTVERSION= 20220124
+CATEGORIES= emulators games
+
+MAINTAINER= beyert@cs.ucr.edu
+COMMENT= MAME-current for libretro
+
+LICENSE= BSD2CLAUSE GPLv2
+LICENSE_COMB= multi
+
+USES= compiler:c++11-lib gl gmake pkgconfig python:3.7,build
+USE_LDCONFIG= yes
+
+USE_GL= gl
+
+USE_GITHUB= yes
+GH_ACCOUNT= libretro
+GH_PROJECT= mame
+GH_TAGNAME= ec47e94
+
+MAKEFILE= ${WRKSRC}/Makefile.libretro
+
+MAKE_ENV= CXX="${CXX}" \
+ LD="${CXX}" \
+ OPT_FLAGS="${CXXFLAGS}" \
+ PYTHON="${PYTHON_CMD}" \
+ PYTHON_EXECUTABLE="${PYTHON_CMD}"
+
+GENIE= ${WRKSRC}/3rdparty/genie
+
+MAKE_JOBS_UNSAFE= yes
+
+PLIST_FILES= lib/libretro/mame_libretro.so
+
+post-patch:
+ @${RM} ${WRKSRC}/3rdparty/bx/include/compat/freebsd/dirent.h
+ @${RM} ${WRKSRC}/3rdparty/bx/include/compat/freebsd/signal.h
+ @${ECHO_CMD} ${MV} ${GENIE}/build/gmake.freebsd ${GENIE}/build/gmake.bsd
+ @${REINPLACE_CMD} -e \
+ 's|^\(CC \)|#\1| ; \
+ s|^\(CXX \)|#\1| ; \
+ s|^\(CXX:\)|#\1| ; \
+ s|^\(LD \)|#\1| ; \
+ s|^\(PYTHON \)|#\1| ; \
+ s| .(ARCH)|| ; \
+ s|FreeBSD|${OPSYS}|g' \
+ ${WRKSRC}/makefile \
+ ${GENIE}/build/gmake.freebsd/genie.make
+ @${REINPLACE_CMD} -e 's|gcc|${CC}|; s|g++|${CXX}|' \
+ ${GENIE}/src/tools/gcc.lua \
+ ${GENIE}/src/tools/snc.lua \
+ ${GENIE}/tests/test_gmake_cpp.lua
+ @${REINPLACE_CMD} -e 's|= \"gcc|= \"${CC}|; s|= \"${CXX}|= \"c++|' \
+ -e "s|'CXX =|'#CXX =|; s|'CC =|'#CC =|; s| .(ARCH)| |g" \
+ ${GENIE}/src/host/scripts.c
+# we can't fix two types of python shebangs, so do these manually
+ @${REINPLACE_CMD} -i "" -e "s|/usr/bin/env python|${PYTHON_CMD}|" \
+ ${WRKSRC}/scripts/build/png*.py
+ @${REINPLACE_CMD} -e 's|"python"|"${PYTHON_CMD}"|' \
+ ${WRKSRC}/scripts/genie.lua
+ @${GREP} -rl '"png.h"' ${WRKSRC}/src | ${XARGS} ${REINPLACE_CMD} \
+ -e 's|"png.h"|"localpng.h"|'
+ @${REINPLACE_CMD} -e 's|"util/png.h"|"util/localpng.h"|' \
+ ${WRKSRC}/src/frontend/mame/ui/icorender.cpp
+ @${MV} ${WRKSRC}/src/lib/util/png.h ${WRKSRC}/src/lib/util/localpng.h
+
+do-install:
+ ${MKDIR} ${STAGEDIR}/${PREFIX}/lib/libretro;
+ ${INSTALL_LIB} ${WRKSRC}/mame_libretro.so ${STAGEDIR}/${PREFIX}/lib/libretro;
+
+.include <bsd.port.mk>
diff --git a/emulators/libretro-mame/distinfo b/emulators/libretro-mame/distinfo
new file mode 100644
index 000000000000..c936ab53eea9
--- /dev/null
+++ b/emulators/libretro-mame/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1644819807
+SHA256 (libretro-mame-20220124-ec47e94_GH0.tar.gz) = 36593def33266b9a6171338941743b6ef01865bc3b8f38e7ad0c6b84d971ed1b
+SIZE (libretro-mame-20220124-ec47e94_GH0.tar.gz) = 183780588
diff --git a/emulators/libretro-mame/files/patch-makefile b/emulators/libretro-mame/files/patch-makefile
new file mode 100644
index 000000000000..706100ba0799
--- /dev/null
+++ b/emulators/libretro-mame/files/patch-makefile
@@ -0,0 +1,20 @@
+--- makefile.orig 2021-04-12 15:53:19 UTC
++++ makefile
+@@ -199,7 +199,7 @@ GENIEOS := solaris
+ endif
+ ifeq ($(firstword $(filter FreeBSD,$(UNAME))),FreeBSD)
+ OS := freebsd
+-GENIEOS := bsd
++GENIEOS := freebsd
+ endif
+ ifeq ($(firstword $(filter GNU/kFreeBSD,$(UNAME))),GNU/kFreeBSD)
+ OS := freebsd
+@@ -1083,7 +1083,7 @@ ifeq ($(NEW_GIT_VERSION),)
+ NEW_GIT_VERSION := unknown
+ endif
+
+-GENIE := 3rdparty/genie/bin/$(GENIEOS)/genie$(EXE)
++GENIE := 3rdparty/genie/bin/bsd/genie$(EXE)
+
+ ifeq ($(TARGET),$(SUBTARGET_FULL))
+ FULLTARGET := $(TARGET)
diff --git a/emulators/libretro-mame/pkg-descr b/emulators/libretro-mame/pkg-descr
new file mode 100644
index 000000000000..7972e0144d37
--- /dev/null
+++ b/emulators/libretro-mame/pkg-descr
@@ -0,0 +1,3 @@
+MAME -current for libretro
+
+WWW: https://github.com/libretro/mame