ports/128557: Update port: emulators/sdlmame update to 0.128 and fix
Emmanuel Vadot
elbarto at arcadebsd.org
Mon Nov 3 16:00:12 UTC 2008
>Number: 128557
>Category: ports
>Synopsis: Update port: emulators/sdlmame update to 0.128 and fix
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Mon Nov 03 16:00:12 UTC 2008
>Closed-Date:
>Last-Modified:
>Originator: Emmanuel Vadot
>Release: FreeBSD 7.0-RELEASE i386
>Organization:
ArcadeBSD
>Environment:
FreeBSD arcadia 7.0-RELEASE FreeBSD 7.0-RELEASE #0: Sun Feb 24 19:59:52 UTC 2008 root at logan.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC i386
>Description:
Update the port to 0.128
Remove useless wrapper and use of ~/.sdlmame, sdlmame use ~/.mame by default.
Current PR (128154) don't have gconf2 in dependancy.
>How-To-Repeat:
>Fix:
# This is a shell archive. Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file". Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
# sdlmame
# sdlmame/Makefile
# sdlmame/distinfo
# sdlmame/files
# sdlmame/files/patch-makefile
# sdlmame/files/patch-sdldir.c
# sdlmame/files/mame.ini
# sdlmame/files/pkg-message.in
# sdlmame/pkg-descr
# sdlmame/pkg-plist
#
echo c - sdlmame
mkdir -p sdlmame > /dev/null 2>&1
echo x - sdlmame/Makefile
sed 's/^X//' >sdlmame/Makefile << 'END-of-sdlmame/Makefile'
X# New ports collection makefile for: asmx
X# Date created: 28 October 2008
X# Whom: elbarto
X#
X# $FreeBSD$
X#
X
XPORTNAME= sdlmame
XPORTVERSION= 0.128
XCATEGORIES= emulators
XMASTER_SITES= http://distfiles.arcadebsd.org/
XDISTNAME= ${PORTNAME}${PORTVERSION:S/.//}
X
XMAINTAINER= elbarto at ArcadeBSD.org
XCOMMENT= SDL port of the popular MAME (Multi Arcade Machine Emulator)
X
XUSE_ZIP= yes
XUSE_XORG= xext xrender xinerama xi
XUSE_GL= gl
XUSE_GMAKE= yes
XUSE_GNOME= gconf2
XMAKE_ENV= PTHREAD_LIBS="${PTHREAD_LIBS}"
XUSE_SDL= sdl
XMAKEFILE= makefile
X
XSUB_FILES= pkg-message
X
X.include <bsd.port.pre.mk>
X
Xpost-patch:
X @${REINPLACE_CMD} -e "s|ui.bdf|${DATADIR}/ui.bdf|g" ${WRKSRC}/src/emu/ui.c
X
Xdo-install:
X ${MKDIR} ${PREFIX}/libexec/sdlmame
X.for f in obj/sdl/sdlmame/build/file2str obj/sdl/sdlmame/build/png2bdc \
X testkeys romcmp jedutil regrep
X ${INSTALL_PROGRAM} ${WRKSRC}/${f} ${PREFIX}/libexec/sdlmame
X.endfor
X.for f in sdlmame chdman
X ${INSTALL_PROGRAM} ${WRKSRC}/${f} ${PREFIX}/bin/
X.endfor
X.if !defined(NOPORTDOCS)
X ${MKDIR} ${DOCSDIR}
X ${INSTALL_DATA} ${WRKSRC}/*.txt ${DOCSDIR}
X ${CP} -R ${WRKSRC}/docs ${DOCSDIR}
X.endif
X ${MKDIR} ${DATADIR}
X ${CP} ${WRKSRC}/ui.bdf ${DATADIR}/
X ${CP} -R ${WRKSRC}/keymaps ${DATADIR}/
X ${MKDIR} ${EXAMPLESDIR}
X ${CP} ${FILESDIR}/mame.ini ${EXAMPLESDIR}
X
Xpost-install:
X @${ECHO_CMD}
X @${CAT} ${PKGMESSAGE}
X @${ECHO_CMD}
X
X.include <bsd.port.post.mk>
END-of-sdlmame/Makefile
echo x - sdlmame/distinfo
sed 's/^X//' >sdlmame/distinfo << 'END-of-sdlmame/distinfo'
XMD5 (sdlmame0128.zip) = 4bea3bb5afd2fba15f5370ef2508b5a0
XSHA256 (sdlmame0128.zip) = fa0a3304640c6bd2f20b95e4528495ad00d348beb7b4b655802384663ba58174
XSIZE (sdlmame0128.zip) = 16970652
END-of-sdlmame/distinfo
echo c - sdlmame/files
mkdir -p sdlmame/files > /dev/null 2>&1
echo x - sdlmame/files/patch-makefile
sed 's/^X//' >sdlmame/files/patch-makefile << 'END-of-sdlmame/files/patch-makefile'
X--- makefile.orig 2008-08-31 18:48:22.000000000 +0200
X+++ makefile 2008-10-28 16:13:35.000000000 +0100
X@@ -70,7 +70,7 @@
X #-------------------------------------------------
X
X # uncomment and specify prefix to be added to the name
X-# PREFIX =
X+PREFIX = sdl
X
X # uncomment and specify suffix to be added to the name
X # SUFFIX =
X@@ -194,8 +194,8 @@
X
X # compiler, linker and utilities
X AR = @ar
X-CC = @gcc
X-LD = @gcc
X+CC:= @$(CC)
X+LD = @$(CC)
X MD = -mkdir$(EXE)
X RM = @rm -f
X
X@@ -284,7 +284,7 @@
X #-------------------------------------------------
X
X # we compile to C89 standard with GNU extensions
X-CFLAGS = -std=gnu89
X+CFLAGS += -std=gnu89
X
X # this speeds it up a bit by piping between the preprocessor/compiler/assembler
X CFLAGS += -pipe
X@@ -327,9 +327,6 @@
X # and make all errors into warnings
X ifneq ($(OPTIMIZE),0)
X CFLAGS += $(ARCHOPTS) -fno-strict-aliasing
X-ifneq ($(TARGETOS),os2)
X-CFLAGS += -Werror
X-endif
X endif
X
X # if symbols are on, make sure we have frame pointers
X@@ -354,7 +351,7 @@
X -I$(SRC)/lib/util \
X -I$(SRC)/osd \
X -I$(SRC)/osd/$(OSD) \
X-
X+ -I$(LOCALBASE)/include
X
X
X #-------------------------------------------------
X@@ -367,7 +364,7 @@
X ifneq ($(TARGETOS),macosx)
X ifneq ($(TARGETOS),os2)
X ifneq ($(TARGETOS),solaris)
X-LDFLAGS = -Wl,--warn-common
X+LDFLAGS = -Wl,--warn-common $(PTHREAD_LIBS) -L$(LOCALBASE)/lib
X endif
X endif
X endif
END-of-sdlmame/files/patch-makefile
echo x - sdlmame/files/patch-sdldir.c
sed 's/^X//' >sdlmame/files/patch-sdldir.c << 'END-of-sdlmame/files/patch-sdldir.c'
X--- src/osd/sdl/sdldir.c.orig 2008-07-28 21:54:47.000000000 +0200
X+++ src/osd/sdl/sdldir.c 2008-10-28 17:23:14.000000000 +0100
X@@ -32,6 +32,14 @@
X
X #include "osdcore.h"
X
X+#if defined(SDLMAME_WIN32) || defined(SDLMAME_OS2)
X+#define PATHSEPCH '\\'
X+#define INVPATHSEPCH '/'
X+#else
X+#define PATHSEPCH '/'
X+#define INVPATHSEPCH '\\'
X+#endif
X+
X struct _osd_directory
X {
X osd_directory_entry ent;
X@@ -96,6 +104,8 @@
X osd_directory *osd_opendir(const char *dirname)
X {
X osd_directory *dir = NULL;
X+ char *tmpstr, *envstr;
X+ int i, j;
X
X dir = malloc(sizeof(osd_directory));
X if (dir)
X@@ -104,7 +114,44 @@
X dir->fd = NULL;
X }
X
X- dir->fd = opendir(dirname);
X+ tmpstr = malloc(strlen(dirname)+1);
X+ strcpy(tmpstr, dirname);
X+
X+ if (tmpstr[0] == '$')
X+ {
X+ char *envval;
X+ envstr = malloc(strlen(tmpstr)+1);
X+
X+ strcpy(envstr, tmpstr);
X+
X+ i = 0;
X+ while (envstr[i] != PATHSEPCH && envstr[i] != 0 && envstr[i] != '.')
X+ {
X+ i++;
X+ }
X+
X+ envstr[i] = '\0';
X+
X+ envval = getenv(&envstr[1]);
X+ if (envval != NULL)
X+ {
X+ j = strlen(envval) + strlen(tmpstr) + 1;
X+ free(tmpstr);
X+ tmpstr = malloc(j);
X+
X+ // start with the value of $HOME
X+ strcpy(tmpstr, envval);
X+ // replace the null with a path separator again
X+ envstr[i] = PATHSEPCH;
X+ // append it
X+ strcat(tmpstr, &envstr[i]);
X+ }
X+ else
X+ fprintf(stderr, "Warning: Environment variable %s not found.\n", envstr);
X+ free(envstr);
X+ }
X+
X+ dir->fd = opendir(tmpstr);
X
X if (dir && (dir->fd == NULL))
X {
X@@ -112,6 +159,8 @@
X dir = NULL;
X }
X
X+ if (tmpstr)
X+ free(tmpstr);
X return dir;
X }
X
END-of-sdlmame/files/patch-sdldir.c
echo x - sdlmame/files/mame.ini
sed 's/^X//' >sdlmame/files/mame.ini << 'END-of-sdlmame/files/mame.ini'
X<EF><BB><BF><UNADORNED0>
X
X#
X# CORE CONFIGURATION OPTIONS
X#
Xreadconfig 1
X
X#
X# CORE SEARCH PATH OPTIONS
X#
Xrompath $HOME/.mame/roms
Xsamplepath $HOME/.mame/samples
Xartpath $HOME/.mame/artwork
Xctrlrpath $HOME/.mame/ctrlr
Xinipath $HOME/.mame;.;ini
Xfontpath .
Xcheatpath $HOME/.mame/cheat
X
X#
X# CORE OUTPUT DIRECTORY OPTIONS
X#
Xcfg_directory $HOME/.mame/cfg
Xnvram_directory $HOME/.mame/nvram
Xmemcard_directory $HOME/.mame/memcard
Xinput_directory $HOME/.mame/inp
Xstate_directory $HOME/.mame/sta
Xsnapshot_directory $HOME/.mame/snap
Xdiff_directory $HOME/.mame/diff
Xcomment_directory $HOME/.mame/comments
X
X#
X# CORE STATE/PLAYBACK OPTIONS
X#
Xstate
Xautosave 0
Xplayback
Xrecord
Xmngwrite
Xaviwrite
Xwavwrite
Xsnapname %g/%i
Xsnapsize auto
Xsnapview internal
X
X#
X# CORE PERFORMANCE OPTIONS
X#
Xautoframeskip 0
Xframeskip 0
Xseconds_to_run 0
Xthrottle 1
Xsleep 1
Xspeed 1.0
Xrefreshspeed 0
X
X#
X# CORE ROTATION OPTIONS
X#
Xrotate 1
Xror 0
Xrol 0
Xautoror 0
Xautorol 0
Xflipx 0
Xflipy 0
X
X#
X# CORE ARTWORK OPTIONS
X#
Xartwork_crop 0
Xuse_backdrops 1
Xuse_overlays 1
Xuse_bezels 1
X
X#
X# CORE SCREEN OPTIONS
X#
Xbrightness 1.0
Xcontrast 1.0
Xgamma 1.0
Xpause_brightness 0.65
X
X#
X# CORE VECTOR OPTIONS
X#
Xantialias 1
Xbeam 1.0
Xflicker 0
X
X#
X# CORE SOUND OPTIONS
X#
Xsound 1
Xsamplerate 48000
Xsamples 1
Xvolume 0
X
X#
X# CORE INPUT OPTIONS
X#
Xcoin_lockout 1
Xctrlr
Xmouse 0
Xjoystick 1
Xlightgun 0
Xmultikeyboard 0
Xmultimouse 0
Xsteadykey 0
Xoffscreen_reload 0
Xjoystick_map auto
Xjoystick_deadzone 0.3
Xjoystick_saturation 0.85
X
X#
X# CORE INPUT AUTOMATIC ENABLE OPTIONS
X#
Xpaddle_device keyboard
Xadstick_device keyboard
Xpedal_device keyboard
Xdial_device keyboard
Xtrackball_device keyboard
Xlightgun_device keyboard
Xpositional_device keyboard
Xmouse_device mouse
X
X#
X# CORE DEBUGGING OPTIONS
X#
Xlog 0
Xverbose 0
Xupdate_in_pause 0
Xdebug 0
Xdebugscript
X
X#
X# CORE MISC OPTIONS
X#
Xbios
Xcheat 0
Xskip_gameinfo 0
X
X#
X# DEBUGGING OPTIONS
X#
Xoslog 0
X
X#
X# PERFORMANCE OPTIONS
X#
Xmultithreading 0
Xsdlvideofps 0
X
X#
X# VIDEO OPTIONS
X#
Xvideo soft
Xnumscreens 1
Xwindow 0
Xmaximize 1
Xkeepaspect 1
Xunevenstretch 1
Xeffect none
Xcenterh 1
Xcenterv 1
Xwaitvsync 0
Xscalemode none
X
X#
X# OpenGL-SPECIFIC OPTIONS
X#
Xfilter 1
Xprescale 1
Xgl_forcepow2texture 0
Xgl_notexturerect 0
Xgl_vbo 1
Xgl_pbo 1
Xgl_glsl 0
Xgl_glsl_filter 1
Xglsl_shader_mame0 none
Xglsl_shader_mame1 none
Xglsl_shader_mame2 none
Xglsl_shader_mame3 none
Xglsl_shader_mame4 none
Xglsl_shader_mame5 none
Xglsl_shader_mame6 none
Xglsl_shader_mame7 none
Xglsl_shader_mame8 none
Xglsl_shader_mame9 none
Xglsl_shader_screen0 none
Xglsl_shader_screen1 none
Xglsl_shader_screen2 none
Xglsl_shader_screen3 none
Xglsl_shader_screen4 none
Xglsl_shader_screen5 none
Xglsl_shader_screen6 none
Xglsl_shader_screen7 none
Xglsl_shader_screen8 none
Xglsl_shader_screen9 none
Xgl_glsl_vid_attr 1
X
X#
X# PER-WINDOW VIDEO OPTIONS
X#
Xscreen auto
Xaspect auto
Xresolution auto
Xview auto
Xscreen0 auto
Xaspect0 auto
Xresolution0 auto
Xview0 auto
Xscreen1 auto
Xaspect1 auto
Xresolution1 auto
Xview1 auto
Xscreen2 auto
Xaspect2 auto
Xresolution2 auto
Xview2 auto
Xscreen3 auto
Xaspect3 auto
Xresolution3 auto
Xview3 auto
X
X#
X# FULL SCREEN OPTIONS
X#
Xswitchres 0
Xuseallheads 0
X
X#
X# SOUND OPTIONS
X#
Xaudio_latency 3
X
X#
X# SDL KEYBOARD MAPPING
X#
Xkeymap 0
Xkeymap_file keymap.dat
X
X#
X# SDL JOYSTICK MAPPING
X#
Xremapjoys 0
Xremapjoyfile joymap.dat
Xsixaxis 0
X
X#
X# SDL LOWLEVEL DRIVER OPTIONS
X#
Xvideodriver auto
Xaudiodriver auto
Xgl_lib auto
END-of-sdlmame/files/mame.ini
echo x - sdlmame/files/pkg-message.in
sed 's/^X//' >sdlmame/files/pkg-message.in << 'END-of-sdlmame/files/pkg-message.in'
X==============================================================================
X
XSDLMAME has been installed.
X
XThe MAME tools are installed in "%%PREFIX%%/libexec/sdlmame"
X
XA example configuration file has been installed in "%%EXAMPLESDIR%%/mame.ini"
XShould you create a "~/.mame" directory and place it here or
Xlaunch "sdlmame -createconfig" and place the mame.ini created instead.
X
XIf you have a non-qwerty keyboard, you should put in your mame.ini :
Xkeymap 1
Xkeymap_file %%DATADIR%%/keymaps/km-XX.txt
X
X==============================================================================
END-of-sdlmame/files/pkg-message.in
echo x - sdlmame/pkg-descr
sed 's/^X//' >sdlmame/pkg-descr << 'END-of-sdlmame/pkg-descr'
XSDLMAME is a port of the popular MAME. There are a few principles that guide
Xit's development:
X
X1) Run on Linux/Unix, Mac OS X, and other SDL supported operating systems with
X as few changes as possible to the base Win32 code. This means we can track
X changes faster than larger more conventional ports such as MacMAME, and we
X also maintain what I call "Firefox compatibilty" where learning a major app
X only needs to be done once per application, and it then applies across many
X operating systems. If you can use the command-line Win32 MAME, you already
X know how to use SDLMAME on any platform you may encounter it on.
X
X2) MAME developers are important. By keeping quickly up to date, we make it
X easy for people on non-Windows platforms to make and submit changes to the
X core MAME code, and we offer native implementations of MAME's multi-window
X GUI debugger on both Linux/Unix and Mac OS X.
X
XWWW: http://rbelmont.mameworld.info/?page_id=163
END-of-sdlmame/pkg-descr
echo x - sdlmame/pkg-plist
sed 's/^X//' >sdlmame/pkg-plist << 'END-of-sdlmame/pkg-plist'
Xbin/sdlmame
Xbin/chdman
Xlibexec/sdlmame/testkeys
Xlibexec/sdlmame/file2str
Xlibexec/sdlmame/png2bdc
Xlibexec/sdlmame/romcmp
Xlibexec/sdlmame/jedutil
Xlibexec/sdlmame/regrep
X%%PORTDOCS%%%%DOCSDIR%%/SDLMAME.txt
X%%PORTDOCS%%%%DOCSDIR%%/docs/license.txt
X%%PORTDOCS%%%%DOCSDIR%%/docs/mame.txt
X%%PORTDOCS%%%%DOCSDIR%%/docs/newvideo.txt
X%%PORTDOCS%%%%DOCSDIR%%/docs/windows.txt
X%%PORTDOCS%%%%DOCSDIR%%/docs/config.txt
X%%PORTDOCS%%%%DOCSDIR%%/whatsnew.txt
X%%DATADIR%%/ui.bdf
X%%DATADIR%%/keymaps/km-be.txt
X%%DATADIR%%/keymaps/km-ch.txt
X%%DATADIR%%/keymaps/km-de.txt
X%%DATADIR%%/keymaps/km-fr-OSX.txt
X%%DATADIR%%/keymaps/km-fr.txt
X%%DATADIR%%/keymaps/km_it.txt
X%%EXAMPLESDIR%%/mame.ini
X at dirrm %%DATADIR%%/keymaps/
X at dirrm %%DATADIR%%/
X%%PORTDOCS%%@dirrm %%DOCSDIR%%/docs
X%%PORTDOCS%%@dirrm %%DOCSDIR%%
X at dirrm libexec/sdlmame
X at dirrm %%EXAMPLESDIR%%
END-of-sdlmame/pkg-plist
exit
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list