summaryrefslogtreecommitdiff
path: root/emulators/xmess
diff options
context:
space:
mode:
Diffstat (limited to 'emulators/xmess')
-rw-r--r--emulators/xmess/Makefile76
-rw-r--r--emulators/xmess/distinfo6
-rwxr-xr-xemulators/xmess/files/endian.sh4
-rw-r--r--emulators/xmess/patches/patch-aa82
-rw-r--r--emulators/xmess/patches/patch-ae30
-rw-r--r--emulators/xmess/pkg/DESCR8
-rw-r--r--emulators/xmess/pkg/PLIST5
7 files changed, 211 insertions, 0 deletions
diff --git a/emulators/xmess/Makefile b/emulators/xmess/Makefile
new file mode 100644
index 00000000000..c62781f0b67
--- /dev/null
+++ b/emulators/xmess/Makefile
@@ -0,0 +1,76 @@
+# $NetBSD: Makefile,v 1.14 2001/09/02 23:04:23 kristerw Exp $
+#
+
+DISTNAME= xmame-0.37b15.2
+PKGNAME= xmess-0.37b15.2
+CATEGORIES= emulators games x11
+MASTER_SITES= http://x.mame.net/download/
+EXTRACT_SUFX= .tar.bz2
+
+MAINTAINER= kristerw@netbsd.org
+HOMEPAGE= http://x.mame.net/
+COMMENT= X11 emulator for old computers and console machines
+
+DEPENDS= unzip>=5.40:../../archivers/unzip
+
+RESTRICTED= "selling is not allowed"
+NO_SRC_ON_CDROM= ${RESTRICTED}
+NO_BIN_ON_CDROM= ${RESTRICTED}
+
+USE_X11BASE= YES
+USE_XPM= YES
+USE_GMAKE= YES
+MAKE_ENV+= OPSYS=${OPSYS} ARCH=${ARCH} \
+ MAME_CPU=${MAME_CPU} \
+ INSTALL_MAN="${INSTALL_MAN}" \
+ INSTALL_PROGRAM="${INSTALL_PROGRAM}" \
+ NETBSD_JOYSTICK="${NETBSD_JOYSTICK}" \
+ NETBSD_DGA="${NETBSD_DGA}" \
+ DISPLAY_METHOD="${DISPLAY_METHOD}"
+MAKEFILE= makefile.unix
+DISPLAY_METHOD= x11
+
+ROMPATH= ${PREFIX}/share/xmess
+SPOOLDIR= /var/games/xmess
+.if exists(/usr/include/machine/joystick.h)
+NETBSD_JOYSTICK= yes
+.else
+NETBSD_JOYSTICK= no
+.endif
+.if exists(${X11BASE}/include/X11/extensions/xf86dga.h)
+NETBSD_DGA= yes
+.else
+NETBSD_DGA= no
+.endif
+
+post-patch:
+ (cd ${WRKSRC}/doc && ${SED} 's|@ROMPATH@|${ROMPATH}|;s|@SPOOLDIR@|${SPOOLDIR}|' \
+ xmamerc.dist >xmessrc)
+
+do-install:
+ (cd ${WRKSRC} && ${INSTALL_PROGRAM} xmess.${DISPLAY_METHOD} \
+ ${PREFIX}/bin/xmess)
+ (cd ${WRKSRC}/doc && ${INSTALL_MAN} xmess.6 \
+ ${PREFIX}/man/man6/xmess.6)
+ ${INSTALL_DATA_DIR} ${ROMPATH}
+ (cd ${WRKSRC}/doc && ${INSTALL_DATA} xmessrc ${ROMPATH}/xmessrc)
+ @${ECHO} Remember to set ROMPATH to ${ROMPATH}.
+
+.include "../../mk/bsd.pkg.mk"
+
+# This has to come after bsd.pkg.mk to make sure we have FILESDIR
+.if ${MACHINE_ARCH} == "m68k"
+MAME_CPU= m68k
+.elif ${MACHINE_ARCH} == "alpha"
+MAME_CPU= alpha
+.elif ${MACHINE_ARCH} == "i386"
+MAME_CPU= i386
+.else
+# Rather than enumerating all CPU types, check machine/endian.h
+ENDIAN!= ${SH} ${FILESDIR}/endian.sh
+.if ${ENDIAN} == "LITTLE_ENDIAN"
+MAME_CPU= risc_lsb
+.else
+MAME_CPU= risc
+.endif
+.endif
diff --git a/emulators/xmess/distinfo b/emulators/xmess/distinfo
new file mode 100644
index 00000000000..cf01e1ac826
--- /dev/null
+++ b/emulators/xmess/distinfo
@@ -0,0 +1,6 @@
+$NetBSD: distinfo,v 1.1 2001/09/02 23:04:23 kristerw Exp $
+
+SHA1 (xmame-0.37b15.2.tar.bz2) = 1221f8d8bfc1d60037043fa05a37c173e6688b99
+Size (xmame-0.37b15.2.tar.bz2) = 6567701 bytes
+SHA1 (patch-aa) = f3163c20075092e5f70e488002d5e88154b56d6a
+SHA1 (patch-ae) = dfd2f103139dbf1f575cf00d8feda75085db39be
diff --git a/emulators/xmess/files/endian.sh b/emulators/xmess/files/endian.sh
new file mode 100755
index 00000000000..ef3d3e8aec4
--- /dev/null
+++ b/emulators/xmess/files/endian.sh
@@ -0,0 +1,4 @@
+#!/bin/sh
+# $Id: endian.sh,v 1.1 2001/09/02 23:04:23 kristerw Exp $
+# Trivial script to output BIG_ENDIAN or LITTLE_ENDIAN
+printf '#include <machine/endian.h>\n#if BYTE_ORDER == BIG_ENDIAN\nORDER_BIG_ENDIAN\n#else\nORDER_LITTLE_ENDIAN\n#endif\n' | cpp -P | sed -n 's/^ORDER_//p'
diff --git a/emulators/xmess/patches/patch-aa b/emulators/xmess/patches/patch-aa
new file mode 100644
index 00000000000..f5059d01272
--- /dev/null
+++ b/emulators/xmess/patches/patch-aa
@@ -0,0 +1,82 @@
+$NetBSD: patch-aa,v 1.13 2001/09/02 23:04:23 kristerw Exp $
+--- makefile.unix.orig Thu Aug 23 02:48:30 2001
++++ makefile.unix Sat Sep 1 12:19:39 2001
+@@ -32,7 +32,7 @@
+
+ #set TARGET to "mame" (without the ") to compile xmame and to "mess" to
+ #compile xmess.
+-TARGET = mame
++TARGET = mess
+
+
+ ##############################################################################
+@@ -189,7 +189,7 @@
+ # *** xmameroot, this is the default rompath, place where the highscores are
+ # stored, global rc location etc. Since most of these are configurable through
+ # the rc-file anyway, there are no longer seperate defines for each.
+-XMAMEROOT = $(PREFIX)/lib/x$(TARGET)
++XMAMEROOT = $(PREFIX)/share/xmess
+
+
+ ##############################################################################
+@@ -197,7 +197,7 @@
+ ##############################################################################
+
+ ### i386 + gnu-asm
+-MY_CPU = i386
++MY_CPU = ${MAME_CPU}
+ ### i386 no asm
+ # MY_CPU = i386_noasm
+ ### ia64
+@@ -218,11 +218,11 @@
+ ##############################################################################
+
+ ### Linux
+-ARCH = linux
++# ARCH = linux
+ ### FreeBSD
+ # ARCH = freebsd
+ ### NetBSD
+-# ARCH = netbsd
++ARCH = netbsd
+ ### OpenBSD
+ # ARCH = openbsd
+ ### Solaris / SunOS
+@@ -255,11 +255,13 @@
+ # X Input Extensions based joystick, this is known to not work right now ;|
+ # JOY_X11 = 1
+ # On iX86 based OS's, if supported, you can use standard joystick driver.
+-# JOY_I386 = 1
++ifeq (${NETBSD_JOYSTICK},yes)
++JOY_I386 = 1
++endif
+ # Linux FM-TOWNS game PAD joystick emulation support, thanks to Osamu Kurati.
+ # JOY_PAD = 1
+ # NetBSD/FreeBSD USB joystick support.
+-# JOY_USB = 1
++JOY_USB = 1
+
+
+ ##############################################################################
+@@ -307,7 +309,9 @@
+ # MIT-Shared Memory X Extensions, comment the
+ X11_MITSHM = 1
+ # XFree86 DGA
+-# X11_DGA = 1
++ifeq (${NETBSD_DGA},yes)
++X11_DGA = 1
++endif
+ # The XIL library (Solaris 2.5.1 and higher), uncomment
+ # X11_XIL = 1
+
+@@ -316,8 +320,8 @@
+ # X11INC = -I/usr/include/X11
+ # X11LIB = -L/usr/lib/X11
+ # standard location for XFree86
+-X11INC = -I/usr/X11R6/include
+-X11LIB = -L/usr/X11R6/lib
++X11INC = -I${PREFIX}/include -I${X11BASE}/include
++X11LIB = -L${PREFIX}/lib -Wl,-R${PREFIX}/lib -L${X11BASE}/lib -Wl,-R${X11BASE}/lib
+ # for Sun systems
+ # X11INC = -I/usr/openwin/include
+ # X11LIB = -L/usr/openwin/lib
diff --git a/emulators/xmess/patches/patch-ae b/emulators/xmess/patches/patch-ae
new file mode 100644
index 00000000000..cbe8d07ee91
--- /dev/null
+++ b/emulators/xmess/patches/patch-ae
@@ -0,0 +1,30 @@
+$NetBSD: patch-ae,v 1.4 2001/09/02 23:04:24 kristerw Exp $
+--- doc/xmamerc.dist.orig Mon Jul 2 02:03:49 2001
++++ doc/xmamerc.dist Mon Sep 3 00:34:24 2001
+@@ -70,20 +70,18 @@
+ mouse 1
+
+ ### Fileio Related ###
+-rompath /usr/games/lib/xmame
+-spooldir /usr/games/lib/xmame
++rompath @ROMPATH@
++spooldir @SPOOLDIR@
+ screenshotdir .
+-cheatfile /usr/games/lib/xmame/cheat.dat
+-hiscorefile /usr/games/lib/xmame/hiscore.dat
+-historyfile /usr/games/lib/xmame/history.dat
+-mameinfofile /usr/games/lib/xmame/mameinfo.dat
++cheatfile @SPOOLDIR@/cheat.dat
++hiscorefile @SPOOLDIR@/hiscore.dat
++historyfile @SPOOLDIR@/history.dat
++mameinfofile @SPOOLDIR@/mameinfo.dat
+
+ ### Mame Related ###
+-defaultgame pacman
+ language english
+ fuzzycmp 1
+ cheat 0
+-debug 0
+
+ ### Frontend Related ###
+ clones 1
diff --git a/emulators/xmess/pkg/DESCR b/emulators/xmess/pkg/DESCR
new file mode 100644
index 00000000000..d30a206a69e
--- /dev/null
+++ b/emulators/xmess/pkg/DESCR
@@ -0,0 +1,8 @@
+X-MESS is the X11 port of the MESS game console emulator.
+
+MESS is a virtual machine emulator; it includes emulators for the CPUs,
+sound and video chips used in game consoles, as well as special purpose
+PALs and detailed information about the memory layout of each machine.
+
+To play games in X-MESS you must have a copy of the original game,
+extracted from a cartridge, floppy or tape image.
diff --git a/emulators/xmess/pkg/PLIST b/emulators/xmess/pkg/PLIST
new file mode 100644
index 00000000000..94818d8f90b
--- /dev/null
+++ b/emulators/xmess/pkg/PLIST
@@ -0,0 +1,5 @@
+@comment $NetBSD: PLIST,v 1.4 2001/09/02 23:04:24 kristerw Exp $
+bin/xmess
+man/man6/xmess.6
+share/xmess/xmessrc
+@dirrm share/xmess