diff options
author | alepulver <alepulver@FreeBSD.org> | 2007-02-25 23:17:51 +0800 |
---|---|---|
committer | alepulver <alepulver@FreeBSD.org> | 2007-02-25 23:17:51 +0800 |
commit | 7fc5c3929613f29c3c65eb3ab27f6f67b33f9baa (patch) | |
tree | 482402f678aee75336e4496e17676c4859605469 | |
parent | c4bb49f032eae3281b150190691e858495d6b612 (diff) | |
download | freebsd-ports-gnome-7fc5c3929613f29c3c65eb3ab27f6f67b33f9baa.tar.gz freebsd-ports-gnome-7fc5c3929613f29c3c65eb3ab27f6f67b33f9baa.tar.zst freebsd-ports-gnome-7fc5c3929613f29c3c65eb3ab27f6f67b33f9baa.zip |
SDLMAME is a port of the popular MAME. 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 such as MacMAME, 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 MAME, you already
know how to use SDLMAME on any platform you may encounter it on.
2) MAME 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 MAME code, and we offer native implementations of MAME's multi-window
GUI debugger on both Linux/Unix and Mac OS X.
WWW: http://rbelmont.mameworld.info/?page_id=163
29 files changed, 1053 insertions, 0 deletions
diff --git a/emulators/Makefile b/emulators/Makefile index ee34d82f5f14..9cff959b7215 100644 --- a/emulators/Makefile +++ b/emulators/Makefile @@ -110,6 +110,7 @@ SUBDIR += quasi88 SUBDIR += raine SUBDIR += rtc + SUBDIR += sdlmame SUBDIR += sim SUBDIR += sim6811 SUBDIR += ski diff --git a/emulators/mame-devel/Makefile b/emulators/mame-devel/Makefile new file mode 100644 index 000000000000..025557cdac03 --- /dev/null +++ b/emulators/mame-devel/Makefile @@ -0,0 +1,45 @@ +# New ports collection makefile for: sdlmame +# Date created: 2007-01-10 +# Whom: alepulver +# +# $FreeBSD$ +# + +PORTNAME= sdlmame +PORTVERSION= 0.112u2 +CATEGORIES= emulators +MASTER_SITES= http://rbelmont.mameworld.info/ +DISTNAME= ${PORTNAME}${PORTVERSION:S/.//} + +MAINTAINER= alepulver@FreeBSD.org +COMMENT= SDL port of the popular MAME (Multi Arcade Machine Emulator) + +USE_ZIP= yes +USE_GL= yes +USE_GMAKE= yes +USE_SDL= sdl +MAKEFILE= makefile + +SUB_FILES= ${PORTNAME} pkg-message + +do-install: + ${INSTALL_SCRIPT} ${WRKDIR}/${PORTNAME} ${PREFIX}/bin + ${MKDIR} ${PREFIX}/libexec/${PORTNAME} +.for f in mame file2str romcmp chdman jedutil + ${INSTALL_PROGRAM} ${WRKSRC}/${f} ${PREFIX}/libexec/${PORTNAME} +.endfor + ${MKDIR} ${DATADIR} + ${INSTALL_DATA} ${WRKSRC}/ui.bdf ${DATADIR} + cd ${DATADIR} && ${MKDIR} artwork cfg comments diff ini nvram roms +.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/mame-devel/distinfo b/emulators/mame-devel/distinfo new file mode 100644 index 000000000000..c0c60c9b5540 --- /dev/null +++ b/emulators/mame-devel/distinfo @@ -0,0 +1,3 @@ +MD5 (sdlmame0112u2.zip) = 3505ed75d9034621ae3774d1d61edc5e +SHA256 (sdlmame0112u2.zip) = 7796f76494dbf5c6d5628a22b653f7ea8730781cc1f414e4d8e2b4732d9e787a +SIZE (sdlmame0112u2.zip) = 15437796 diff --git a/emulators/mame-devel/files/patch-makefile b/emulators/mame-devel/files/patch-makefile new file mode 100644 index 000000000000..83d38ebdce15 --- /dev/null +++ b/emulators/mame-devel/files/patch-makefile @@ -0,0 +1,141 @@ +--- ./makefile.orig Sun Feb 18 22:23:18 2007 ++++ ./makefile Fri Feb 23 01:26:35 2007 +@@ -50,7 +50,7 @@ + # + # NOTE: this makefile now works for MinGW/win32 builds as well! + # +-SUBARCH = linux ++SUBARCH = freebsd + + + #------------------------------------------------- +@@ -61,11 +61,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 +@@ -172,8 +174,8 @@ + + # compiler, linker and utilities + AR = @ar +-CC = @gcc +-LD = @gcc ++CC := @$(CC) ++LD = @$(CC) + MD = -mkdir + RM = @rm -f + +@@ -189,53 +191,12 @@ + endif + + # by default, don't compile for a specific target CPU +-NAME = $(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 = $(TARGET) + ARCH = +-endif + + # debug builds just get the 'd' suffix and nothing more + ifdef DEBUG +-NAME = $(PREFIX)$(TARGET)d ++NAME = $(TARGET)d + endif + + EMULATOR = $(NAME)$(EXE) +@@ -273,7 +234,7 @@ + # compile and linking flags + #------------------------------------------------- + +-CFLAGS = \ ++CFLAGS += \ + $(OPT_FLAGS) \ + -std=gnu89 \ + -I$(SRC)/$(TARGET) \ +@@ -284,6 +245,7 @@ + -I$(SRC)/lib/util \ + -I$(SRC)/osd \ + -I$(SRC)/osd/$(MAMEOS) \ ++ -I$(LOCALBASE)/include -I$(X11BASE)/include + + ifdef MESS + CFLAGS += \ +@@ -302,7 +264,7 @@ + endif # PPC + endif # SYMBOLS + +-CFLAGS += $(ARCH) \ ++CFLAGS += \ + -Wall \ + -Wpointer-arith \ + -Wbad-function-cast \ +@@ -314,7 +276,7 @@ + -Wdeclaration-after-statement + + ifneq ($(OPTIMIZE),0) +-CFLAGS += -DNDEBUG $(ARCH) -fno-strict-aliasing ++CFLAGS += -DNDEBUG -fno-strict-aliasing + endif + + CFLAGS += -O$(OPTIMIZE) +@@ -322,11 +284,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 + diff --git a/emulators/mame-devel/files/pkg-message.in b/emulators/mame-devel/files/pkg-message.in new file mode 100644 index 000000000000..3290fa533a30 --- /dev/null +++ b/emulators/mame-devel/files/pkg-message.in @@ -0,0 +1,13 @@ +============================================================================== + +SDLMAME has been installed. + +The MAME tools are installed in "%%PREFIX%%/libexec/sdlmame" +to avoid conflicting with other MAME ports. + +A wrapper script "sdlmame" has been installed. It creates a "~/.sdlmame" +directory mirroring the directory tree under "%%DATADIR%%" +when you run it for the first time, and starts the program from there. So +place all MAME files (e.g. ROMs, cheats, etc.) in "~/.sdlmame". + +============================================================================== diff --git a/emulators/mame-devel/files/sdlmame.in b/emulators/mame-devel/files/sdlmame.in new file mode 100644 index 000000000000..9a7c7215f76a --- /dev/null +++ b/emulators/mame-devel/files/sdlmame.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 ~/.sdlmame ] +then + echo "Using existing ~/.sdlmame directory." +else + echo "Creating ~/.sdlmame directory." + cd %%DATADIR%% || exit 1 + find * -type d -exec mkdir -p ~/.sdlmame/{} \; + find * -type f -exec ln -s %%DATADIR%%/{} ~/.sdlmame/{} \; 2>/dev/null +fi + +cd ~/.sdlmame || exit 1 +exec %%PREFIX%%/libexec/sdlmame/mame "$@" diff --git a/emulators/mame-devel/pkg-descr b/emulators/mame-devel/pkg-descr new file mode 100644 index 000000000000..b297a4b68fa9 --- /dev/null +++ b/emulators/mame-devel/pkg-descr @@ -0,0 +1,17 @@ +SDLMAME is a port of the popular MAME. 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 such as MacMAME, 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 MAME, you already + know how to use SDLMAME on any platform you may encounter it on. + +2) MAME 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 MAME code, and we offer native implementations of MAME'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/mame-devel/pkg-plist b/emulators/mame-devel/pkg-plist new file mode 100644 index 000000000000..ec16b2c0b53c --- /dev/null +++ b/emulators/mame-devel/pkg-plist @@ -0,0 +1,25 @@ +@exec for i in artwork cfg comments diff ini nvram roms; do mkdir -p %D/%%DATADIR%%/${i}; done +bin/sdlmame +libexec/sdlmame/chdman +libexec/sdlmame/file2str +libexec/sdlmame/jedutil +libexec/sdlmame/mame +libexec/sdlmame/romcmp +%%PORTDOCS%%%%DOCSDIR%%/SDLMAME.txt +%%PORTDOCS%%%%DOCSDIR%%/docs/license.txt +%%PORTDOCS%%%%DOCSDIR%%/docs/mame.txt +%%PORTDOCS%%%%DOCSDIR%%/docs/newvideo.txt +%%PORTDOCS%%%%DOCSDIR%%/docs/windows.txt +%%PORTDOCS%%%%DOCSDIR%%/whatsnew.txt +%%DATADIR%%/ui.bdf +@dirrm %%DATADIR%%/roms +@dirrm %%DATADIR%%/nvram +@dirrm %%DATADIR%%/ini +@dirrm %%DATADIR%%/diff +@dirrm %%DATADIR%%/comments +@dirrm %%DATADIR%%/cfg +@dirrm %%DATADIR%%/artwork +@dirrm %%DATADIR%% +%%PORTDOCS%%@dirrm %%DOCSDIR%%/docs +%%PORTDOCS%%@dirrm %%DOCSDIR%% +@dirrm libexec/sdlmame diff --git a/emulators/mame/Makefile b/emulators/mame/Makefile new file mode 100644 index 000000000000..025557cdac03 --- /dev/null +++ b/emulators/mame/Makefile @@ -0,0 +1,45 @@ +# New ports collection makefile for: sdlmame +# Date created: 2007-01-10 +# Whom: alepulver +# +# $FreeBSD$ +# + +PORTNAME= sdlmame +PORTVERSION= 0.112u2 +CATEGORIES= emulators +MASTER_SITES= http://rbelmont.mameworld.info/ +DISTNAME= ${PORTNAME}${PORTVERSION:S/.//} + +MAINTAINER= alepulver@FreeBSD.org +COMMENT= SDL port of the popular MAME (Multi Arcade Machine Emulator) + +USE_ZIP= yes +USE_GL= yes +USE_GMAKE= yes +USE_SDL= sdl +MAKEFILE= makefile + +SUB_FILES= ${PORTNAME} pkg-message + +do-install: + ${INSTALL_SCRIPT} ${WRKDIR}/${PORTNAME} ${PREFIX}/bin + ${MKDIR} ${PREFIX}/libexec/${PORTNAME} +.for f in mame file2str romcmp chdman jedutil + ${INSTALL_PROGRAM} ${WRKSRC}/${f} ${PREFIX}/libexec/${PORTNAME} +.endfor + ${MKDIR} ${DATADIR} + ${INSTALL_DATA} ${WRKSRC}/ui.bdf ${DATADIR} + cd ${DATADIR} && ${MKDIR} artwork cfg comments diff ini nvram roms +.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/mame/distinfo b/emulators/mame/distinfo new file mode 100644 index 000000000000..c0c60c9b5540 --- /dev/null +++ b/emulators/mame/distinfo @@ -0,0 +1,3 @@ +MD5 (sdlmame0112u2.zip) = 3505ed75d9034621ae3774d1d61edc5e +SHA256 (sdlmame0112u2.zip) = 7796f76494dbf5c6d5628a22b653f7ea8730781cc1f414e4d8e2b4732d9e787a +SIZE (sdlmame0112u2.zip) = 15437796 diff --git a/emulators/mame/files/patch-makefile b/emulators/mame/files/patch-makefile new file mode 100644 index 000000000000..83d38ebdce15 --- /dev/null +++ b/emulators/mame/files/patch-makefile @@ -0,0 +1,141 @@ +--- ./makefile.orig Sun Feb 18 22:23:18 2007 ++++ ./makefile Fri Feb 23 01:26:35 2007 +@@ -50,7 +50,7 @@ + # + # NOTE: this makefile now works for MinGW/win32 builds as well! + # +-SUBARCH = linux ++SUBARCH = freebsd + + + #------------------------------------------------- +@@ -61,11 +61,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 +@@ -172,8 +174,8 @@ + + # compiler, linker and utilities + AR = @ar +-CC = @gcc +-LD = @gcc ++CC := @$(CC) ++LD = @$(CC) + MD = -mkdir + RM = @rm -f + +@@ -189,53 +191,12 @@ + endif + + # by default, don't compile for a specific target CPU +-NAME = $(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 = $(TARGET) + ARCH = +-endif + + # debug builds just get the 'd' suffix and nothing more + ifdef DEBUG +-NAME = $(PREFIX)$(TARGET)d ++NAME = $(TARGET)d + endif + + EMULATOR = $(NAME)$(EXE) +@@ -273,7 +234,7 @@ + # compile and linking flags + #------------------------------------------------- + +-CFLAGS = \ ++CFLAGS += \ + $(OPT_FLAGS) \ + -std=gnu89 \ + -I$(SRC)/$(TARGET) \ +@@ -284,6 +245,7 @@ + -I$(SRC)/lib/util \ + -I$(SRC)/osd \ + -I$(SRC)/osd/$(MAMEOS) \ ++ -I$(LOCALBASE)/include -I$(X11BASE)/include + + ifdef MESS + CFLAGS += \ +@@ -302,7 +264,7 @@ + endif # PPC + endif # SYMBOLS + +-CFLAGS += $(ARCH) \ ++CFLAGS += \ + -Wall \ + -Wpointer-arith \ + -Wbad-function-cast \ +@@ -314,7 +276,7 @@ + -Wdeclaration-after-statement + + ifneq ($(OPTIMIZE),0) +-CFLAGS += -DNDEBUG $(ARCH) -fno-strict-aliasing ++CFLAGS += -DNDEBUG -fno-strict-aliasing + endif + + CFLAGS += -O$(OPTIMIZE) +@@ -322,11 +284,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 + diff --git a/emulators/mame/files/pkg-message.in b/emulators/mame/files/pkg-message.in new file mode 100644 index 000000000000..3290fa533a30 --- /dev/null +++ b/emulators/mame/files/pkg-message.in @@ -0,0 +1,13 @@ +============================================================================== + +SDLMAME has been installed. + +The MAME tools are installed in "%%PREFIX%%/libexec/sdlmame" +to avoid conflicting with other MAME ports. + +A wrapper script "sdlmame" has been installed. It creates a "~/.sdlmame" +directory mirroring the directory tree under "%%DATADIR%%" +when you run it for the first time, and starts the program from there. So +place all MAME files (e.g. ROMs, cheats, etc.) in "~/.sdlmame". + +============================================================================== diff --git a/emulators/mame/files/sdlmame.in b/emulators/mame/files/sdlmame.in new file mode 100644 index 000000000000..9a7c7215f76a --- /dev/null +++ b/emulators/mame/files/sdlmame.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 ~/.sdlmame ] +then + echo "Using existing ~/.sdlmame directory." +else + echo "Creating ~/.sdlmame directory." + cd %%DATADIR%% || exit 1 + find * -type d -exec mkdir -p ~/.sdlmame/{} \; + find * -type f -exec ln -s %%DATADIR%%/{} ~/.sdlmame/{} \; 2>/dev/null +fi + +cd ~/.sdlmame || exit 1 +exec %%PREFIX%%/libexec/sdlmame/mame "$@" diff --git a/emulators/mame/pkg-descr b/emulators/mame/pkg-descr new file mode 100644 index 000000000000..b297a4b68fa9 --- /dev/null +++ b/emulators/mame/pkg-descr @@ -0,0 +1,17 @@ +SDLMAME is a port of the popular MAME. 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 such as MacMAME, 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 MAME, you already + know how to use SDLMAME on any platform you may encounter it on. + +2) MAME 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 MAME code, and we offer native implementations of MAME'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/mame/pkg-plist b/emulators/mame/pkg-plist new file mode 100644 index 000000000000..ec16b2c0b53c --- /dev/null +++ b/emulators/mame/pkg-plist @@ -0,0 +1,25 @@ +@exec for i in artwork cfg comments diff ini nvram roms; do mkdir -p %D/%%DATADIR%%/${i}; done +bin/sdlmame +libexec/sdlmame/chdman +libexec/sdlmame/file2str +libexec/sdlmame/jedutil +libexec/sdlmame/mame +libexec/sdlmame/romcmp +%%PORTDOCS%%%%DOCSDIR%%/SDLMAME.txt +%%PORTDOCS%%%%DOCSDIR%%/docs/license.txt +%%PORTDOCS%%%%DOCSDIR%%/docs/mame.txt +%%PORTDOCS%%%%DOCSDIR%%/docs/newvideo.txt +%%PORTDOCS%%%%DOCSDIR%%/docs/windows.txt +%%PORTDOCS%%%%DOCSDIR%%/whatsnew.txt +%%DATADIR%%/ui.bdf +@dirrm %%DATADIR%%/roms +@dirrm %%DATADIR%%/nvram +@dirrm %%DATADIR%%/ini +@dirrm %%DATADIR%%/diff +@dirrm %%DATADIR%%/comments +@dirrm %%DATADIR%%/cfg +@dirrm %%DATADIR%%/artwork +@dirrm %%DATADIR%% +%%PORTDOCS%%@dirrm %%DOCSDIR%%/docs +%%PORTDOCS%%@dirrm %%DOCSDIR%% +@dirrm libexec/sdlmame diff --git a/emulators/sdlmame-devel/Makefile b/emulators/sdlmame-devel/Makefile new file mode 100644 index 000000000000..025557cdac03 --- /dev/null +++ b/emulators/sdlmame-devel/Makefile @@ -0,0 +1,45 @@ +# New ports collection makefile for: sdlmame +# Date created: 2007-01-10 +# Whom: alepulver +# +# $FreeBSD$ +# + +PORTNAME= sdlmame +PORTVERSION= 0.112u2 +CATEGORIES= emulators +MASTER_SITES= http://rbelmont.mameworld.info/ +DISTNAME= ${PORTNAME}${PORTVERSION:S/.//} + +MAINTAINER= alepulver@FreeBSD.org +COMMENT= SDL port of the popular MAME (Multi Arcade Machine Emulator) + +USE_ZIP= yes +USE_GL= yes +USE_GMAKE= yes +USE_SDL= sdl +MAKEFILE= makefile + +SUB_FILES= ${PORTNAME} pkg-message + +do-install: + ${INSTALL_SCRIPT} ${WRKDIR}/${PORTNAME} ${PREFIX}/bin + ${MKDIR} ${PREFIX}/libexec/${PORTNAME} +.for f in mame file2str romcmp chdman jedutil + ${INSTALL_PROGRAM} ${WRKSRC}/${f} ${PREFIX}/libexec/${PORTNAME} +.endfor + ${MKDIR} ${DATADIR} + ${INSTALL_DATA} ${WRKSRC}/ui.bdf ${DATADIR} + cd ${DATADIR} && ${MKDIR} artwork cfg comments diff ini nvram roms +.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/sdlmame-devel/distinfo b/emulators/sdlmame-devel/distinfo new file mode 100644 index 000000000000..c0c60c9b5540 --- /dev/null +++ b/emulators/sdlmame-devel/distinfo @@ -0,0 +1,3 @@ +MD5 (sdlmame0112u2.zip) = 3505ed75d9034621ae3774d1d61edc5e +SHA256 (sdlmame0112u2.zip) = 7796f76494dbf5c6d5628a22b653f7ea8730781cc1f414e4d8e2b4732d9e787a +SIZE (sdlmame0112u2.zip) = 15437796 diff --git a/emulators/sdlmame-devel/files/patch-makefile b/emulators/sdlmame-devel/files/patch-makefile new file mode 100644 index 000000000000..83d38ebdce15 --- /dev/null +++ b/emulators/sdlmame-devel/files/patch-makefile @@ -0,0 +1,141 @@ +--- ./makefile.orig Sun Feb 18 22:23:18 2007 ++++ ./makefile Fri Feb 23 01:26:35 2007 +@@ -50,7 +50,7 @@ + # + # NOTE: this makefile now works for MinGW/win32 builds as well! + # +-SUBARCH = linux ++SUBARCH = freebsd + + + #------------------------------------------------- +@@ -61,11 +61,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 +@@ -172,8 +174,8 @@ + + # compiler, linker and utilities + AR = @ar +-CC = @gcc +-LD = @gcc ++CC := @$(CC) ++LD = @$(CC) + MD = -mkdir + RM = @rm -f + +@@ -189,53 +191,12 @@ + endif + + # by default, don't compile for a specific target CPU +-NAME = $(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 = $(TARGET) + ARCH = +-endif + + # debug builds just get the 'd' suffix and nothing more + ifdef DEBUG +-NAME = $(PREFIX)$(TARGET)d ++NAME = $(TARGET)d + endif + + EMULATOR = $(NAME)$(EXE) +@@ -273,7 +234,7 @@ + # compile and linking flags + #------------------------------------------------- + +-CFLAGS = \ ++CFLAGS += \ + $(OPT_FLAGS) \ + -std=gnu89 \ + -I$(SRC)/$(TARGET) \ +@@ -284,6 +245,7 @@ + -I$(SRC)/lib/util \ + -I$(SRC)/osd \ + -I$(SRC)/osd/$(MAMEOS) \ ++ -I$(LOCALBASE)/include -I$(X11BASE)/include + + ifdef MESS + CFLAGS += \ +@@ -302,7 +264,7 @@ + endif # PPC + endif # SYMBOLS + +-CFLAGS += $(ARCH) \ ++CFLAGS += \ + -Wall \ + -Wpointer-arith \ + -Wbad-function-cast \ +@@ -314,7 +276,7 @@ + -Wdeclaration-after-statement + + ifneq ($(OPTIMIZE),0) +-CFLAGS += -DNDEBUG $(ARCH) -fno-strict-aliasing ++CFLAGS += -DNDEBUG -fno-strict-aliasing + endif + + CFLAGS += -O$(OPTIMIZE) +@@ -322,11 +284,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 + diff --git a/emulators/sdlmame-devel/files/pkg-message.in b/emulators/sdlmame-devel/files/pkg-message.in new file mode 100644 index 000000000000..3290fa533a30 --- /dev/null +++ b/emulators/sdlmame-devel/files/pkg-message.in @@ -0,0 +1,13 @@ +============================================================================== + +SDLMAME has been installed. + +The MAME tools are installed in "%%PREFIX%%/libexec/sdlmame" +to avoid conflicting with other MAME ports. + +A wrapper script "sdlmame" has been installed. It creates a "~/.sdlmame" +directory mirroring the directory tree under "%%DATADIR%%" +when you run it for the first time, and starts the program from there. So +place all MAME files (e.g. ROMs, cheats, etc.) in "~/.sdlmame". + +============================================================================== diff --git a/emulators/sdlmame-devel/files/sdlmame.in b/emulators/sdlmame-devel/files/sdlmame.in new file mode 100644 index 000000000000..9a7c7215f76a --- /dev/null +++ b/emulators/sdlmame-devel/files/sdlmame.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 ~/.sdlmame ] +then + echo "Using existing ~/.sdlmame directory." +else + echo "Creating ~/.sdlmame directory." + cd %%DATADIR%% || exit 1 + find * -type d -exec mkdir -p ~/.sdlmame/{} \; + find * -type f -exec ln -s %%DATADIR%%/{} ~/.sdlmame/{} \; 2>/dev/null +fi + +cd ~/.sdlmame || exit 1 +exec %%PREFIX%%/libexec/sdlmame/mame "$@" diff --git a/emulators/sdlmame-devel/pkg-descr b/emulators/sdlmame-devel/pkg-descr new file mode 100644 index 000000000000..b297a4b68fa9 --- /dev/null +++ b/emulators/sdlmame-devel/pkg-descr @@ -0,0 +1,17 @@ +SDLMAME is a port of the popular MAME. 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 such as MacMAME, 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 MAME, you already + know how to use SDLMAME on any platform you may encounter it on. + +2) MAME 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 MAME code, and we offer native implementations of MAME'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/sdlmame-devel/pkg-plist b/emulators/sdlmame-devel/pkg-plist new file mode 100644 index 000000000000..ec16b2c0b53c --- /dev/null +++ b/emulators/sdlmame-devel/pkg-plist @@ -0,0 +1,25 @@ +@exec for i in artwork cfg comments diff ini nvram roms; do mkdir -p %D/%%DATADIR%%/${i}; done +bin/sdlmame +libexec/sdlmame/chdman +libexec/sdlmame/file2str +libexec/sdlmame/jedutil +libexec/sdlmame/mame +libexec/sdlmame/romcmp +%%PORTDOCS%%%%DOCSDIR%%/SDLMAME.txt +%%PORTDOCS%%%%DOCSDIR%%/docs/license.txt +%%PORTDOCS%%%%DOCSDIR%%/docs/mame.txt +%%PORTDOCS%%%%DOCSDIR%%/docs/newvideo.txt +%%PORTDOCS%%%%DOCSDIR%%/docs/windows.txt +%%PORTDOCS%%%%DOCSDIR%%/whatsnew.txt +%%DATADIR%%/ui.bdf +@dirrm %%DATADIR%%/roms +@dirrm %%DATADIR%%/nvram +@dirrm %%DATADIR%%/ini +@dirrm %%DATADIR%%/diff +@dirrm %%DATADIR%%/comments +@dirrm %%DATADIR%%/cfg +@dirrm %%DATADIR%%/artwork +@dirrm %%DATADIR%% +%%PORTDOCS%%@dirrm %%DOCSDIR%%/docs +%%PORTDOCS%%@dirrm %%DOCSDIR%% +@dirrm libexec/sdlmame diff --git a/emulators/sdlmame/Makefile b/emulators/sdlmame/Makefile new file mode 100644 index 000000000000..025557cdac03 --- /dev/null +++ b/emulators/sdlmame/Makefile @@ -0,0 +1,45 @@ +# New ports collection makefile for: sdlmame +# Date created: 2007-01-10 +# Whom: alepulver +# +# $FreeBSD$ +# + +PORTNAME= sdlmame +PORTVERSION= 0.112u2 +CATEGORIES= emulators +MASTER_SITES= http://rbelmont.mameworld.info/ +DISTNAME= ${PORTNAME}${PORTVERSION:S/.//} + +MAINTAINER= alepulver@FreeBSD.org +COMMENT= SDL port of the popular MAME (Multi Arcade Machine Emulator) + +USE_ZIP= yes +USE_GL= yes +USE_GMAKE= yes +USE_SDL= sdl +MAKEFILE= makefile + +SUB_FILES= ${PORTNAME} pkg-message + +do-install: + ${INSTALL_SCRIPT} ${WRKDIR}/${PORTNAME} ${PREFIX}/bin + ${MKDIR} ${PREFIX}/libexec/${PORTNAME} +.for f in mame file2str romcmp chdman jedutil + ${INSTALL_PROGRAM} ${WRKSRC}/${f} ${PREFIX}/libexec/${PORTNAME} +.endfor + ${MKDIR} ${DATADIR} + ${INSTALL_DATA} ${WRKSRC}/ui.bdf ${DATADIR} + cd ${DATADIR} && ${MKDIR} artwork cfg comments diff ini nvram roms +.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/sdlmame/distinfo b/emulators/sdlmame/distinfo new file mode 100644 index 000000000000..c0c60c9b5540 --- /dev/null +++ b/emulators/sdlmame/distinfo @@ -0,0 +1,3 @@ +MD5 (sdlmame0112u2.zip) = 3505ed75d9034621ae3774d1d61edc5e +SHA256 (sdlmame0112u2.zip) = 7796f76494dbf5c6d5628a22b653f7ea8730781cc1f414e4d8e2b4732d9e787a +SIZE (sdlmame0112u2.zip) = 15437796 diff --git a/emulators/sdlmame/files/patch-makefile b/emulators/sdlmame/files/patch-makefile new file mode 100644 index 000000000000..83d38ebdce15 --- /dev/null +++ b/emulators/sdlmame/files/patch-makefile @@ -0,0 +1,141 @@ +--- ./makefile.orig Sun Feb 18 22:23:18 2007 ++++ ./makefile Fri Feb 23 01:26:35 2007 +@@ -50,7 +50,7 @@ + # + # NOTE: this makefile now works for MinGW/win32 builds as well! + # +-SUBARCH = linux ++SUBARCH = freebsd + + + #------------------------------------------------- +@@ -61,11 +61,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 +@@ -172,8 +174,8 @@ + + # compiler, linker and utilities + AR = @ar +-CC = @gcc +-LD = @gcc ++CC := @$(CC) ++LD = @$(CC) + MD = -mkdir + RM = @rm -f + +@@ -189,53 +191,12 @@ + endif + + # by default, don't compile for a specific target CPU +-NAME = $(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 = $(TARGET) + ARCH = +-endif + + # debug builds just get the 'd' suffix and nothing more + ifdef DEBUG +-NAME = $(PREFIX)$(TARGET)d ++NAME = $(TARGET)d + endif + + EMULATOR = $(NAME)$(EXE) +@@ -273,7 +234,7 @@ + # compile and linking flags + #------------------------------------------------- + +-CFLAGS = \ ++CFLAGS += \ + $(OPT_FLAGS) \ + -std=gnu89 \ + -I$(SRC)/$(TARGET) \ +@@ -284,6 +245,7 @@ + -I$(SRC)/lib/util \ + -I$(SRC)/osd \ + -I$(SRC)/osd/$(MAMEOS) \ ++ -I$(LOCALBASE)/include -I$(X11BASE)/include + + ifdef MESS + CFLAGS += \ +@@ -302,7 +264,7 @@ + endif # PPC + endif # SYMBOLS + +-CFLAGS += $(ARCH) \ ++CFLAGS += \ + -Wall \ + -Wpointer-arith \ + -Wbad-function-cast \ +@@ -314,7 +276,7 @@ + -Wdeclaration-after-statement + + ifneq ($(OPTIMIZE),0) +-CFLAGS += -DNDEBUG $(ARCH) -fno-strict-aliasing ++CFLAGS += -DNDEBUG -fno-strict-aliasing + endif + + CFLAGS += -O$(OPTIMIZE) +@@ -322,11 +284,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 + diff --git a/emulators/sdlmame/files/pkg-message.in b/emulators/sdlmame/files/pkg-message.in new file mode 100644 index 000000000000..3290fa533a30 --- /dev/null +++ b/emulators/sdlmame/files/pkg-message.in @@ -0,0 +1,13 @@ +============================================================================== + +SDLMAME has been installed. + +The MAME tools are installed in "%%PREFIX%%/libexec/sdlmame" +to avoid conflicting with other MAME ports. + +A wrapper script "sdlmame" has been installed. It creates a "~/.sdlmame" +directory mirroring the directory tree under "%%DATADIR%%" +when you run it for the first time, and starts the program from there. So +place all MAME files (e.g. ROMs, cheats, etc.) in "~/.sdlmame". + +============================================================================== diff --git a/emulators/sdlmame/files/sdlmame.in b/emulators/sdlmame/files/sdlmame.in new file mode 100644 index 000000000000..9a7c7215f76a --- /dev/null +++ b/emulators/sdlmame/files/sdlmame.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 ~/.sdlmame ] +then + echo "Using existing ~/.sdlmame directory." +else + echo "Creating ~/.sdlmame directory." + cd %%DATADIR%% || exit 1 + find * -type d -exec mkdir -p ~/.sdlmame/{} \; + find * -type f -exec ln -s %%DATADIR%%/{} ~/.sdlmame/{} \; 2>/dev/null +fi + +cd ~/.sdlmame || exit 1 +exec %%PREFIX%%/libexec/sdlmame/mame "$@" diff --git a/emulators/sdlmame/pkg-descr b/emulators/sdlmame/pkg-descr new file mode 100644 index 000000000000..b297a4b68fa9 --- /dev/null +++ b/emulators/sdlmame/pkg-descr @@ -0,0 +1,17 @@ +SDLMAME is a port of the popular MAME. 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 such as MacMAME, 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 MAME, you already + know how to use SDLMAME on any platform you may encounter it on. + +2) MAME 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 MAME code, and we offer native implementations of MAME'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/sdlmame/pkg-plist b/emulators/sdlmame/pkg-plist new file mode 100644 index 000000000000..ec16b2c0b53c --- /dev/null +++ b/emulators/sdlmame/pkg-plist @@ -0,0 +1,25 @@ +@exec for i in artwork cfg comments diff ini nvram roms; do mkdir -p %D/%%DATADIR%%/${i}; done +bin/sdlmame +libexec/sdlmame/chdman +libexec/sdlmame/file2str +libexec/sdlmame/jedutil +libexec/sdlmame/mame +libexec/sdlmame/romcmp +%%PORTDOCS%%%%DOCSDIR%%/SDLMAME.txt +%%PORTDOCS%%%%DOCSDIR%%/docs/license.txt +%%PORTDOCS%%%%DOCSDIR%%/docs/mame.txt +%%PORTDOCS%%%%DOCSDIR%%/docs/newvideo.txt +%%PORTDOCS%%%%DOCSDIR%%/docs/windows.txt +%%PORTDOCS%%%%DOCSDIR%%/whatsnew.txt +%%DATADIR%%/ui.bdf +@dirrm %%DATADIR%%/roms +@dirrm %%DATADIR%%/nvram +@dirrm %%DATADIR%%/ini +@dirrm %%DATADIR%%/diff +@dirrm %%DATADIR%%/comments +@dirrm %%DATADIR%%/cfg +@dirrm %%DATADIR%%/artwork +@dirrm %%DATADIR%% +%%PORTDOCS%%@dirrm %%DOCSDIR%%/docs +%%PORTDOCS%%@dirrm %%DOCSDIR%% +@dirrm libexec/sdlmame |