summaryrefslogtreecommitdiff
path: root/emulators/libretro-mame2010
diff options
context:
space:
mode:
authornia <nia@pkgsrc.org>2019-01-02 13:24:28 +0000
committernia <nia@pkgsrc.org>2019-01-02 13:24:28 +0000
commit91b8adce4212a73d3d960683144924d85b2aefa7 (patch)
tree1fa44d5dc92f59aeecd43ed151a87c924441945f /emulators/libretro-mame2010
parentcf3a0de21c41ab618c6958a6061eb0d8718b4c25 (diff)
downloadpkgsrc-91b8adce4212a73d3d960683144924d85b2aefa7.tar.gz
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.
Diffstat (limited to 'emulators/libretro-mame2010')
-rw-r--r--emulators/libretro-mame2010/DESCR9
-rw-r--r--emulators/libretro-mame2010/Makefile67
-rw-r--r--emulators/libretro-mame2010/PLIST2
-rw-r--r--emulators/libretro-mame2010/distinfo8
-rw-r--r--emulators/libretro-mame2010/patches/patch-Makefile55
-rw-r--r--emulators/libretro-mame2010/patches/patch-src_emu_emucore.h22
6 files changed, 163 insertions, 0 deletions
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