summaryrefslogtreecommitdiff
path: root/emulators
diff options
context:
space:
mode:
authornia <nia@pkgsrc.org>2019-06-09 13:58:08 +0000
committernia <nia@pkgsrc.org>2019-06-09 13:58:08 +0000
commit254a0e7b85803f7b25e71d9d2a2851365e5385c8 (patch)
tree6735226566f1aace2d231bb4b97609e2f6793a81 /emulators
parent95c222c495275b165bf7f49144c8bd03e04bd82f (diff)
downloadpkgsrc-254a0e7b85803f7b25e71d9d2a2851365e5385c8.tar.gz
blastem: Add emulators/blastem version 0.6.2
BlastEm is an open source, higly accurate emulator for the Genesis/Megadrive that runs on modest hardware. Features: * Save states * Integrated debugger * GDB remote debugging * Joystick/gamepad support * Mega/Sega Mouse emulation * XBAND and Saturn keyboard emulation * Support for homebrew using the SSF2 mapper with Mega Everdrive compatible heuristics * Save RAM and EEPROM support * Cartridge lock-on for both Sonic & Knuckles and XBAND * Turbo and slow modes * configurable low pass filter * Single pass GLSL shaders * Sega Master System emulation
Diffstat (limited to 'emulators')
-rw-r--r--emulators/Makefile3
-rw-r--r--emulators/blastem/DESCR19
-rw-r--r--emulators/blastem/MESSAGE.NetBSD7
-rw-r--r--emulators/blastem/Makefile88
-rw-r--r--emulators/blastem/PLIST24
-rw-r--r--emulators/blastem/distinfo7
-rw-r--r--emulators/blastem/files/blastem.desktop10
-rw-r--r--emulators/blastem/patches/patch-Makefile15
8 files changed, 172 insertions, 1 deletions
diff --git a/emulators/Makefile b/emulators/Makefile
index ecd68922566..b060c8cf2ea 100644
--- a/emulators/Makefile
+++ b/emulators/Makefile
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.296 2019/06/08 22:46:03 nia Exp $
+# $NetBSD: Makefile,v 1.297 2019/06/09 13:58:08 nia Exp $
#
COMMENT= Emulators for other operating systems
@@ -20,6 +20,7 @@ SUBDIR+= arcem
SUBDIR+= arnold
SUBDIR+= atari800
SUBDIR+= b-em
+SUBDIR+= blastem
SUBDIR+= blinkensim
SUBDIR+= bochs
SUBDIR+= ckmame
diff --git a/emulators/blastem/DESCR b/emulators/blastem/DESCR
new file mode 100644
index 00000000000..97fadd43068
--- /dev/null
+++ b/emulators/blastem/DESCR
@@ -0,0 +1,19 @@
+BlastEm is an open source, higly accurate emulator for the
+Genesis/Megadrive that runs on modest hardware.
+
+Features:
+
+* Save states
+* Integrated debugger
+* GDB remote debugging
+* Joystick/gamepad support
+* Mega/Sega Mouse emulation
+* XBAND and Saturn keyboard emulation
+* Support for homebrew using the SSF2 mapper with Mega Everdrive
+ compatible heuristics
+* Save RAM and EEPROM support
+* Cartridge lock-on for both Sonic & Knuckles and XBAND
+* Turbo and slow modes
+* configurable low pass filter
+* Single pass GLSL shaders
+* Sega Master System emulation
diff --git a/emulators/blastem/MESSAGE.NetBSD b/emulators/blastem/MESSAGE.NetBSD
new file mode 100644
index 00000000000..86a374564eb
--- /dev/null
+++ b/emulators/blastem/MESSAGE.NetBSD
@@ -0,0 +1,7 @@
+===========================================================================
+$NetBSD: MESSAGE.NetBSD,v 1.1 2019/06/09 13:58:08 nia Exp $
+
+Lowering the system audio latency (or blk_ms) with sysctl(8) may be
+required to achieve full performance and framerates.
+
+===========================================================================
diff --git a/emulators/blastem/Makefile b/emulators/blastem/Makefile
new file mode 100644
index 00000000000..b8bc387d2a0
--- /dev/null
+++ b/emulators/blastem/Makefile
@@ -0,0 +1,88 @@
+# $NetBSD: Makefile,v 1.1 2019/06/09 13:58:08 nia Exp $
+
+DISTNAME= 8aeac7bd9fa7
+PKGNAME= blastem-0.6.2
+CATEGORIES= emulators
+MASTER_SITES= https://www.retrodev.com/repos/blastem/archive/
+DIST_SUBDIR= blastem
+
+MAINTAINER= nia@NetBSD.org
+HOMEPAGE= https://www.retrodev.com/blastem/
+COMMENT= Higly accurate Genesis/Mega Drive emulator
+LICENSE= gnu-gpl-v3
+
+WRKSRC= ${WRKDIR}/blastem-${DISTNAME}
+USE_TOOLS+= gmake pkg-config
+USE_LANGUAGES= c99
+
+MAKE_FLAGS+= HOST_ZLIB=1
+MAKE_FLAGS+= OPT=
+MAKE_FLAGS+= NOLTO=1
+MAKE_FLAGS+= DATA_PATH=${PREFIX}/share/blastem
+
+INSTALLATION_DIRS+= bin
+INSTALLATION_DIRS+= share/applications
+INSTALLATION_DIRS+= share/blastem
+INSTALLATION_DIRS+= share/blastem/images
+INSTALLATION_DIRS+= share/blastem/shaders
+INSTALLATION_DIRS+= share/doc/blastem
+INSTALLATION_DIRS+= share/icons/hicolor/48x48/apps
+INSTALLATION_DIRS+= share/icons/hicolor/72x72/apps
+INSTALLATION_DIRS+= share/icons/hicolor/96x96/apps
+INSTALLATION_DIRS+= share/icons/hicolor/144x144/apps
+
+# wants to use a JIT
+NOT_PAX_MPROTECT_SAFE+= bin/blastem
+
+# only supports writing 64-bit and 32-bit x86 asm
+# may support ARM in future
+ONLY_FOR_PLATFORM= *-*-x86_64 *-*-i386
+
+pre-configure:
+ ${CP} ${FILESDIR}/blastem.desktop ${WRKDIR}/blastem.desktop
+
+do-install:
+ ${INSTALL_PROGRAM} ${WRKSRC}/dis \
+ ${DESTDIR}${PREFIX}/bin/blastem-dis
+ ${INSTALL_PROGRAM} ${WRKSRC}/zdis \
+ ${DESTDIR}${PREFIX}/bin/blastem-zdis
+ ${INSTALL_PROGRAM} ${WRKSRC}/stateview \
+ ${DESTDIR}${PREFIX}/bin/blastem-stateview
+ ${INSTALL_PROGRAM} ${WRKSRC}/vgmplay \
+ ${DESTDIR}${PREFIX}/bin/blastem-vgmplay
+ ${INSTALL_PROGRAM} ${WRKSRC}/blastem \
+ ${DESTDIR}${PREFIX}/bin/blastem
+ ${INSTALL_DATA} ${WRKSRC}/README \
+ ${DESTDIR}${PREFIX}/share/doc/blastem/README
+ ${INSTALL_DATA} ${WRKSRC}/COPYING \
+ ${DESTDIR}${PREFIX}/share/doc/blastem/COPYING
+ ${INSTALL_DATA} ${WRKSRC}/CHANGELOG \
+ ${DESTDIR}${PREFIX}/share/doc/blastem/CHANGELOG
+ ${INSTALL_DATA} ${WRKSRC}/default.cfg \
+ ${DESTDIR}${PREFIX}/share/blastem/default.cfg
+ ${INSTALL_DATA} ${WRKSRC}/gamecontrollerdb.txt \
+ ${DESTDIR}${PREFIX}/share/blastem/gamecontrollerdb.txt
+ ${INSTALL_DATA} ${WRKSRC}/shaders/* \
+ ${DESTDIR}${PREFIX}/share/blastem/shaders
+ ${INSTALL_DATA} ${WRKSRC}/images/* \
+ ${DESTDIR}${PREFIX}/share/blastem/images
+ ${INSTALL_DATA} ${WRKSRC}/rom.db \
+ ${DESTDIR}${PREFIX}/share/blastem/rom.db
+ ${INSTALL_DATA} ${WRKSRC}/android/res/drawable-mdpi/ic_launcher.png \
+ ${DESTDIR}${PREFIX}/share/icons/hicolor/48x48/apps/blastem.png
+ ${INSTALL_DATA} ${WRKSRC}/android/res/drawable-hdpi/ic_launcher.png \
+ ${DESTDIR}${PREFIX}/share/icons/hicolor/72x72/apps/blastem.png
+ ${INSTALL_DATA} ${WRKSRC}/android/res/drawable-xhdpi/ic_launcher.png \
+ ${DESTDIR}${PREFIX}/share/icons/hicolor/96x96/apps/blastem.png
+ ${INSTALL_DATA} ${WRKSRC}/android/res/drawable-xxhdpi/ic_launcher.png \
+ ${DESTDIR}${PREFIX}/share/icons/hicolor/144x144/apps/blastem.png
+ ${INSTALL_DATA} ${WRKDIR}/blastem.desktop \
+ ${DESTDIR}${PREFIX}/share/applications/blastem.desktop
+
+.include "../../devel/SDL2/buildlink3.mk"
+.include "../../devel/zlib/buildlink3.mk"
+.include "../../graphics/MesaLib/buildlink3.mk"
+.include "../../graphics/hicolor-icon-theme/buildlink3.mk"
+.include "../../graphics/glew/buildlink3.mk"
+.include "../../graphics/glu/buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/emulators/blastem/PLIST b/emulators/blastem/PLIST
new file mode 100644
index 00000000000..523924f68de
--- /dev/null
+++ b/emulators/blastem/PLIST
@@ -0,0 +1,24 @@
+@comment $NetBSD: PLIST,v 1.1 2019/06/09 13:58:08 nia Exp $
+bin/blastem
+bin/blastem-dis
+bin/blastem-stateview
+bin/blastem-vgmplay
+bin/blastem-zdis
+share/applications/blastem.desktop
+share/blastem/default.cfg
+share/blastem/gamecontrollerdb.txt
+share/blastem/images/360.png
+share/blastem/images/ps4.png
+share/blastem/images/ps4_6b.png
+share/blastem/rom.db
+share/blastem/shaders/crt.f.glsl
+share/blastem/shaders/crt.v.glsl
+share/blastem/shaders/default.f.glsl
+share/blastem/shaders/default.v.glsl
+share/doc/blastem/CHANGELOG
+share/doc/blastem/COPYING
+share/doc/blastem/README
+share/icons/hicolor/144x144/apps/blastem.png
+share/icons/hicolor/48x48/apps/blastem.png
+share/icons/hicolor/72x72/apps/blastem.png
+share/icons/hicolor/96x96/apps/blastem.png
diff --git a/emulators/blastem/distinfo b/emulators/blastem/distinfo
new file mode 100644
index 00000000000..87f00c2e102
--- /dev/null
+++ b/emulators/blastem/distinfo
@@ -0,0 +1,7 @@
+$NetBSD: distinfo,v 1.1 2019/06/09 13:58:08 nia Exp $
+
+SHA1 (blastem/8aeac7bd9fa7.tar.gz) = 1953ebfd0eaf5e5630ff5488779eb8e6bb8fe9bf
+RMD160 (blastem/8aeac7bd9fa7.tar.gz) = f9d20a2f4211d03eb2278dcdcd36a8afb1e939e0
+SHA512 (blastem/8aeac7bd9fa7.tar.gz) = dec0d0c49cec9f896884b93c6ec568eb88d8ae51ddcf93445a70e9ad6543ef92c34fcdf14e66b56de1805dc5876d1ff17e51ab79d8d894da51312a42ac1c36d3
+Size (blastem/8aeac7bd9fa7.tar.gz) = 1113490 bytes
+SHA1 (patch-Makefile) = 1635e72bb90227b5fbfc32fe43bd5552ca48fb64
diff --git a/emulators/blastem/files/blastem.desktop b/emulators/blastem/files/blastem.desktop
new file mode 100644
index 00000000000..aff5d8f2b11
--- /dev/null
+++ b/emulators/blastem/files/blastem.desktop
@@ -0,0 +1,10 @@
+[Desktop Entry]
+Type=Application
+Encoding=UTF-8
+Name=BlastEm
+GenericName=Mega Drive Emulator
+Comment=Emulator for the Genesis / Mega Drive
+Icon=blastem
+Exec=blastem
+Terminal=false
+Categories=Game;Emulator;
diff --git a/emulators/blastem/patches/patch-Makefile b/emulators/blastem/patches/patch-Makefile
new file mode 100644
index 00000000000..ade98b8f903
--- /dev/null
+++ b/emulators/blastem/patches/patch-Makefile
@@ -0,0 +1,15 @@
+$NetBSD: patch-Makefile,v 1.1 2019/06/09 13:58:08 nia Exp $
+
+Do not use -Werror or override CFLAGS.
+
+--- Makefile.orig 2019-03-28 06:34:53.000000000 +0000
++++ Makefile
+@@ -36,7 +36,7 @@ NET:=net.o
+ EXE:=
+
+ HAS_PROC:=$(shell if [ -d /proc ]; then /bin/echo -e -DHAS_PROC; fi)
+-CFLAGS:=-std=gnu99 -Wreturn-type -Werror=return-type -Werror=implicit-function-declaration -Wno-unused-value $(HAS_PROC) -DHAVE_UNISTD_H
++CFLAGS+=-std=gnu99 -Wreturn-type -Wno-unused-value $(HAS_PROC) -DHAVE_UNISTD_H
+
+ ifeq ($(OS),Darwin)
+ LIBS=sdl2 glew