aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlejandro Pulver <alepulver@FreeBSD.org>2007-02-25 15:22:58 +0000
committerAlejandro Pulver <alepulver@FreeBSD.org>2007-02-25 15:22:58 +0000
commit86fd3fa4f20de29e3f6557fedcd1948c143fa1c1 (patch)
tree4a2a4371b7446d200dc542d20dc4f790e1c5fe8c
parent5cbdadaddc33d47fa0aab9dd90d088aca6fde73a (diff)
downloadports-86fd3fa4f20de29e3f6557fedcd1948c143fa1c1.tar.gz
ports-86fd3fa4f20de29e3f6557fedcd1948c143fa1c1.zip
Notes
-rw-r--r--emulators/Makefile1
-rw-r--r--emulators/mess/Makefile47
-rw-r--r--emulators/mess/distinfo3
-rw-r--r--emulators/mess/files/patch-makefile.sdl139
-rw-r--r--emulators/mess/files/pkg-message.in13
-rw-r--r--emulators/mess/files/sdlmess.in19
-rw-r--r--emulators/mess/pkg-descr17
-rw-r--r--emulators/mess/pkg-plist163
-rw-r--r--emulators/sdlmess/Makefile47
-rw-r--r--emulators/sdlmess/distinfo3
-rw-r--r--emulators/sdlmess/files/patch-makefile.sdl139
-rw-r--r--emulators/sdlmess/files/pkg-message.in13
-rw-r--r--emulators/sdlmess/files/sdlmess.in19
-rw-r--r--emulators/sdlmess/pkg-descr17
-rw-r--r--emulators/sdlmess/pkg-plist163
15 files changed, 803 insertions, 0 deletions
diff --git a/emulators/Makefile b/emulators/Makefile
index 9cff959b7215..0258aa18e6c4 100644
--- a/emulators/Makefile
+++ b/emulators/Makefile
@@ -111,6 +111,7 @@
SUBDIR += raine
SUBDIR += rtc
SUBDIR += sdlmame
+ SUBDIR += sdlmess
SUBDIR += sim
SUBDIR += sim6811
SUBDIR += ski
diff --git a/emulators/mess/Makefile b/emulators/mess/Makefile
new file mode 100644
index 000000000000..e76ed66bd353
--- /dev/null
+++ b/emulators/mess/Makefile
@@ -0,0 +1,47 @@
+# New ports collection makefile for: sdlmess
+# Date created: 2007-01-10
+# Whom: alepulver
+#
+# $FreeBSD$
+#
+
+PORTNAME= sdlmess
+PORTVERSION= 0.112
+CATEGORIES= emulators
+MASTER_SITES= http://rbelmont.mameworld.info/
+DISTNAME= ${PORTNAME}${PORTVERSION:S/.//}
+
+MAINTAINER= alepulver@FreeBSD.org
+COMMENT= SDL port of MESS (Multiple Emulator Super System)
+
+USE_ZIP= yes
+USE_GL= yes
+USE_GMAKE= yes
+USE_SDL= sdl
+MAKEFILE= makefile.sdl
+
+SUB_FILES= ${PORTNAME} pkg-message
+
+do-install:
+ ${INSTALL_SCRIPT} ${WRKDIR}/${PORTNAME} ${PREFIX}/bin
+ ${MKDIR} ${PREFIX}/libexec/${PORTNAME}
+.for f in chdman file2str imgtool messdocs messtest sdlmess
+ ${INSTALL_PROGRAM} ${WRKSRC}/${f} ${PREFIX}/libexec/${f:S/sdl//}
+.endfor
+ ${MKDIR} ${DATADIR}
+.for f in artwork cfg ctrlr hash ini memcard nvram snap software tools \
+ sysinfo.dat
+ ${CP} -R ${WRKSRC}/${f} ${DATADIR}
+.endfor
+.if !defined(NOPORTDOCS)
+ ${MKDIR} ${DOCSDIR}
+ ${INSTALL_DATA} ${WRKSRC}/*.txt ${DOCSDIR}
+ ${CP} -R ${WRKSRC}/docs ${DOCSDIR}
+.endif
+
+post-install:
+ @${ECHO_CMD}
+ @${CAT} ${PKGMESSAGE}
+ @${ECHO_CMD}
+
+.include <bsd.port.mk>
diff --git a/emulators/mess/distinfo b/emulators/mess/distinfo
new file mode 100644
index 000000000000..2216eaba94b2
--- /dev/null
+++ b/emulators/mess/distinfo
@@ -0,0 +1,3 @@
+MD5 (sdlmess0112.zip) = 9c5c09527cd5ba5863204a87b1a0db9b
+SHA256 (sdlmess0112.zip) = 2c60d49d3583a0e6dadc5fa71f0cc2fb927b3885c610ec3599a2f3cc4a1c14d7
+SIZE (sdlmess0112.zip) = 25600058
diff --git a/emulators/mess/files/patch-makefile.sdl b/emulators/mess/files/patch-makefile.sdl
new file mode 100644
index 000000000000..1e911c1715e0
--- /dev/null
+++ b/emulators/mess/files/patch-makefile.sdl
@@ -0,0 +1,139 @@
+--- ./makefile.sdl.orig Wed Feb 7 15:35:34 2007
++++ ./makefile.sdl Fri Feb 23 01:26:06 2007
+@@ -37,7 +37,7 @@
+ #
+ # for SDLMESS, set this to linux or macosx (lowercase is important!)
+ #
+-SUBARCH = linux
++SUBARCH = freebsd
+
+
+ #-------------------------------------------------
+@@ -48,11 +48,13 @@
+ # uncomment next line to include the debugger
+ # DEBUG = 1
+
++ifeq ($(ARCH),i386)
+ # uncomment next line to use DRC MIPS3 engine
+ X86_MIPS3_DRC = 1
+
+ # uncomment next line to use DRC PowerPC engine
+ X86_PPC_DRC = 1
++endif
+
+ #-------------------------------------------------
+ # specify build options; see each option below
+@@ -155,8 +157,8 @@
+
+ # compiler, linker and utilities
+ AR = @ar
+-CC = @gcc
+-LD = gcc
++CC := @$(CC)
++LD = $(CC)
+ MD = -mkdir
+ RM = @rm -f
+
+@@ -167,49 +169,8 @@
+ #-------------------------------------------------
+
+ # by default, don't compile for a specific target CPU
+-NAME = sdl$(PREFIX)$(TARGET)
+-ARCH =
+-
+-# architecture-specific builds get extra options
+-ifdef ATHLON
+-NAME = $(PREFIX)$(TARGET)at
+-ARCH = -march=athlon
+-endif
+-
+-ifdef I686
+-NAME = $(PREFIX)$(TARGET)pp
+-ARCH = -march=pentiumpro
+-endif
+-
+-ifdef P4
+-NAME = $(PREFIX)$(TARGET)p4
+-ARCH = -march=pentium4
+-endif
+-
+-ifdef AMD64
+-NAME = $(PREFIX)$(TARGET)64
+-ARCH = -march=athlon64
+-endif
+-
+-ifdef PM
+-NAME = $(PREFIX)$(TARGET)pm
+-ARCH = -march=pentium3 -msse2
+-endif
+-
+-ifdef G4
+-NAME = $(PREFIX)$(TARGET)g4
+-ARCH = -mcpu=G4
+-endif
+-
+-ifdef G5
+-NAME = $(PREFIX)$(TARGET)g5
+-ARCH = -mcpu=G5
+-endif
+-
+-ifdef CELL
+-NAME = $(PREFIX)$(TARGET)cbe
++NAME = sdl$(TARGET)
+ ARCH =
+-endif
+
+ # debug builds just get the 'd' suffix and nothing more
+ ifdef DEBUG
+@@ -255,7 +216,7 @@
+ MESSTEST = messtest$(EXE)
+ MESSDOCS = messdocs$(EXE)
+
+-CFLAGS = $(OPT_FLAGS) -std=gnu89 -Imess -Isrc -Isrc/includes -Isrc/$(MAMEOS) -I$(OBJ)/mess/layout -I$(OBJ)/layout -Imess/$(MAMEOS)
++CFLAGS += $(OPT_FLAGS) -std=gnu89 -Imess -Isrc -Isrc/includes -Isrc/$(MAMEOS) -I$(OBJ)/mess/layout -I$(OBJ)/layout -Imess/$(MAMEOS) -I$(LOCALBASE)/include -I$(X11BASE)/include
+
+ ifdef SYMBOLS
+ ifdef PPC
+@@ -267,7 +228,7 @@
+ endif # PPC
+ endif # SYMBOLS
+
+-CFLAGS += $(ARCH) \
++CFLAGS += \
+ -Wall \
+ -Wpointer-arith \
+ -Wbad-function-cast \
+@@ -279,7 +240,7 @@
+ -Wdeclaration-after-statement
+
+ ifneq ($(OPTIMIZE),0)
+-CFLAGS += -DNDEBUG $(ARCH) -fno-strict-aliasing
++CFLAGS += -DNDEBUG -fno-strict-aliasing
+ endif
+
+ CFLAGS += -O$(OPTIMIZE)
+@@ -287,11 +248,9 @@
+ # extra options needed *only* for the osd files
+ CFLAGSOSDEPEND = $(CFLAGS)
+
+-LDFLAGS = -WO
++LDFLAGS += -WO -L$(LOCALBASE)/lib -L$(X11BASE)/lib
+
+-ifdef SYMBOLS
+-LDFLAGS =
+-else
++ifndef SYMBOLS
+ LDFLAGS += -s
+ endif
+
+@@ -404,6 +363,10 @@
+ # add SDLMAME subarch definitions
+ ifeq ($(SUBARCH),linux)
+ CFLAGS += -DSDLMAME_LINUX
++endif
++
++ifeq ($(SUBARCH),freebsd)
++CFLAGS += -DSDLMAME_FREEBSD -DSDLMAME_NO64BITIO
+ endif
+
+ ifeq ($(SUBARCH),macosx)
diff --git a/emulators/mess/files/pkg-message.in b/emulators/mess/files/pkg-message.in
new file mode 100644
index 000000000000..07020956f626
--- /dev/null
+++ b/emulators/mess/files/pkg-message.in
@@ -0,0 +1,13 @@
+==============================================================================
+
+SDLMESS has been installed.
+
+The MESS tools are installed in "%%PREFIX%%/libexec/sdlmess"
+to avoid conflicting with other MESS ports.
+
+A wrapper script "sdlmess" has been installed. It creates a "~/.sdlmess"
+directory mirroring the directory tree under "%%DATADIR%%"
+when you run it for the first time, and starts the program from there. So
+place all MESS files (e.g. ROMs, cheats, etc.) in "~/.sdlmess".
+
+==============================================================================
diff --git a/emulators/mess/files/sdlmess.in b/emulators/mess/files/sdlmess.in
new file mode 100644
index 000000000000..df44e1bf27fd
--- /dev/null
+++ b/emulators/mess/files/sdlmess.in
@@ -0,0 +1,19 @@
+#!/bin/sh
+#
+# The executable needs to be run from its data directory, and needs to store
+# configuration in it. We therefore mirror the data directory hierarchy in
+# ~/.cube, and create symlinks to the data files.
+#
+
+if [ -d ~/.sdlmess ]
+then
+ echo "Using existing ~/.sdlmess directory."
+else
+ echo "Creating ~/.sdlmess directory."
+ cd %%DATADIR%% || exit 1
+ find * -type d -exec mkdir -p ~/.sdlmess/{} \;
+ find * -type f -exec ln -s %%DATADIR%%/{} ~/.sdlmess/{} \; 2>/dev/null
+fi
+
+cd ~/.sdlmess || exit 1
+exec %%PREFIX%%/libexec/sdlmess/mess "$@"
diff --git a/emulators/mess/pkg-descr b/emulators/mess/pkg-descr
new file mode 100644
index 000000000000..c0bb806b0137
--- /dev/null
+++ b/emulators/mess/pkg-descr
@@ -0,0 +1,17 @@
+SDLMESS is a port of the popular MESS. There are a few principles that guide
+it's development:
+
+1) Run on Linux/Unix, Mac OS X, and other SDL supported operating systems with
+ as few changes as possible to the base Win32 code. This means we can track
+ changes faster than larger more conventional ports, and we also maintain
+ what I call "Firefox compatibilty" where learning a major app only needs to
+ be done once per application, and it then applies across many operating
+ systems. If you can use the command-line Win32 MESS, you already know how
+ to use SDLMESS on any platform you may encounter it on.
+
+2) MESS developers are important. By keeping quickly up to date, we make it
+ easy for people on non-Windows platforms to make and submit changes to the
+ core MESS code, and we offer native implementations of MESS's multi-window
+ GUI debugger on both Linux/Unix and Mac OS X.
+
+WWW: http://rbelmont.mameworld.info/?page_id=163
diff --git a/emulators/mess/pkg-plist b/emulators/mess/pkg-plist
new file mode 100644
index 000000000000..d179fde71646
--- /dev/null
+++ b/emulators/mess/pkg-plist
@@ -0,0 +1,163 @@
+bin/sdlmess
+libexec/chdman
+libexec/file2str
+libexec/imgtool
+libexec/mess
+libexec/messdocs
+libexec/messtest
+%%PORTDOCS%%%%DOCSDIR%%/SDLMESS.txt
+%%PORTDOCS%%%%DOCSDIR%%/docs/credits.htm
+%%PORTDOCS%%%%DOCSDIR%%/docs/faq.htm
+%%PORTDOCS%%%%DOCSDIR%%/docs/images/logo.gif
+%%PORTDOCS%%%%DOCSDIR%%/docs/imgtool.txt
+%%PORTDOCS%%%%DOCSDIR%%/docs/license.txt
+%%PORTDOCS%%%%DOCSDIR%%/docs/mame.txt
+%%PORTDOCS%%%%DOCSDIR%%/docs/messnew.txt
+%%PORTDOCS%%%%DOCSDIR%%/docs/messroms.txt
+%%PORTDOCS%%%%DOCSDIR%%/docs/newvideo.txt
+%%PORTDOCS%%%%DOCSDIR%%/docs/style.css
+%%PORTDOCS%%%%DOCSDIR%%/docs/windows.txt
+%%PORTDOCS%%%%DOCSDIR%%/docs/windows/choice.htm
+%%PORTDOCS%%%%DOCSDIR%%/docs/windows/compile.htm
+%%PORTDOCS%%%%DOCSDIR%%/docs/windows/config.htm
+%%PORTDOCS%%%%DOCSDIR%%/docs/windows/control.htm
+%%PORTDOCS%%%%DOCSDIR%%/docs/windows/guiconf.htm
+%%PORTDOCS%%%%DOCSDIR%%/docs/windows/guiuse.htm
+%%PORTDOCS%%%%DOCSDIR%%/docs/windows/images/command.gif
+%%PORTDOCS%%%%DOCSDIR%%/docs/windows/images/frog.gif
+%%PORTDOCS%%%%DOCSDIR%%/docs/windows/images/gui.gif
+%%PORTDOCS%%%%DOCSDIR%%/docs/windows/images/guiaudit.gif
+%%PORTDOCS%%%%DOCSDIR%%/docs/windows/images/iniicon.gif
+%%PORTDOCS%%%%DOCSDIR%%/docs/windows/images/keybcnt.gif
+%%PORTDOCS%%%%DOCSDIR%%/docs/windows/images/newmenu.gif
+%%PORTDOCS%%%%DOCSDIR%%/docs/windows/images/oldmenu.gif
+%%PORTDOCS%%%%DOCSDIR%%/docs/windows/images/prop.gif
+%%PORTDOCS%%%%DOCSDIR%%/docs/windows/images/startup.gif
+%%PORTDOCS%%%%DOCSDIR%%/docs/windows/install.htm
+%%PORTDOCS%%%%DOCSDIR%%/docs/windows/instbios.htm
+%%PORTDOCS%%%%DOCSDIR%%/docs/windows/main.htm
+%%PORTDOCS%%%%DOCSDIR%%/docs/windows/mgebios.htm
+%%PORTDOCS%%%%DOCSDIR%%/docs/windows/osmenu.htm
+%%PORTDOCS%%%%DOCSDIR%%/docs/windows/runsw.htm
+%%PORTDOCS%%%%DOCSDIR%%/docs/windows/suppsys.htm
+%%PORTDOCS%%%%DOCSDIR%%/docs/windows/update.htm
+%%PORTDOCS%%%%DOCSDIR%%/docs/windows/win32cmd.htm
+%%PORTDOCS%%%%DOCSDIR%%/docs/wintoc.xml
+%%PORTDOCS%%%%DOCSDIR%%/whatsnew.txt
+%%DATADIR%%/artwork/avigo.zip
+%%DATADIR%%/artwork/dir.txt
+%%DATADIR%%/artwork/floppyr.png
+%%DATADIR%%/artwork/floppyw.png
+%%DATADIR%%/artwork/kim1.zip
+%%DATADIR%%/artwork/ledoff.png
+%%DATADIR%%/artwork/ledon.png
+%%DATADIR%%/artwork/mk1.zip
+%%DATADIR%%/artwork/mk2.zip
+%%DATADIR%%/artwork/mpf1.zip
+%%DATADIR%%/artwork/nes.zip
+%%DATADIR%%/artwork/pc1401.zip
+%%DATADIR%%/artwork/pc1402.zip
+%%DATADIR%%/artwork/pc1403.zip
+%%DATADIR%%/artwork/ssystem3.zip
+%%DATADIR%%/artwork/thomson.lay
+%%DATADIR%%/cfg/dir.txt
+%%DATADIR%%/ctrlr/hotrod.cfg
+%%DATADIR%%/ctrlr/hotrodse.cfg
+%%DATADIR%%/ctrlr/slikstik.cfg
+%%DATADIR%%/ctrlr/standard.cfg
+%%DATADIR%%/ctrlr/xarcade.cfg
+%%DATADIR%%/hash/a2600.hsi
+%%DATADIR%%/hash/a5200.hsi
+%%DATADIR%%/hash/a7800.hsi
+%%DATADIR%%/hash/a800.hsi
+%%DATADIR%%/hash/a800xl.hsi
+%%DATADIR%%/hash/advision.hsi
+%%DATADIR%%/hash/apexc.hsi
+%%DATADIR%%/hash/apple1.hsi
+%%DATADIR%%/hash/apple2.hsi
+%%DATADIR%%/hash/aquarius.hsi
+%%DATADIR%%/hash/arcadia.hsi
+%%DATADIR%%/hash/astrocde.hsi
+%%DATADIR%%/hash/bbca.hsi
+%%DATADIR%%/hash/c128.hsi
+%%DATADIR%%/hash/c16.hsi
+%%DATADIR%%/hash/c64.hsi
+%%DATADIR%%/hash/cbm30.hsi
+%%DATADIR%%/hash/cbm40.hsi
+%%DATADIR%%/hash/cbm610.hsi
+%%DATADIR%%/hash/cbm80.hsi
+%%DATADIR%%/hash/cgenie.hsi
+%%DATADIR%%/hash/channelf.hsi
+%%DATADIR%%/hash/coco.hsi
+%%DATADIR%%/hash/coleco.hsi
+%%DATADIR%%/hash/coupe.hsi
+%%DATADIR%%/hash/cpc464.hsi
+%%DATADIR%%/hash/cpc6128.hsi
+%%DATADIR%%/hash/dragon64.hsi
+%%DATADIR%%/hash/ep128.hsi
+%%DATADIR%%/hash/exidy.hsi
+%%DATADIR%%/hash/gameboy.hsi
+%%DATADIR%%/hash/gamegear.hsi
+%%DATADIR%%/hash/gen_usa.hsi
+%%DATADIR%%/hash/ibmpc.hsi
+%%DATADIR%%/hash/ibmpcjr.hsi
+%%DATADIR%%/hash/intv.hsi
+%%DATADIR%%/hash/jaguar.hsi
+%%DATADIR%%/hash/jupiter.hsi
+%%DATADIR%%/hash/laser210.hsi
+%%DATADIR%%/hash/lisa2.hsi
+%%DATADIR%%/hash/lviv.hsi
+%%DATADIR%%/hash/lynx.hsi
+%%DATADIR%%/hash/max.hsi
+%%DATADIR%%/hash/mc10.hsi
+%%DATADIR%%/hash/microtan.hsi
+%%DATADIR%%/hash/msx.hsi
+%%DATADIR%%/hash/msx2.hsi
+%%DATADIR%%/hash/mtx512.hsi
+%%DATADIR%%/hash/n64.hsi
+%%DATADIR%%/hash/nascom1.hsi
+%%DATADIR%%/hash/nes.hsi
+%%DATADIR%%/hash/odyssey2.hsi
+%%DATADIR%%/hash/oric.hsi
+%%DATADIR%%/hash/p2000t.hsi
+%%DATADIR%%/hash/pce.hsi
+%%DATADIR%%/hash/pdp1.hsi
+%%DATADIR%%/hash/pet.hsi
+%%DATADIR%%/hash/psx.hsi
+%%DATADIR%%/hash/sms.hsi
+%%DATADIR%%/hash/snes.hsi
+%%DATADIR%%/hash/sordm5.hsi
+%%DATADIR%%/hash/spectrum.hsi
+%%DATADIR%%/hash/studio2.hsi
+%%DATADIR%%/hash/svi318.hsi
+%%DATADIR%%/hash/svision.hsi
+%%DATADIR%%/hash/ti99_4a.hsi
+%%DATADIR%%/hash/ts2068.hsi
+%%DATADIR%%/hash/vc4000.hsi
+%%DATADIR%%/hash/vectrex.hsi
+%%DATADIR%%/hash/vic20.hsi
+%%DATADIR%%/hash/wswan.hsi
+%%DATADIR%%/ini/dir.txt
+%%DATADIR%%/memcard/dir.txt
+%%DATADIR%%/nvram/dir.txt
+%%DATADIR%%/snap/dir.txt
+%%DATADIR%%/software/dir.txt
+%%DATADIR%%/sysinfo.dat
+%%DATADIR%%/tools/dir.txt
+@dirrm %%DATADIR%%/tools
+@dirrm %%DATADIR%%/software
+@dirrm %%DATADIR%%/snap
+@dirrm %%DATADIR%%/nvram
+@dirrm %%DATADIR%%/memcard
+@dirrm %%DATADIR%%/ini
+@dirrm %%DATADIR%%/hash
+@dirrm %%DATADIR%%/ctrlr
+@dirrm %%DATADIR%%/cfg
+@dirrm %%DATADIR%%/artwork
+@dirrm %%DATADIR%%
+%%PORTDOCS%%@dirrm %%DOCSDIR%%/docs/windows/images
+%%PORTDOCS%%@dirrm %%DOCSDIR%%/docs/windows
+%%PORTDOCS%%@dirrm %%DOCSDIR%%/docs/images
+%%PORTDOCS%%@dirrm %%DOCSDIR%%/docs
+%%PORTDOCS%%@dirrm %%DOCSDIR%%
+@dirrm libexec/sdlmess
diff --git a/emulators/sdlmess/Makefile b/emulators/sdlmess/Makefile
new file mode 100644
index 000000000000..e76ed66bd353
--- /dev/null
+++ b/emulators/sdlmess/Makefile
@@ -0,0 +1,47 @@
+# New ports collection makefile for: sdlmess
+# Date created: 2007-01-10
+# Whom: alepulver
+#
+# $FreeBSD$
+#
+
+PORTNAME= sdlmess
+PORTVERSION= 0.112
+CATEGORIES= emulators
+MASTER_SITES= http://rbelmont.mameworld.info/
+DISTNAME= ${PORTNAME}${PORTVERSION:S/.//}
+
+MAINTAINER= alepulver@FreeBSD.org
+COMMENT= SDL port of MESS (Multiple Emulator Super System)
+
+USE_ZIP= yes
+USE_GL= yes
+USE_GMAKE= yes
+USE_SDL= sdl
+MAKEFILE= makefile.sdl
+
+SUB_FILES= ${PORTNAME} pkg-message
+
+do-install:
+ ${INSTALL_SCRIPT} ${WRKDIR}/${PORTNAME} ${PREFIX}/bin
+ ${MKDIR} ${PREFIX}/libexec/${PORTNAME}
+.for f in chdman file2str imgtool messdocs messtest sdlmess
+ ${INSTALL_PROGRAM} ${WRKSRC}/${f} ${PREFIX}/libexec/${f:S/sdl//}
+.endfor
+ ${MKDIR} ${DATADIR}
+.for f in artwork cfg ctrlr hash ini memcard nvram snap software tools \
+ sysinfo.dat
+ ${CP} -R ${WRKSRC}/${f} ${DATADIR}
+.endfor
+.if !defined(NOPORTDOCS)
+ ${MKDIR} ${DOCSDIR}
+ ${INSTALL_DATA} ${WRKSRC}/*.txt ${DOCSDIR}
+ ${CP} -R ${WRKSRC}/docs ${DOCSDIR}
+.endif
+
+post-install:
+ @${ECHO_CMD}
+ @${CAT} ${PKGMESSAGE}
+ @${ECHO_CMD}
+
+.include <bsd.port.mk>
diff --git a/emulators/sdlmess/distinfo b/emulators/sdlmess/distinfo
new file mode 100644
index 000000000000..2216eaba94b2
--- /dev/null
+++ b/emulators/sdlmess/distinfo
@@ -0,0 +1,3 @@
+MD5 (sdlmess0112.zip) = 9c5c09527cd5ba5863204a87b1a0db9b
+SHA256 (sdlmess0112.zip) = 2c60d49d3583a0e6dadc5fa71f0cc2fb927b3885c610ec3599a2f3cc4a1c14d7
+SIZE (sdlmess0112.zip) = 25600058
diff --git a/emulators/sdlmess/files/patch-makefile.sdl b/emulators/sdlmess/files/patch-makefile.sdl
new file mode 100644
index 000000000000..1e911c1715e0
--- /dev/null
+++ b/emulators/sdlmess/files/patch-makefile.sdl
@@ -0,0 +1,139 @@
+--- ./makefile.sdl.orig Wed Feb 7 15:35:34 2007
++++ ./makefile.sdl Fri Feb 23 01:26:06 2007
+@@ -37,7 +37,7 @@
+ #
+ # for SDLMESS, set this to linux or macosx (lowercase is important!)
+ #
+-SUBARCH = linux
++SUBARCH = freebsd
+
+
+ #-------------------------------------------------
+@@ -48,11 +48,13 @@
+ # uncomment next line to include the debugger
+ # DEBUG = 1
+
++ifeq ($(ARCH),i386)
+ # uncomment next line to use DRC MIPS3 engine
+ X86_MIPS3_DRC = 1
+
+ # uncomment next line to use DRC PowerPC engine
+ X86_PPC_DRC = 1
++endif
+
+ #-------------------------------------------------
+ # specify build options; see each option below
+@@ -155,8 +157,8 @@
+
+ # compiler, linker and utilities
+ AR = @ar
+-CC = @gcc
+-LD = gcc
++CC := @$(CC)
++LD = $(CC)
+ MD = -mkdir
+ RM = @rm -f
+
+@@ -167,49 +169,8 @@
+ #-------------------------------------------------
+
+ # by default, don't compile for a specific target CPU
+-NAME = sdl$(PREFIX)$(TARGET)
+-ARCH =
+-
+-# architecture-specific builds get extra options
+-ifdef ATHLON
+-NAME = $(PREFIX)$(TARGET)at
+-ARCH = -march=athlon
+-endif
+-
+-ifdef I686
+-NAME = $(PREFIX)$(TARGET)pp
+-ARCH = -march=pentiumpro
+-endif
+-
+-ifdef P4
+-NAME = $(PREFIX)$(TARGET)p4
+-ARCH = -march=pentium4
+-endif
+-
+-ifdef AMD64
+-NAME = $(PREFIX)$(TARGET)64
+-ARCH = -march=athlon64
+-endif
+-
+-ifdef PM
+-NAME = $(PREFIX)$(TARGET)pm
+-ARCH = -march=pentium3 -msse2
+-endif
+-
+-ifdef G4
+-NAME = $(PREFIX)$(TARGET)g4
+-ARCH = -mcpu=G4
+-endif
+-
+-ifdef G5
+-NAME = $(PREFIX)$(TARGET)g5
+-ARCH = -mcpu=G5
+-endif
+-
+-ifdef CELL
+-NAME = $(PREFIX)$(TARGET)cbe
++NAME = sdl$(TARGET)
+ ARCH =
+-endif
+
+ # debug builds just get the 'd' suffix and nothing more
+ ifdef DEBUG
+@@ -255,7 +216,7 @@
+ MESSTEST = messtest$(EXE)
+ MESSDOCS = messdocs$(EXE)
+
+-CFLAGS = $(OPT_FLAGS) -std=gnu89 -Imess -Isrc -Isrc/includes -Isrc/$(MAMEOS) -I$(OBJ)/mess/layout -I$(OBJ)/layout -Imess/$(MAMEOS)
++CFLAGS += $(OPT_FLAGS) -std=gnu89 -Imess -Isrc -Isrc/includes -Isrc/$(MAMEOS) -I$(OBJ)/mess/layout -I$(OBJ)/layout -Imess/$(MAMEOS) -I$(LOCALBASE)/include -I$(X11BASE)/include
+
+ ifdef SYMBOLS
+ ifdef PPC
+@@ -267,7 +228,7 @@
+ endif # PPC
+ endif # SYMBOLS
+
+-CFLAGS += $(ARCH) \
++CFLAGS += \
+ -Wall \
+ -Wpointer-arith \
+ -Wbad-function-cast \
+@@ -279,7 +240,7 @@
+ -Wdeclaration-after-statement
+
+ ifneq ($(OPTIMIZE),0)
+-CFLAGS += -DNDEBUG $(ARCH) -fno-strict-aliasing
++CFLAGS += -DNDEBUG -fno-strict-aliasing
+ endif
+
+ CFLAGS += -O$(OPTIMIZE)
+@@ -287,11 +248,9 @@
+ # extra options needed *only* for the osd files
+ CFLAGSOSDEPEND = $(CFLAGS)
+
+-LDFLAGS = -WO
++LDFLAGS += -WO -L$(LOCALBASE)/lib -L$(X11BASE)/lib
+
+-ifdef SYMBOLS
+-LDFLAGS =
+-else
++ifndef SYMBOLS
+ LDFLAGS += -s
+ endif
+
+@@ -404,6 +363,10 @@
+ # add SDLMAME subarch definitions
+ ifeq ($(SUBARCH),linux)
+ CFLAGS += -DSDLMAME_LINUX
++endif
++
++ifeq ($(SUBARCH),freebsd)
++CFLAGS += -DSDLMAME_FREEBSD -DSDLMAME_NO64BITIO
+ endif
+
+ ifeq ($(SUBARCH),macosx)
diff --git a/emulators/sdlmess/files/pkg-message.in b/emulators/sdlmess/files/pkg-message.in
new file mode 100644
index 000000000000..07020956f626
--- /dev/null
+++ b/emulators/sdlmess/files/pkg-message.in
@@ -0,0 +1,13 @@
+==============================================================================
+
+SDLMESS has been installed.
+
+The MESS tools are installed in "%%PREFIX%%/libexec/sdlmess"
+to avoid conflicting with other MESS ports.
+
+A wrapper script "sdlmess" has been installed. It creates a "~/.sdlmess"
+directory mirroring the directory tree under "%%DATADIR%%"
+when you run it for the first time, and starts the program from there. So
+place all MESS files (e.g. ROMs, cheats, etc.) in "~/.sdlmess".
+
+==============================================================================
diff --git a/emulators/sdlmess/files/sdlmess.in b/emulators/sdlmess/files/sdlmess.in
new file mode 100644
index 000000000000..df44e1bf27fd
--- /dev/null
+++ b/emulators/sdlmess/files/sdlmess.in
@@ -0,0 +1,19 @@
+#!/bin/sh
+#
+# The executable needs to be run from its data directory, and needs to store
+# configuration in it. We therefore mirror the data directory hierarchy in
+# ~/.cube, and create symlinks to the data files.
+#
+
+if [ -d ~/.sdlmess ]
+then
+ echo "Using existing ~/.sdlmess directory."
+else
+ echo "Creating ~/.sdlmess directory."
+ cd %%DATADIR%% || exit 1
+ find * -type d -exec mkdir -p ~/.sdlmess/{} \;
+ find * -type f -exec ln -s %%DATADIR%%/{} ~/.sdlmess/{} \; 2>/dev/null
+fi
+
+cd ~/.sdlmess || exit 1
+exec %%PREFIX%%/libexec/sdlmess/mess "$@"
diff --git a/emulators/sdlmess/pkg-descr b/emulators/sdlmess/pkg-descr
new file mode 100644
index 000000000000..c0bb806b0137
--- /dev/null
+++ b/emulators/sdlmess/pkg-descr
@@ -0,0 +1,17 @@
+SDLMESS is a port of the popular MESS. There are a few principles that guide
+it's development:
+
+1) Run on Linux/Unix, Mac OS X, and other SDL supported operating systems with
+ as few changes as possible to the base Win32 code. This means we can track
+ changes faster than larger more conventional ports, and we also maintain
+ what I call "Firefox compatibilty" where learning a major app only needs to
+ be done once per application, and it then applies across many operating
+ systems. If you can use the command-line Win32 MESS, you already know how
+ to use SDLMESS on any platform you may encounter it on.
+
+2) MESS developers are important. By keeping quickly up to date, we make it
+ easy for people on non-Windows platforms to make and submit changes to the
+ core MESS code, and we offer native implementations of MESS's multi-window
+ GUI debugger on both Linux/Unix and Mac OS X.
+
+WWW: http://rbelmont.mameworld.info/?page_id=163
diff --git a/emulators/sdlmess/pkg-plist b/emulators/sdlmess/pkg-plist
new file mode 100644
index 000000000000..d179fde71646
--- /dev/null
+++ b/emulators/sdlmess/pkg-plist
@@ -0,0 +1,163 @@
+bin/sdlmess
+libexec/chdman
+libexec/file2str
+libexec/imgtool
+libexec/mess
+libexec/messdocs
+libexec/messtest
+%%PORTDOCS%%%%DOCSDIR%%/SDLMESS.txt
+%%PORTDOCS%%%%DOCSDIR%%/docs/credits.htm
+%%PORTDOCS%%%%DOCSDIR%%/docs/faq.htm
+%%PORTDOCS%%%%DOCSDIR%%/docs/images/logo.gif
+%%PORTDOCS%%%%DOCSDIR%%/docs/imgtool.txt
+%%PORTDOCS%%%%DOCSDIR%%/docs/license.txt
+%%PORTDOCS%%%%DOCSDIR%%/docs/mame.txt
+%%PORTDOCS%%%%DOCSDIR%%/docs/messnew.txt
+%%PORTDOCS%%%%DOCSDIR%%/docs/messroms.txt
+%%PORTDOCS%%%%DOCSDIR%%/docs/newvideo.txt
+%%PORTDOCS%%%%DOCSDIR%%/docs/style.css
+%%PORTDOCS%%%%DOCSDIR%%/docs/windows.txt
+%%PORTDOCS%%%%DOCSDIR%%/docs/windows/choice.htm
+%%PORTDOCS%%%%DOCSDIR%%/docs/windows/compile.htm
+%%PORTDOCS%%%%DOCSDIR%%/docs/windows/config.htm
+%%PORTDOCS%%%%DOCSDIR%%/docs/windows/control.htm
+%%PORTDOCS%%%%DOCSDIR%%/docs/windows/guiconf.htm
+%%PORTDOCS%%%%DOCSDIR%%/docs/windows/guiuse.htm
+%%PORTDOCS%%%%DOCSDIR%%/docs/windows/images/command.gif
+%%PORTDOCS%%%%DOCSDIR%%/docs/windows/images/frog.gif
+%%PORTDOCS%%%%DOCSDIR%%/docs/windows/images/gui.gif
+%%PORTDOCS%%%%DOCSDIR%%/docs/windows/images/guiaudit.gif
+%%PORTDOCS%%%%DOCSDIR%%/docs/windows/images/iniicon.gif
+%%PORTDOCS%%%%DOCSDIR%%/docs/windows/images/keybcnt.gif
+%%PORTDOCS%%%%DOCSDIR%%/docs/windows/images/newmenu.gif
+%%PORTDOCS%%%%DOCSDIR%%/docs/windows/images/oldmenu.gif
+%%PORTDOCS%%%%DOCSDIR%%/docs/windows/images/prop.gif
+%%PORTDOCS%%%%DOCSDIR%%/docs/windows/images/startup.gif
+%%PORTDOCS%%%%DOCSDIR%%/docs/windows/install.htm
+%%PORTDOCS%%%%DOCSDIR%%/docs/windows/instbios.htm
+%%PORTDOCS%%%%DOCSDIR%%/docs/windows/main.htm
+%%PORTDOCS%%%%DOCSDIR%%/docs/windows/mgebios.htm
+%%PORTDOCS%%%%DOCSDIR%%/docs/windows/osmenu.htm
+%%PORTDOCS%%%%DOCSDIR%%/docs/windows/runsw.htm
+%%PORTDOCS%%%%DOCSDIR%%/docs/windows/suppsys.htm
+%%PORTDOCS%%%%DOCSDIR%%/docs/windows/update.htm
+%%PORTDOCS%%%%DOCSDIR%%/docs/windows/win32cmd.htm
+%%PORTDOCS%%%%DOCSDIR%%/docs/wintoc.xml
+%%PORTDOCS%%%%DOCSDIR%%/whatsnew.txt
+%%DATADIR%%/artwork/avigo.zip
+%%DATADIR%%/artwork/dir.txt
+%%DATADIR%%/artwork/floppyr.png
+%%DATADIR%%/artwork/floppyw.png
+%%DATADIR%%/artwork/kim1.zip
+%%DATADIR%%/artwork/ledoff.png
+%%DATADIR%%/artwork/ledon.png
+%%DATADIR%%/artwork/mk1.zip
+%%DATADIR%%/artwork/mk2.zip
+%%DATADIR%%/artwork/mpf1.zip
+%%DATADIR%%/artwork/nes.zip
+%%DATADIR%%/artwork/pc1401.zip
+%%DATADIR%%/artwork/pc1402.zip
+%%DATADIR%%/artwork/pc1403.zip
+%%DATADIR%%/artwork/ssystem3.zip
+%%DATADIR%%/artwork/thomson.lay
+%%DATADIR%%/cfg/dir.txt
+%%DATADIR%%/ctrlr/hotrod.cfg
+%%DATADIR%%/ctrlr/hotrodse.cfg
+%%DATADIR%%/ctrlr/slikstik.cfg
+%%DATADIR%%/ctrlr/standard.cfg
+%%DATADIR%%/ctrlr/xarcade.cfg
+%%DATADIR%%/hash/a2600.hsi
+%%DATADIR%%/hash/a5200.hsi
+%%DATADIR%%/hash/a7800.hsi
+%%DATADIR%%/hash/a800.hsi
+%%DATADIR%%/hash/a800xl.hsi
+%%DATADIR%%/hash/advision.hsi
+%%DATADIR%%/hash/apexc.hsi
+%%DATADIR%%/hash/apple1.hsi
+%%DATADIR%%/hash/apple2.hsi
+%%DATADIR%%/hash/aquarius.hsi
+%%DATADIR%%/hash/arcadia.hsi
+%%DATADIR%%/hash/astrocde.hsi
+%%DATADIR%%/hash/bbca.hsi
+%%DATADIR%%/hash/c128.hsi
+%%DATADIR%%/hash/c16.hsi
+%%DATADIR%%/hash/c64.hsi
+%%DATADIR%%/hash/cbm30.hsi
+%%DATADIR%%/hash/cbm40.hsi
+%%DATADIR%%/hash/cbm610.hsi
+%%DATADIR%%/hash/cbm80.hsi
+%%DATADIR%%/hash/cgenie.hsi
+%%DATADIR%%/hash/channelf.hsi
+%%DATADIR%%/hash/coco.hsi
+%%DATADIR%%/hash/coleco.hsi
+%%DATADIR%%/hash/coupe.hsi
+%%DATADIR%%/hash/cpc464.hsi
+%%DATADIR%%/hash/cpc6128.hsi
+%%DATADIR%%/hash/dragon64.hsi
+%%DATADIR%%/hash/ep128.hsi
+%%DATADIR%%/hash/exidy.hsi
+%%DATADIR%%/hash/gameboy.hsi
+%%DATADIR%%/hash/gamegear.hsi
+%%DATADIR%%/hash/gen_usa.hsi
+%%DATADIR%%/hash/ibmpc.hsi
+%%DATADIR%%/hash/ibmpcjr.hsi
+%%DATADIR%%/hash/intv.hsi
+%%DATADIR%%/hash/jaguar.hsi
+%%DATADIR%%/hash/jupiter.hsi
+%%DATADIR%%/hash/laser210.hsi
+%%DATADIR%%/hash/lisa2.hsi
+%%DATADIR%%/hash/lviv.hsi
+%%DATADIR%%/hash/lynx.hsi
+%%DATADIR%%/hash/max.hsi
+%%DATADIR%%/hash/mc10.hsi
+%%DATADIR%%/hash/microtan.hsi
+%%DATADIR%%/hash/msx.hsi
+%%DATADIR%%/hash/msx2.hsi
+%%DATADIR%%/hash/mtx512.hsi
+%%DATADIR%%/hash/n64.hsi
+%%DATADIR%%/hash/nascom1.hsi
+%%DATADIR%%/hash/nes.hsi
+%%DATADIR%%/hash/odyssey2.hsi
+%%DATADIR%%/hash/oric.hsi
+%%DATADIR%%/hash/p2000t.hsi
+%%DATADIR%%/hash/pce.hsi
+%%DATADIR%%/hash/pdp1.hsi
+%%DATADIR%%/hash/pet.hsi
+%%DATADIR%%/hash/psx.hsi
+%%DATADIR%%/hash/sms.hsi
+%%DATADIR%%/hash/snes.hsi
+%%DATADIR%%/hash/sordm5.hsi
+%%DATADIR%%/hash/spectrum.hsi
+%%DATADIR%%/hash/studio2.hsi
+%%DATADIR%%/hash/svi318.hsi
+%%DATADIR%%/hash/svision.hsi
+%%DATADIR%%/hash/ti99_4a.hsi
+%%DATADIR%%/hash/ts2068.hsi
+%%DATADIR%%/hash/vc4000.hsi
+%%DATADIR%%/hash/vectrex.hsi
+%%DATADIR%%/hash/vic20.hsi
+%%DATADIR%%/hash/wswan.hsi
+%%DATADIR%%/ini/dir.txt
+%%DATADIR%%/memcard/dir.txt
+%%DATADIR%%/nvram/dir.txt
+%%DATADIR%%/snap/dir.txt
+%%DATADIR%%/software/dir.txt
+%%DATADIR%%/sysinfo.dat
+%%DATADIR%%/tools/dir.txt
+@dirrm %%DATADIR%%/tools
+@dirrm %%DATADIR%%/software
+@dirrm %%DATADIR%%/snap
+@dirrm %%DATADIR%%/nvram
+@dirrm %%DATADIR%%/memcard
+@dirrm %%DATADIR%%/ini
+@dirrm %%DATADIR%%/hash
+@dirrm %%DATADIR%%/ctrlr
+@dirrm %%DATADIR%%/cfg
+@dirrm %%DATADIR%%/artwork
+@dirrm %%DATADIR%%
+%%PORTDOCS%%@dirrm %%DOCSDIR%%/docs/windows/images
+%%PORTDOCS%%@dirrm %%DOCSDIR%%/docs/windows
+%%PORTDOCS%%@dirrm %%DOCSDIR%%/docs/images
+%%PORTDOCS%%@dirrm %%DOCSDIR%%/docs
+%%PORTDOCS%%@dirrm %%DOCSDIR%%
+@dirrm libexec/sdlmess