From 91b8adce4212a73d3d960683144924d85b2aefa7 Mon Sep 17 00:00:00 2001 From: nia Date: Wed, 2 Jan 2019 13:24:28 +0000 Subject: emulators/libretro-mame2010: Import version libretro-mame2010-20180417 Libretro is a simple but powerful development interface that allows for the easy creation of emulators, games and multimedia applications that can plug straight into any libretro-compatible frontend. This development interface is open to others so that they can run these pluggable emulator and game cores also in their own programs or devices. MAME is the Multiple Arcade Machine Emulator. This is a port of MAME 0.139 to libretro with backported improvements and is compatible with MAME 0.139 romsets. --- emulators/Makefile | 3 +- emulators/libretro-mame2010/DESCR | 9 +++ emulators/libretro-mame2010/Makefile | 67 ++++++++++++++++++++++ emulators/libretro-mame2010/PLIST | 2 + emulators/libretro-mame2010/distinfo | 8 +++ emulators/libretro-mame2010/patches/patch-Makefile | 55 ++++++++++++++++++ .../patches/patch-src_emu_emucore.h | 22 +++++++ 7 files changed, 165 insertions(+), 1 deletion(-) create mode 100644 emulators/libretro-mame2010/DESCR create mode 100644 emulators/libretro-mame2010/Makefile create mode 100644 emulators/libretro-mame2010/PLIST create mode 100644 emulators/libretro-mame2010/distinfo create mode 100644 emulators/libretro-mame2010/patches/patch-Makefile create mode 100644 emulators/libretro-mame2010/patches/patch-src_emu_emucore.h (limited to 'emulators') diff --git a/emulators/Makefile b/emulators/Makefile index da637269810..a4280d6a722 100644 --- a/emulators/Makefile +++ b/emulators/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.290 2019/01/01 17:19:58 nia Exp $ +# $NetBSD: Makefile,v 1.291 2019/01/02 13:24:28 nia Exp $ # COMMENT= Emulators for other operating systems @@ -113,6 +113,7 @@ SUBDIR+= libretro-fuse SUBDIR+= libretro-gambatte SUBDIR+= libretro-genesis-plus-gx SUBDIR+= libretro-glsl-shaders +SUBDIR+= libretro-mame2010 SUBDIR+= libretro-mgba SUBDIR+= libretro-mupen64plus SUBDIR+= libretro-nestopia diff --git a/emulators/libretro-mame2010/DESCR b/emulators/libretro-mame2010/DESCR new file mode 100644 index 00000000000..2a856c1202a --- /dev/null +++ b/emulators/libretro-mame2010/DESCR @@ -0,0 +1,9 @@ +Libretro is a simple but powerful development interface that allows for +the easy creation of emulators, games and multimedia applications that +can plug straight into any libretro-compatible frontend. This development +interface is open to others so that they can run these pluggable emulator +and game cores also in their own programs or devices. + +MAME is the Multiple Arcade Machine Emulator. This is a port of MAME +0.139 to libretro with backported improvements and is compatible with +MAME 0.139 romsets. diff --git a/emulators/libretro-mame2010/Makefile b/emulators/libretro-mame2010/Makefile new file mode 100644 index 00000000000..bac1cd9f4c4 --- /dev/null +++ b/emulators/libretro-mame2010/Makefile @@ -0,0 +1,67 @@ +# $NetBSD: Makefile,v 1.1 2019/01/02 13:24:29 nia Exp $ + +DISTNAME= libretro-mame2010-20180417 +CATEGORIES= emulators +MASTER_SITES= ${MASTER_SITE_GITHUB:=libretro/} +GITHUB_PROJECT= mame2010-libretro +GITHUB_TAG= 70732f9137f6bb2bde4014746ea8bc613173dd1e + +MAINTAINER= pkgsrc-users@NetBSD.org +HOMEPAGE= https://docs.libretro.com/library/mame_2010/ +COMMENT= Libretro core based on the MAME 0.139 arcade game emulator +LICENSE= mame-license + +EXTRACT_USING= bsdtar +USE_TOOLS+= gmake +USE_LANGUAGES= c c++ + +MAKE_FLAGS+= platform=unix +MAKE_FLAGS+= GIT_VERSION="-pkgsrc" +MAKE_FLAGS+= BUILD_ZLIB=0 + +.include "../../mk/endian.mk" + +.if ${MACHINE_ENDIAN} == "big" +CFLAGS+= -DMSB_FIRST +.endif + +.include "../../mk/bsd.prefs.mk" + +.if !empty(OPSYS:M*BSD) || ${OPSYS} == "DragonFly" || ${OPSYS} == "Bitrig" +CFLAGS+= -DSDLMAME_BSD +.endif + +.if ${OPSYS} != "Linux" +CFLAGS+= -DNO_AFFINITY_NP +.endif + +.if ${MACHINE_ARCH} != "x86_64" && ${MACHINE_ARCH} != "i386" +MAKE_FLAGS+= FORCE_DRC_C_BACKEND=1 +.endif + +.if !empty(USE_CROSS_COMPILE:M[yY][eE][sS]) +MAKE_FLAGS+= NATIVECC=${NATIVE_CXX:Q} +MAKE_FLAGS+= NATIVELD=${NATIVE_CXX:Q} +.else +MAKE_FLAGS+= NATIVECC=${CXX:Q} +MAKE_FLAGS+= NATIVELD=${CXX:Q} +.endif + +.for platform in ${LP64PLATFORMS} +. if ${MACHINE_PLATFORM:M${platform}} +MAKE_FLAGS+= PTR64=1 +. endif +.endfor + +MAKE_FLAGS+= CC=${CXX:Q} +MAKE_FLAGS+= LD=${CXX:Q} + +INSTALLATION_DIRS+= ${PREFIX}/lib/libretro + +do-install: + ${INSTALL_LIB} ${WRKSRC}/mame2010_libretro.so \ + ${DESTDIR}${PREFIX}/lib/libretro/mame2010_libretro.so + +.include "../../devel/zlib/buildlink3.mk" +.include "../../mk/pthread.buildlink3.mk" +.include "../../mk/bsd.pkg.mk" diff --git a/emulators/libretro-mame2010/PLIST b/emulators/libretro-mame2010/PLIST new file mode 100644 index 00000000000..318dcb38e0f --- /dev/null +++ b/emulators/libretro-mame2010/PLIST @@ -0,0 +1,2 @@ +@comment $NetBSD: PLIST,v 1.1 2019/01/02 13:24:29 nia Exp $ +lib/libretro/mame2010_libretro.so diff --git a/emulators/libretro-mame2010/distinfo b/emulators/libretro-mame2010/distinfo new file mode 100644 index 00000000000..ab2425fe8dd --- /dev/null +++ b/emulators/libretro-mame2010/distinfo @@ -0,0 +1,8 @@ +$NetBSD: distinfo,v 1.1 2019/01/02 13:24:29 nia Exp $ + +SHA1 (libretro-mame2010-20180417-70732f9137f6bb2bde4014746ea8bc613173dd1e.tar.gz) = c755106da94893012afb9d31bf488e0bd71f983d +RMD160 (libretro-mame2010-20180417-70732f9137f6bb2bde4014746ea8bc613173dd1e.tar.gz) = a39a85b9d96ca17edb25b941963f8217069bc22e +SHA512 (libretro-mame2010-20180417-70732f9137f6bb2bde4014746ea8bc613173dd1e.tar.gz) = 6b8bc3111eebe19387f6927ee24ba4edef6505c7540c87b872d2930c4b786010ebc63f97b14be427c00182838cffb5e8d707ab38d295ac1144eb4787ada4cfd0 +Size (libretro-mame2010-20180417-70732f9137f6bb2bde4014746ea8bc613173dd1e.tar.gz) = 23952671 bytes +SHA1 (patch-Makefile) = 5831dcc18098b9f654736822b7783fcca2433f3e +SHA1 (patch-src_emu_emucore.h) = ecb9617e260559aeb685e9625195f2ad6c99244d diff --git a/emulators/libretro-mame2010/patches/patch-Makefile b/emulators/libretro-mame2010/patches/patch-Makefile new file mode 100644 index 00000000000..6eec61640ac --- /dev/null +++ b/emulators/libretro-mame2010/patches/patch-Makefile @@ -0,0 +1,55 @@ +$NetBSD: patch-Makefile,v 1.1 2019/01/02 13:24:29 nia Exp $ + +Avoid overriding build settings. + +--- Makefile.orig 2018-04-17 17:16:44.000000000 +0000 ++++ Makefile +@@ -55,14 +55,9 @@ LIBS = + #------------------------------------------------- + + # start with empties for everything +-CCOMFLAGS = -DDISABLE_MIDI +-CONLYFLAGS = +-COBJFLAGS = +-CPPONLYFLAGS = ++CCOMFLAGS += -DDISABLE_MIDI + # LDFLAGS are used generally; LDFLAGSEMULATOR are additional + # flags only used when linking the core emulator +-LDFLAGS = +-LDFLAGSEMULATOR = + + GIT_VERSION ?= " $(shell git rev-parse --short HEAD || echo unknown)" + ifneq ($(GIT_VERSION)," unknown") +@@ -143,15 +138,6 @@ ifeq ($(VRENDER),opengl) + LIBS += -lGL + endif + LDFLAGS += $(SHARED) +- NATIVELD = g++ +- NATIVELDFLAGS = -Wl,--warn-common -lstdc++ +- NATIVECC = g++ +- NATIVECFLAGS = -std=gnu99 +- CC_AS = gcc +- CC = g++ +- AR = @ar +- LD = g++ +- CCOMFLAGS += $(PLATCFLAGS) -ffast-math + LIBS += -lstdc++ -lpthread + + # Android +@@ -568,7 +554,7 @@ DEFS += -DFLAC__NO_DLL + + # CFLAGS is defined based on C or C++ targets + # (remember, expansion only happens when used, so doing it here is ok) +-CFLAGS = $(CCOMFLAGS) $(CPPONLYFLAGS) ++CFLAGS += $(CCOMFLAGS) $(CPPONLYFLAGS) + + # we compile C-only to C89 standard with GNU extensions + # we compile C++ code to C++98 standard with GNU extensions +@@ -588,7 +574,6 @@ ifeq ($(MDEBUG),1) + CCOMFLAGS += -O0 -g + else + # add the optimization flag +-CCOMFLAGS += -O$(OPTIMIZE) + endif + + # add the error warning flag diff --git a/emulators/libretro-mame2010/patches/patch-src_emu_emucore.h b/emulators/libretro-mame2010/patches/patch-src_emu_emucore.h new file mode 100644 index 00000000000..3028c25a8f5 --- /dev/null +++ b/emulators/libretro-mame2010/patches/patch-src_emu_emucore.h @@ -0,0 +1,22 @@ +$NetBSD: patch-src_emu_emucore.h,v 1.1 2019/01/02 13:24:29 nia Exp $ + +Avoid colliding with libc symbols on NetBSD. + +--- src/emu/emucore.h.orig 2018-04-17 17:16:44.000000000 +0000 ++++ src/emu/emucore.h +@@ -502,6 +502,7 @@ inline void fatalerror_exitcode(running_ + //************************************************************************** + + // population count ++#ifndef __NetBSD__ + inline int popcount(UINT32 val) + { + int count; +@@ -510,6 +511,7 @@ inline int popcount(UINT32 val) + val &= val - 1; + return count; + } ++#endif + + + // convert a series of 32 bits into a float -- cgit v1.2.3