diff options
author | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 13:49:04 -0700 |
---|---|---|
committer | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 17:38:18 -0700 |
commit | 56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch) | |
tree | 3f91093cdb475e565ae857f1c5a7fd339e2d781e /games-emulation/sdlmame | |
download | gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2 gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip |
proj/gentoo: Initial commit
This commit represents a new era for Gentoo:
Storing the gentoo-x86 tree in Git, as converted from CVS.
This commit is the start of the NEW history.
Any historical data is intended to be grafted onto this point.
Creation process:
1. Take final CVS checkout snapshot
2. Remove ALL ChangeLog* files
3. Transform all Manifests to thin
4. Remove empty Manifests
5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$
5.1. Do not touch files with -kb/-ko keyword flags.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests
X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project
X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration
X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn
X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts
X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration
X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging
X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'games-emulation/sdlmame')
-rw-r--r-- | games-emulation/sdlmame/Manifest | 4 | ||||
-rw-r--r-- | games-emulation/sdlmame/files/mame-0.139.ini.in | 270 | ||||
-rw-r--r-- | games-emulation/sdlmame/files/sdlmame-0.144-makefile.patch | 79 | ||||
-rw-r--r-- | games-emulation/sdlmame/files/sdlmame-0.144-no-opengl.patch | 11 | ||||
-rw-r--r-- | games-emulation/sdlmame/files/sdlmame-0.148_p1-makefile.patch | 177 | ||||
-rw-r--r-- | games-emulation/sdlmame/files/sdlmame-0.148_p1-no-opengl.patch | 12 | ||||
-rw-r--r-- | games-emulation/sdlmame/files/sdlmame-0.149-QA.patch | 191 | ||||
-rw-r--r-- | games-emulation/sdlmame/files/sdlmame-0.149-debugger-linking.patch | 28 | ||||
-rw-r--r-- | games-emulation/sdlmame/files/sdlmame-0.149-no-opengl.patch | 19 | ||||
-rw-r--r-- | games-emulation/sdlmame/files/sdlmame-0.149-system-lua.patch | 33 | ||||
-rw-r--r-- | games-emulation/sdlmame/files/vector.ini | 9 | ||||
-rw-r--r-- | games-emulation/sdlmame/metadata.xml | 19 | ||||
-rw-r--r-- | games-emulation/sdlmame/sdlmame-0.148_p1-r1.ebuild | 186 | ||||
-rw-r--r-- | games-emulation/sdlmame/sdlmame-0.149.ebuild | 194 |
14 files changed, 1232 insertions, 0 deletions
diff --git a/games-emulation/sdlmame/Manifest b/games-emulation/sdlmame/Manifest new file mode 100644 index 000000000000..0bb3d4b43992 --- /dev/null +++ b/games-emulation/sdlmame/Manifest @@ -0,0 +1,4 @@ +DIST mame0148s.zip 33822494 SHA256 78d8a68ba53934fdfc895f450c08682dada81f7ec3e74a98fb042539506d9321 SHA512 a520115e2e82b2da3200ffa1fa56f668f95c3e26a927bcdb30a34e73053e55d26a6a6c1ec95eae1237bce1d2d0cd276b84466705fd5f53ac77827d06ea04bc03 WHIRLPOOL c6de71c198396977475110ab5840b7eaa6e5074519adffc286dd539ab916ea951fa1c307218b0d144cdc8aeeb096216106a3c21a6d53b42c04dc75e8103be04a +DIST mame0149s.zip 35160585 SHA256 0e41b5773bea217d3ca04002903ac5ef569e6f5b67c05c72496d2cd7993b0a6b SHA512 4b8bd72e93f71fdb52c643776ecefb87fe605effe3f8c1724156cf7fafb8107330d92914eb14208a170cd5a0ee2775e7ea8d8edd0b525a35bbb0d5514172c1c3 WHIRLPOOL c5821ffc0f640e93986cd88f9e530be36e5ba0405a5dbc69a5021c828248dc74541340d5d9d49ece19635b5239bbaeeeb93bad2800fc46e9f441d8ffd3751ca5 +DIST sdlmame-ui.bdf.gz 114727 SHA256 f2ec11dd926bbeae8647e68607107516a30790239464939f3e99a0f62fc7f17e SHA512 67ba1bc632c1ac51b97acf8c1061477edd3519fea3d1233951723741c926ff72e259c274babb036abf4db92f217db507c58a6fc6e438db4b14c5fe5789b2ed64 WHIRLPOOL 2150053b38d8318804bf40cdcd9cdefdd2976c4cfab563c90021f0d9be0a0a57174166ece8b51658d9f2192e07343f198358299667a1db32f146c9fb9c528956 +DIST sdlmame0148u1_diff.zip 3386949 SHA256 27378d09e50f31ca0dd4f39df4c474016671946657eb7af9ea5aa0ffbae1d9bb SHA512 f62aa8ebfc3cfa96d2fd5e58c921cc2adfbe3704a745ef49bc247060ecd3333ecc12e1a3add810c6237f3f7a1946cf1b9d46e6d72aeb87baffebadb933de44de WHIRLPOOL 550f2e777363f307b8e56b4ec31f4852abe89434af5ce596bd6e6023f35a728e4078033b1edc4b302e0cf50fa646a190ec02be9329127379405aec2e9b591531 diff --git a/games-emulation/sdlmame/files/mame-0.139.ini.in b/games-emulation/sdlmame/files/mame-0.139.ini.in new file mode 100644 index 000000000000..7b69f182a356 --- /dev/null +++ b/games-emulation/sdlmame/files/mame-0.139.ini.in @@ -0,0 +1,270 @@ +# +# CORE CONFIGURATION OPTIONS +# +readconfig 1 +writeconfig 0 + +# +# CORE SEARCH PATH OPTIONS +# +rompath $HOME/.sdlmame/roms;@GAMES_DATADIR@/sdlmame/roms +samplepath $HOME/.sdlmame/samples;@GAMES_DATADIR@/sdlmame/samples +artpath $HOME/.sdlmame/artwork;@GAMES_DATADIR@/sdlmame/artwork +ctrlrpath $HOME/.sdlmame/ctrlr;@GAMES_SYSCONFDIR@/sdlmame/ctrlr;@GAMES_DATADIR@/sdlmame/ctrlr +inipath $HOME/.sdlmame;@GAMES_SYSCONFDIR@/sdlmame +fontpath $HOME/.sdlmame;@GAMES_DATADIR@/sdlmame +cheatpath $HOME/.sdlmame/cheats;@GAMES_SYSCONFDIR@/sdlmame/cheats;@GAMES_DATADIR@/sdlmame/cheats +crosshairpath $HOME/.sdlmame/crosshair;@GAMES_DATADIR@/sdlmame/crosshair + +# +# CORE OUTPUT DIRECTORY OPTIONS +# +cfg_directory $HOME/.sdlmame/cfg +nvram_directory $HOME/.sdlmame/nvram +memcard_directory $HOME/.sdlmame/memcard +input_directory $HOME/.sdlmame/inp +state_directory $HOME/.sdlmame/sta +snapshot_directory $HOME/.sdlmame/snap +diff_directory $HOME/.sdlmame/diff +comment_directory $HOME/.sdlmame/comments + +# +# CORE STATE/PLAYBACK OPTIONS +# +state +autosave 0 +playback +record +mngwrite +aviwrite +wavwrite +snapname %g/%i +snapsize auto +snapview internal +burnin 0 + +# +# CORE PERFORMANCE OPTIONS +# +autoframeskip 0 +frameskip 0 +seconds_to_run 0 +throttle 1 +sleep 1 +speed 1.0 +refreshspeed 0 + +# +# CORE ROTATION OPTIONS +# +rotate 1 +ror 0 +rol 0 +autoror 0 +autorol 0 +flipx 0 +flipy 0 + +# +# CORE ARTWORK OPTIONS +# +artwork_crop 0 +use_backdrops 1 +use_overlays 1 +use_bezels 1 + +# +# CORE SCREEN OPTIONS +# +brightness 1.0 +contrast 1.0 +gamma 1.0 +pause_brightness 0.65 + +# +# CORE VECTOR OPTIONS +# +antialias 1 +beam 1.0 +flicker 0 + +# +# CORE SOUND OPTIONS +# +sound 1 +samplerate 48000 +samples 1 +volume 0 + +# +# CORE INPUT OPTIONS +# +coin_lockout 1 +ctrlr +mouse 0 +joystick 1 +lightgun 0 +multikeyboard 0 +multimouse 0 +steadykey 0 +offscreen_reload 0 +joystick_map auto +joystick_deadzone 0.3 +joystick_saturation 0.85 +natural 0 +uimodekey auto + +# +# CORE INPUT AUTOMATIC ENABLE OPTIONS +# +paddle_device keyboard +adstick_device keyboard +pedal_device keyboard +dial_device keyboard +trackball_device keyboard +lightgun_device keyboard +positional_device keyboard +mouse_device mouse + +# +# CORE DEBUGGING OPTIONS +# +log 0 +verbose 0 +update_in_pause 0 +debug 0 +debugscript +debug_internal 0 + +# +# CORE MISC OPTIONS +# +bios +cheat 0 +skip_gameinfo 0 + +# +# DEBUGGING OPTIONS +# +oslog 0 + +# +# PERFORMANCE OPTIONS +# +multithreading 0 +numprocessors auto +sdlvideofps 0 + +# +# VIDEO OPTIONS +# +video soft +numscreens 1 +window 0 +maximize 1 +keepaspect 1 +unevenstretch 1 +effect none +centerh 1 +centerv 1 +waitvsync 0 +scalemode none + +# +# OpenGL-SPECIFIC OPTIONS +# +filter 1 +prescale 1 +gl_forcepow2texture 0 +gl_notexturerect 0 +gl_vbo 1 +gl_pbo 1 +gl_glsl 0 +gl_glsl_filter 1 +glsl_shader_mame0 none +glsl_shader_mame1 none +glsl_shader_mame2 none +glsl_shader_mame3 none +glsl_shader_mame4 none +glsl_shader_mame5 none +glsl_shader_mame6 none +glsl_shader_mame7 none +glsl_shader_mame8 none +glsl_shader_mame9 none +glsl_shader_screen0 none +glsl_shader_screen1 none +glsl_shader_screen2 none +glsl_shader_screen3 none +glsl_shader_screen4 none +glsl_shader_screen5 none +glsl_shader_screen6 none +glsl_shader_screen7 none +glsl_shader_screen8 none +glsl_shader_screen9 none +gl_glsl_vid_attr 1 + +# +# PER-WINDOW VIDEO OPTIONS +# +screen auto +aspect auto +resolution auto +view auto +screen0 auto +aspect0 auto +resolution0 auto +view0 auto +screen1 auto +aspect1 auto +resolution1 auto +view1 auto +screen2 auto +aspect2 auto +resolution2 auto +view2 auto +screen3 auto +aspect3 auto +resolution3 auto +view3 auto + +# +# FULL SCREEN OPTIONS +# +switchres 0 +useallheads 0 + +# +# SOUND OPTIONS +# +audio_latency 3 + +# +# SDL KEYBOARD MAPPING +# +keymap 0 +keymap_file $HOME/.sdlmame/keymap.dat +#keymap_file @GAMES_DATADIR@/sdlmame/keymaps/km-be.txt +#keymap_file @GAMES_DATADIR@/sdlmame/keymaps/km-ch.txt +#keymap_file @GAMES_DATADIR@/sdlmame/keymaps/km-de.txt +#keymap_file @GAMES_DATADIR@/sdlmame/keymaps/km-fr.txt +#keymap_file @GAMES_DATADIR@/sdlmame/keymaps/km_it.txt + +# +# SDL JOYSTICK MAPPING +# +joy_idx1 auto +joy_idx2 auto +joy_idx3 auto +joy_idx4 auto +joy_idx5 auto +joy_idx6 auto +joy_idx7 auto +joy_idx8 auto +sixaxis 0 + +# +# SDL LOWLEVEL DRIVER OPTIONS +# +videodriver auto +audiodriver auto +gl_lib auto diff --git a/games-emulation/sdlmame/files/sdlmame-0.144-makefile.patch b/games-emulation/sdlmame/files/sdlmame-0.144-makefile.patch new file mode 100644 index 000000000000..f69cfe437441 --- /dev/null +++ b/games-emulation/sdlmame/files/sdlmame-0.144-makefile.patch @@ -0,0 +1,79 @@ +--- work.orig/makefile 2011-11-09 22:40:30.000000000 -0500 ++++ work/makefile 2011-11-16 19:24:24.615419949 -0500 +@@ -435,9 +435,6 @@ + CPPONLYFLAGS += -x c++ -std=gnu++98
+ COBJFLAGS += -x objective-c++
+
+-# this speeds it up a bit by piping between the preprocessor/compiler/assembler
+-CCOMFLAGS += -pipe
+-
+ # add -g if we need symbols, and ensure we have frame pointers
+ ifdef SYMBOLS
+ CCOMFLAGS += -g$(SYMLEVEL) -fno-omit-frame-pointer
+@@ -442,7 +442,6 @@ +
+ # add -v if we need verbose build information
+ ifdef VERBOSE
+-CCOMFLAGS += -v
+ endif
+
+ # add profiling information for the compiler
+@@ -453,23 +450,6 @@ + CCOMFLAGS += -pg
+ endif
+
+-# add the optimization flag
+-CCOMFLAGS += -O$(OPTIMIZE)
+-
+-# if we are optimizing, include optimization options
+-# and make all errors into warnings
+-ifneq ($(OPTIMIZE),0)
+-ifneq ($(TARGETOS),os2)
+-ifndef NOWERROR
+-CCOMFLAGS += -Werror -fno-strict-aliasing $(ARCHOPTS)
+-else
+-CCOMFLAGS += -fno-strict-aliasing $(ARCHOPTS)
+-endif
+-else
+-CCOMFLAGS += -fno-strict-aliasing $(ARCHOPTS)
+-endif
+-endif
+-
+ # add a basic set of warnings
+ CCOMFLAGS += \
+ -Wall \
+@@ -524,20 +504,6 @@ + endif
+
+
+-#-------------------------------------------------
+-# linking flags
+-#-------------------------------------------------
+-
+-# LDFLAGS are used generally; LDFLAGSEMULATOR are additional
+-# flags only used when linking the core emulator
+-LDFLAGS =
+-ifneq ($(TARGETOS),macosx)
+-ifneq ($(TARGETOS),os2)
+-ifneq ($(TARGETOS),solaris)
+-LDFLAGS = -Wl,--warn-common
+-endif
+-endif
+-endif
+ LDFLAGSEMULATOR =
+
+ # add profiling information for the linker
+@@ -545,13 +511,6 @@ + LDFLAGS += -pg
+ endif
+
+-# strip symbols and other metadata in non-symbols and non profiling builds
+-ifndef SYMBOLS
+-ifneq ($(TARGETOS),macosx)
+-LDFLAGS += -s
+-endif
+-endif
+-
+ # output a map file (emulator only)
+ ifdef MAP
+ LDFLAGSEMULATOR += -Wl,-Map,$(FULLNAME).map
diff --git a/games-emulation/sdlmame/files/sdlmame-0.144-no-opengl.patch b/games-emulation/sdlmame/files/sdlmame-0.144-no-opengl.patch new file mode 100644 index 000000000000..87eeae5b50c7 --- /dev/null +++ b/games-emulation/sdlmame/files/sdlmame-0.144-no-opengl.patch @@ -0,0 +1,11 @@ +--- ./src/osd/sdl/osdsdl.h.orig ++++ ./src/osd/sdl/osdsdl.h +@@ -225,6 +225,8 @@ + const char *audio_driver() const { return value(SDLOPTION_AUDIODRIVER); } + #if USE_OPENGL + const char *gl_lib() const { return value(SDLOPTION_GL_LIB); } ++#else ++ const char *gl_lib() const { return NULL; } + #endif + + private: diff --git a/games-emulation/sdlmame/files/sdlmame-0.148_p1-makefile.patch b/games-emulation/sdlmame/files/sdlmame-0.148_p1-makefile.patch new file mode 100644 index 000000000000..7ba59692f2e3 --- /dev/null +++ b/games-emulation/sdlmame/files/sdlmame-0.148_p1-makefile.patch @@ -0,0 +1,177 @@ +--- makefile ++++ makefile +@@ -314,13 +314,14 @@ + endif + + # compiler, linker and utilities +-AR = @ar +-CC = @gcc +-LD = @g++ ++AR ?= @ar ++CC ?= @gcc ++CXX ?= @g++ ++LD = $(CXX) + MD = -mkdir$(EXE) + RM = @rm -f + OBJDUMP = @objdump +-PYTHON = @python ++PYTHON ?= @python + + + #------------------------------------------------- +@@ -455,7 +456,7 @@ + + # CFLAGS is defined based on C or C++ targets + # (remember, expansion only happens when used, so doing it here is ok) +-CFLAGS = $(CCOMFLAGS) $(CPPONLYFLAGS) ++CFLAGS += $(CCOMFLAGS) $(CPPONLYFLAGS) + + # we compile C-only to C89 standard with GNU extensions + # we compile C++ code to C++98 standard with GNU extensions +@@ -463,9 +464,6 @@ + CPPONLYFLAGS += -x c++ -std=gnu++98 + COBJFLAGS += -x objective-c++ + +-# this speeds it up a bit by piping between the preprocessor/compiler/assembler +-CCOMFLAGS += -pipe +- + # add -g if we need symbols, and ensure we have frame pointers + ifdef SYMBOLS + CCOMFLAGS += -g$(SYMLEVEL) -fno-omit-frame-pointer +@@ -479,19 +477,6 @@ + # add profiling information for the compiler + ifdef PROFILE + CCOMFLAGS += -pg +-endif +- +-# add the optimization flag +-CCOMFLAGS += -O$(OPTIMIZE) +- +-# add the error warning flag +-ifndef NOWERROR +-CCOMFLAGS += -Werror +-endif +- +-# if we are optimizing, include optimization options +-ifneq ($(OPTIMIZE),0) +-CCOMFLAGS += -fno-strict-aliasing $(ARCHOPTS) + endif + + # add a basic set of warnings +@@ -565,26 +550,11 @@ + + # LDFLAGS are used generally; LDFLAGSEMULATOR are additional + # flags only used when linking the core emulator +-LDFLAGS = +-ifneq ($(TARGETOS),macosx) +-ifneq ($(TARGETOS),os2) +-ifneq ($(TARGETOS),solaris) +-LDFLAGS = -Wl,--warn-common +-endif +-endif +-endif + LDFLAGSEMULATOR = + + # add profiling information for the linker + ifdef PROFILE + LDFLAGS += -pg +-endif +- +-# strip symbols and other metadata in non-symbols and non profiling builds +-ifndef SYMBOLS +-ifneq ($(TARGETOS),macosx) +-LDFLAGS += -s +-endif + endif + + # output a map file (emulator only) +--- src/osd/sdl/sdl.mak ++++ src/osd/sdl/sdl.mak +@@ -24,6 +24,8 @@ + # uncomment and edit next line to specify a distribution + # supported debian-stable, ubuntu-intrepid + ++PKG_CONFIG ?= pkg-config ++ + # DISTRO = debian-stable + # DISTRO = ubuntu-intrepid + # DISTRO = gcc44-generic +@@ -91,9 +93,9 @@ + endif + + ifdef SDL_INSTALL_ROOT +-SDL_CONFIG = $(SDL_INSTALL_ROOT)/bin/$(SDL_LIBVER)-config ++SDL_CONFIG ?= $(SDL_INSTALL_ROOT)/bin/$(SDL_LIBVER)-config + else +-SDL_CONFIG = $(SDL_LIBVER)-config ++SDL_CONFIG ?= $(SDL_LIBVER)-config + endif + + ifeq ($(SDL_LIBVER),sdl2) +@@ -190,8 +192,8 @@ + SDL_NETWORK = taptun + + ifndef NO_USE_MIDI +-INCPATH += `pkg-config --cflags alsa` +-LIBS += `pkg-config --libs alsa` ++INCPATH += $(shell $(PKG_CONFIG) --cflags alsa) ++LIBS += $(shell $(PKG_CONFIG) --libs alsa) + endif + + endif +@@ -476,10 +478,10 @@ + # Remove the "/SDL" component from the include path so that we can compile + # files (header files are #include "SDL/something.h", so the extra "/SDL" + # causes a significant problem) +-INCPATH += `sdl-config --cflags | sed 's:/SDL::'` ++INCPATH += $(shell $(SDL_CONFIG) --cflags | sed 's:/SDL::') + CCOMFLAGS += -DNO_SDL_GLEXT + # Remove libSDLmain, as its symbols conflict with SDLMain_tmpl.m +-LIBS += `sdl-config --libs | sed 's/-lSDLmain//'` -lpthread ++LIBS += $(shell $(SDL_CONFIG) --libs | sed 's/-lSDLmain//') -lpthread + DEFS += -DMACOSX_USE_LIBSDL + endif # MACOSX_USE_LIBSDL + +@@ -532,8 +534,8 @@ + endif + endif + +-INCPATH += `pkg-config --cflags fontconfig` +-LIBS += `pkg-config --libs fontconfig` ++INCPATH += $(shell $(PKG_CONFIG) --cflags fontconfig) ++LIBS += $(shell $(PKG_CONFIG) --libs fontconfig) + + ifeq ($(SDL_LIBVER),sdl2) + LIBS += -lSDL2_ttf +@@ -616,8 +618,8 @@ + + ifeq ($(BASE_TARGETOS),os2) + +-INCPATH += `sdl-config --cflags` +-LIBS += `sdl-config --libs` ++INCPATH += $(shell $(SDL_CONFIG) --cflags) ++LIBS += $(shell $(SDL_CONFIG) --libs) + + endif # OS2 + +@@ -690,15 +692,15 @@ + + # the new debugger relies on GTK+ in addition to the base SDLMAME needs + # Non-X11 builds can not use the debugger +-INCPATH += `pkg-config --cflags-only-I gtk+-2.0` `pkg-config --cflags-only-I gconf-2.0` +-CCOMFLAGS += `pkg-config --cflags-only-other gtk+-2.0` `pkg-config --cflags-only-other gconf-2.0` +-LIBS += `pkg-config --libs gtk+-2.0` `pkg-config --libs gconf-2.0` ++INCPATH += $(shell $(PKG_CONFIG) --cflags-only-I gtk+-2.0 gconf-2.0) ++CCOMFLAGS += $(shell $(PKG_CONFIG) --cflags-only-other gtk+-2.0 gconf-2.0) ++LIBS += $(shell $(PKG_CONFIG) --libs gtk+-2.0 gconf-2.0) + #CCOMFLAGS += -DGTK_DISABLE_DEPRECATED + + # The newer debugger uses QT + ifdef USE_QTDEBUG +-INCPATH += `pkg-config QtGui --cflags` +-LIBS += `pkg-config QtGui --libs` ++INCPATH += $(shell $(PKG_CONFIG) QtGui --cflags) ++LIBS += $(shell $(PKG_CONFIG) QtGui --libs) + endif + + # some systems still put important things in a different prefix diff --git a/games-emulation/sdlmame/files/sdlmame-0.148_p1-no-opengl.patch b/games-emulation/sdlmame/files/sdlmame-0.148_p1-no-opengl.patch new file mode 100644 index 000000000000..7b339ba71a59 --- /dev/null +++ b/games-emulation/sdlmame/files/sdlmame-0.148_p1-no-opengl.patch @@ -0,0 +1,12 @@ +diff -Naur a/src/osd/sdl/osdsdl.h b/src/osd/sdl/osdsdl.h +--- a/src/osd/sdl/osdsdl.h 2012-07-11 20:49:55.070264487 +0200 ++++ b/src/osd/sdl/osdsdl.h 2012-07-11 20:51:45.976264395 +0200 +@@ -216,6 +216,8 @@ + const char *audio_driver() const { return value(SDLOPTION_AUDIODRIVER); } + #if USE_OPENGL + const char *gl_lib() const { return value(SDLOPTION_GL_LIB); } ++#else ++ const char *gl_lib() const { return NULL; } + #endif + + private: diff --git a/games-emulation/sdlmame/files/sdlmame-0.149-QA.patch b/games-emulation/sdlmame/files/sdlmame-0.149-QA.patch new file mode 100644 index 000000000000..97e4b8f41c10 --- /dev/null +++ b/games-emulation/sdlmame/files/sdlmame-0.149-QA.patch @@ -0,0 +1,191 @@ +commit 938cfdf1f01bcc9ac736249ee6458a774d560738 +Author: hasufell <hasufell@gentoo.org> +Date: Tue Jun 25 23:48:02 2013 +0200 + + QA: respect several environment variables + + such as CC,CFLAGS,PKG_CONFIG... + +diff --git a/makefile b/makefile +index ad6ae2d..dd4598d 100644 +--- a/makefile ++++ b/makefile +@@ -317,13 +317,15 @@ BUILD_EXE = $(EXE) + endif + + # compiler, linker and utilities +-AR = @ar +-CC = @gcc +-LD = @g++ ++AR ?= @ar ++CC ?= @gcc ++CXX ?= @g++ ++LD = $(CXX) + MD = -mkdir$(EXE) + RM = @rm -f + OBJDUMP = @objdump +-PYTHON = @python ++PYTHON ?= @python ++PKG_CONFIG ?= pkg-config + + + #------------------------------------------------- +@@ -458,7 +460,7 @@ CPPONLYFLAGS = + + # CFLAGS is defined based on C or C++ targets + # (remember, expansion only happens when used, so doing it here is ok) +-CFLAGS = $(CCOMFLAGS) $(CPPONLYFLAGS) ++CFLAGS += $(CCOMFLAGS) $(CPPONLYFLAGS) + + # we compile C-only to C89 standard with GNU extensions + # we compile C++ code to C++98 standard with GNU extensions +@@ -466,9 +468,6 @@ CONLYFLAGS += -std=gnu89 + CPPONLYFLAGS += -x c++ -std=gnu++98 + COBJFLAGS += -x objective-c++ + +-# this speeds it up a bit by piping between the preprocessor/compiler/assembler +-CCOMFLAGS += -pipe +- + # add -g if we need symbols, and ensure we have frame pointers + ifdef SYMBOLS + CCOMFLAGS += -g$(SYMLEVEL) -fno-omit-frame-pointer +@@ -484,19 +483,6 @@ ifdef PROFILE + CCOMFLAGS += -pg + endif + +-# add the optimization flag +-CCOMFLAGS += -O$(OPTIMIZE) +- +-# add the error warning flag +-ifndef NOWERROR +-CCOMFLAGS += -Werror +-endif +- +-# if we are optimizing, include optimization options +-ifneq ($(OPTIMIZE),0) +-CCOMFLAGS += -fno-strict-aliasing $(ARCHOPTS) +-endif +- + # add a basic set of warnings + CCOMFLAGS += \ + -Wall \ +@@ -576,14 +562,6 @@ endif + + # LDFLAGS are used generally; LDFLAGSEMULATOR are additional + # flags only used when linking the core emulator +-LDFLAGS = +-ifneq ($(TARGETOS),macosx) +-ifneq ($(TARGETOS),os2) +-ifneq ($(TARGETOS),solaris) +-LDFLAGS = -Wl,--warn-common +-endif +-endif +-endif + LDFLAGSEMULATOR = + + # add profiling information for the linker +@@ -591,13 +569,6 @@ ifdef PROFILE + LDFLAGS += -pg + endif + +-# strip symbols and other metadata in non-symbols and non profiling builds +-ifndef SYMBOLS +-ifneq ($(TARGETOS),macosx) +-LDFLAGS += -s +-endif +-endif +- + # output a map file (emulator only) + ifdef MAP + LDFLAGSEMULATOR += -Wl,-Map,$(FULLNAME).map +diff --git a/src/osd/sdl/sdl.mak b/src/osd/sdl/sdl.mak +index 84332ef..36655d3 100644 +--- a/src/osd/sdl/sdl.mak ++++ b/src/osd/sdl/sdl.mak +@@ -24,6 +24,8 @@ + # uncomment and edit next line to specify a distribution + # supported debian-stable, ubuntu-intrepid + ++PKG_CONFIG ?= pkg-config ++ + # DISTRO = debian-stable + # DISTRO = ubuntu-intrepid + # DISTRO = gcc44-generic +@@ -88,9 +90,9 @@ SDL_LIBVER = sdl + endif + + ifdef SDL_INSTALL_ROOT +-SDL_CONFIG = $(SDL_INSTALL_ROOT)/bin/$(SDL_LIBVER)-config ++SDL_CONFIG ?= $(SDL_INSTALL_ROOT)/bin/$(SDL_LIBVER)-config + else +-SDL_CONFIG = $(SDL_LIBVER)-config ++SDL_CONFIG ?= $(SDL_LIBVER)-config + endif + + ifeq ($(SDL_LIBVER),sdl2) +@@ -187,8 +189,8 @@ SYNC_IMPLEMENTATION = tc + SDL_NETWORK = taptun + + ifndef NO_USE_MIDI +-INCPATH += `pkg-config --cflags alsa` +-LIBS += `pkg-config --libs alsa` ++INCPATH += $(shell $(PKG_CONFIG) --cflags alsa) ++LIBS += $(shell $(PKG_CONFIG) --libs alsa) + endif + + endif +@@ -478,10 +480,10 @@ else + # Remove the "/SDL" component from the include path so that we can compile + # files (header files are #include "SDL/something.h", so the extra "/SDL" + # causes a significant problem) +-INCPATH += `sdl-config --cflags | sed 's:/SDL::'` ++INCPATH += $(shell $(SDL_CONFIG) --cflags | sed 's:/SDL::') + CCOMFLAGS += -DNO_SDL_GLEXT + # Remove libSDLmain, as its symbols conflict with SDLMain_tmpl.m +-LIBS += `sdl-config --libs | sed 's/-lSDLmain//'` -lpthread ++LIBS += $(shell $(SDL_CONFIG) --libs | sed 's/-lSDLmain//') -lpthread + DEFS += -DMACOSX_USE_LIBSDL + endif # MACOSX_USE_LIBSDL + +@@ -534,8 +536,8 @@ INCPATH += -I$(SDL_INSTALL_ROOT)/include/directfb + endif + endif + +-INCPATH += `pkg-config --cflags fontconfig` +-LIBS += `pkg-config --libs fontconfig` ++INCPATH += $(shell $(PKG_CONFIG) --cflags fontconfig) ++LIBS += $(shell $(PKG_CONFIG) --libs fontconfig) + + ifeq ($(SDL_LIBVER),sdl2) + LIBS += -lSDL2_ttf +@@ -620,8 +622,8 @@ endif # Win32 + + ifeq ($(BASE_TARGETOS),os2) + +-INCPATH += `sdl-config --cflags` +-LIBS += `sdl-config --libs` ++INCPATH += $(shell $(SDL_CONFIG) --cflags) ++LIBS += $(shell $(SDL_CONFIG) --libs) + + endif # OS2 + +@@ -696,14 +698,14 @@ LIBS += -lX11 -lXinerama + + # The newer debugger uses QT + ifndef NO_USE_QTDEBUG +-INCPATH += `pkg-config QtGui --cflags` +-LIBS += `pkg-config QtGui --libs` ++INCPATH += $(shell $(PKG_CONFIG) QtGui --cflags) ++LIBS += $(shell $(PKG_CONFIG) QtGui --libs) + else + # the old-new debugger relies on GTK+ in addition to the base SDLMAME needs + # Non-X11 builds can not use the debugger +-INCPATH += `pkg-config --cflags-only-I gtk+-2.0` `pkg-config --cflags-only-I gconf-2.0` +-CCOMFLAGS += `pkg-config --cflags-only-other gtk+-2.0` `pkg-config --cflags-only-other gconf-2.0` +-LIBS += `pkg-config --libs gtk+-2.0` `pkg-config --libs gconf-2.0` ++INCPATH += $(shell $(PKG_CONFIG) --cflags-only-I gtk+-2.0 gconf-2.0) ++CCOMFLAGS += $(shell $(PKG_CONFIG) --cflags-only-other gtk+-2.0 gconf-2.0) ++LIBS += $(shell $(PKG_CONFIG) --libs gtk+-2.0 gconf-2.0) + endif + + # some systems still put important things in a different prefix diff --git a/games-emulation/sdlmame/files/sdlmame-0.149-debugger-linking.patch b/games-emulation/sdlmame/files/sdlmame-0.149-debugger-linking.patch new file mode 100644 index 000000000000..6c7cd5d64199 --- /dev/null +++ b/games-emulation/sdlmame/files/sdlmame-0.149-debugger-linking.patch @@ -0,0 +1,28 @@ +commit ec92ac2b0180b101c30748e62eb8b76cdf0cb439 +Author: hasufell <hasufell@gentoo.org> +Date: Wed Jun 26 14:33:01 2013 +0200 + + remove unneeded linking + + if we don't build the debugger, we don't want gtk+ linking + +diff --git a/src/osd/sdl/sdl.mak b/src/osd/sdl/sdl.mak +index 36655d3..2089707 100644 +--- a/src/osd/sdl/sdl.mak ++++ b/src/osd/sdl/sdl.mak +@@ -696,6 +696,7 @@ else + DEFS += -DSDLMAME_X11 + LIBS += -lX11 -lXinerama + ++ifneq ($(NO_DEBUGGER),1) + # The newer debugger uses QT + ifndef NO_USE_QTDEBUG + INCPATH += $(shell $(PKG_CONFIG) QtGui --cflags) +@@ -707,6 +708,7 @@ INCPATH += $(shell $(PKG_CONFIG) --cflags-only-I gtk+-2.0 gconf-2.0) + CCOMFLAGS += $(shell $(PKG_CONFIG) --cflags-only-other gtk+-2.0 gconf-2.0) + LIBS += $(shell $(PKG_CONFIG) --libs gtk+-2.0 gconf-2.0) + endif ++endif # NO_DEBUGGER + + # some systems still put important things in a different prefix + LIBS += -L/usr/X11/lib -L/usr/X11R6/lib -L/usr/openwin/lib diff --git a/games-emulation/sdlmame/files/sdlmame-0.149-no-opengl.patch b/games-emulation/sdlmame/files/sdlmame-0.149-no-opengl.patch new file mode 100644 index 000000000000..cd32cd35d075 --- /dev/null +++ b/games-emulation/sdlmame/files/sdlmame-0.149-no-opengl.patch @@ -0,0 +1,19 @@ +commit 6ee372b3693857372a7b4855039ad1a94d3aebca +Author: hasufell <hasufell@gentoo.org> +Date: Tue Jun 25 23:51:12 2013 +0200 + + fix for disabled opengl + +diff --git a/src/osd/sdl/osdsdl.h b/src/osd/sdl/osdsdl.h +index ed0b66b..03d68f9 100644 +--- a/src/osd/sdl/osdsdl.h ++++ b/src/osd/sdl/osdsdl.h +@@ -219,6 +219,8 @@ public: + const char *audio_driver() const { return value(SDLOPTION_AUDIODRIVER); } + #if USE_OPENGL + const char *gl_lib() const { return value(SDLOPTION_GL_LIB); } ++#else ++ const char *gl_lib() const { return NULL; } + #endif + + private: diff --git a/games-emulation/sdlmame/files/sdlmame-0.149-system-lua.patch b/games-emulation/sdlmame/files/sdlmame-0.149-system-lua.patch new file mode 100644 index 000000000000..8460497f1d68 --- /dev/null +++ b/games-emulation/sdlmame/files/sdlmame-0.149-system-lua.patch @@ -0,0 +1,33 @@ +commit ea514c9ded266aa365976649d88fa5593ef7ebf5 +Author: hasufell <hasufell@gentoo.org> +Date: Tue Jun 25 23:48:26 2013 +0200 + + add switch to use system lua + +diff --git a/makefile b/makefile +index dd4598d..bdf22d2 100644 +--- a/makefile ++++ b/makefile +@@ -228,6 +228,9 @@ BUILD_JPEGLIB = 1 + # uncomment next line to build PortMidi as part of MAME/MESS build + BUILD_MIDILIB = 1 + ++# uncomment next line to build Lua-5.2 as part of MAME/MESS build ++BUILD_LUA = 1 ++ + # uncomment next line to include the symbols + # SYMBOLS = 1 + +@@ -664,7 +667,12 @@ SOFTFLOAT = $(OBJ)/libsoftfloat.a + FORMATS_LIB = $(OBJ)/libformats.a + + # add LUA library ++ifeq ($(BUILD_LUA),1) + LUA_LIB = $(OBJ)/liblua.a ++else ++LIBS += $(shell $(PKG_CONFIG) --libs lua) ++INCPATH += $(shell $(PKG_CONFIG) --cflags lua) ++endif + + # add PortMidi MIDI library + ifeq ($(BUILD_MIDILIB),1) diff --git a/games-emulation/sdlmame/files/vector.ini b/games-emulation/sdlmame/files/vector.ini new file mode 100644 index 000000000000..d4906e34ccd7 --- /dev/null +++ b/games-emulation/sdlmame/files/vector.ini @@ -0,0 +1,9 @@ +# +# Specific options file for vector games +# + +# +# VIDEO OPTIONS +# +video soft +yuvmode yv12 diff --git a/games-emulation/sdlmame/metadata.xml b/games-emulation/sdlmame/metadata.xml new file mode 100644 index 000000000000..f8f417e8c63a --- /dev/null +++ b/games-emulation/sdlmame/metadata.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>games</herd> +<longdescription> +SDLMAME is a port of the popular MAME[tm]. 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. +</longdescription> +</pkgmetadata> diff --git a/games-emulation/sdlmame/sdlmame-0.148_p1-r1.ebuild b/games-emulation/sdlmame/sdlmame-0.148_p1-r1.ebuild new file mode 100644 index 000000000000..efc1b52ad281 --- /dev/null +++ b/games-emulation/sdlmame/sdlmame-0.148_p1-r1.ebuild @@ -0,0 +1,186 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +PYTHON_COMPAT=( python2_7 ) +inherit eutils flag-o-matic python-any-r1 games + +MY_PV=${PV/.} +MY_CONF_PN=${PN/sdl} +MY_P=sdlmame${MY_PV} +MY_P=${MY_P%%_p*} +MY_CONF_VER="0.139" + +# patches +SRC_URI="$(for PATCH_VER in $(seq 1 ${PV##*_p}) ; do echo "http://dev.gentoo.org/~hasufell/distfiles/${MY_P}u${PATCH_VER}_diff.zip"; done)" + +DESCRIPTION="Multiple Arcade Machine Emulator (SDL)" +HOMEPAGE="http://mamedev.org/" +# Upstream doesn't allow fetching with unknown User-Agent such as wget +SRC_URI="$SRC_URI http://dev.gentoo.org/~hasufell/distfiles/${MY_P/sdl}s.zip" +if [[ ${PN} == "sdlmame" ]] ; then + SRC_URI="$SRC_URI http://www.netswarm.net/misc/sdlmame-ui.bdf.gz" +fi + +LICENSE="XMAME" +SLOT="0" +KEYWORDS="amd64 ~ppc x86" +IUSE="X alsa debug opengl" +REQUIRED_USE="debug? ( X )" + +RDEPEND="dev-libs/expat + media-libs/fontconfig + media-libs/flac + >=media-libs/libsdl-1.2.10[X,sound,joystick,opengl?,video] + media-libs/sdl-ttf + sys-libs/zlib + virtual/jpeg + alsa? ( media-libs/alsa-lib ) + X? ( + gnome-base/gconf + x11-libs/gtk+:2 + x11-libs/libX11 + x11-libs/libXinerama + )" +DEPEND="${RDEPEND} + ${PYTHON_DEPS} + app-arch/unzip + media-libs/alsa-lib + virtual/pkgconfig + X? ( x11-proto/xineramaproto )" + +S=${WORKDIR} + +# Function to disable a makefile option +disable_feature() { + sed -i \ + -e "/$1.*=/s:^:# :" \ + "${S}"/makefile \ + || die "sed failed" +} + +# Function to enable a makefile option +enable_feature() { + sed -i \ + -e "/^#.*$1.*=/s:^#::" \ + "${S}"/${2:-makefile} \ + || die "sed failed" +} + +pkg_setup() { + games_pkg_setup + python-any-r1_pkg_setup +} + +src_unpack() { + default + unpack ./mame.zip + rm -f mame.zip +} + +src_prepare() { + if [[ $PV == *_p* ]] ; then + edos2unix $(find $(grep +++ *diff | awk '{ print $2 }' | sort -u) 2>/dev/null) *diff + einfo "Patching release with source updates" + epatch ${MY_PV%%_p*}*.diff + fi + edos2unix src/osd/sdl/osdsdl.h + + epatch \ + "${FILESDIR}"/${P}-makefile.patch \ + "${FILESDIR}"/${P}-no-opengl.patch + + # Don't compile zlib and expat + einfo "Disabling embedded libraries: expat, flac, jpeg, zlib" + disable_feature BUILD_EXPAT + disable_feature BUILD_FLAC + disable_feature BUILD_JPEG + disable_feature BUILD_ZLIB + + if use amd64; then + einfo "Enabling 64-bit support" + enable_feature PTR64 + fi + + if use ppc; then + einfo "Enabling PPC support" + enable_feature BIGENDIAN + fi + + if use debug; then + einfo "Enabling debug support" + enable_feature DEBUG + fi + + if ! use opengl ; then + einfo "Disabling opengl support" + enable_feature NO_OPENGL src/osd/sdl/sdl.mak + fi + + if ! use alsa ; then + einfo "Disabling alsa midi support" + enable_feature NO_USE_MIDI src/osd/sdl/sdl.mak + fi + + if ! use X ; then + einfo "Disabling X support" + enable_feature NO_X11 src/osd/sdl/sdl.mak + fi +} + +src_compile() { + emake \ + TARGET="${PN#sdl}" \ + NAME="${PN}" \ + OPT_FLAGS='-DINI_PATH=\"\$$HOME/.'${PN}'\;'"${GAMES_SYSCONFDIR}/${PN}"'\"' \ + NO_DEBUGGER=$(usex debug "0" "1") default +} + +src_install() { + newgamesbin ${PN}$(use amd64 && echo 64)$(use debug && echo d) ${PN} + + newman src/osd/sdl/man/${PN#sdl}.6 ${PN}.6 + + insinto "${GAMES_DATADIR}/${PN}" + doins -r src/osd/sdl/keymaps + [[ ${PN} == "sdlmame" ]] && newins sdlmame-ui.bdf ui.bdf + + insinto "${GAMES_SYSCONFDIR}/${PN}" + doins "${FILESDIR}"/vector.ini + + sed \ + -e "s:@GAMES_SYSCONFDIR@:${GAMES_SYSCONFDIR}:" \ + -e "s:@GAMES_DATADIR@:${GAMES_DATADIR}:" \ + "${FILESDIR}/${MY_CONF_PN}-${MY_CONF_VER}".ini.in > "${D}/${GAMES_SYSCONFDIR}/${PN}/${MY_CONF_PN}".ini \ + || die "sed failed" + + dodoc docs/{config,mame,newvideo}.txt + if [[ ${PN} == "sdlmame" ]] ; then + dodoc whatsnew*.txt + else + dodoc messnew*.txt + fi + + keepdir \ + "${GAMES_DATADIR}/${PN}"/{ctrlr,cheats,roms,samples,artwork,crosshair} \ + "${GAMES_SYSCONFDIR}/${PN}"/{ctrlr,cheats} + + prepgamesdirs +} + +pkg_postinst() { + games_pkg_postinst + + elog "optional dependencies:" + elog " games-emulation/sdlmametools (development tools)" + echo + elog "It's strongly recommended that you change either the system-wide" + elog "${MY_CONF_PN}.ini at \"${GAMES_SYSCONFDIR}/${PN}\" or use a per-user setup at \$HOME/.${PN}" + + if use opengl; then + echo + elog "You built ${PN} with opengl support and should set" + elog "\"video\" to \"opengl\" in ${MY_CONF_PN}.ini to take advantage of that" + fi +} diff --git a/games-emulation/sdlmame/sdlmame-0.149.ebuild b/games-emulation/sdlmame/sdlmame-0.149.ebuild new file mode 100644 index 000000000000..b5d95f52a2c1 --- /dev/null +++ b/games-emulation/sdlmame/sdlmame-0.149.ebuild @@ -0,0 +1,194 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +PYTHON_COMPAT=( python2_7 ) +inherit eutils flag-o-matic python-any-r1 games + +MY_PV=${PV/.} +MY_CONF_PN=${PN/sdl} +MY_P=sdlmame${MY_PV} +MY_P=${MY_P%%_p*} +MY_CONF_VER="0.139" + +# patches +SRC_URI="$(for PATCH_VER in $(seq 1 ${PV##*_p}) ; do echo "http://dev.gentoo.org/~hasufell/distfiles/${MY_P}u${PATCH_VER}_diff.zip"; done)" + +DESCRIPTION="Multiple Arcade Machine Emulator (SDL)" +HOMEPAGE="http://mamedev.org/" +# Upstream doesn't allow fetching with unknown User-Agent such as wget +SRC_URI="$SRC_URI http://dev.gentoo.org/~hasufell/distfiles/${MY_P/sdl}s.zip" +if [[ ${PN} == "sdlmame" ]] ; then + SRC_URI="$SRC_URI http://www.netswarm.net/misc/sdlmame-ui.bdf.gz" +fi + +LICENSE="XMAME" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~x86" +IUSE="X alsa debug opengl" +REQUIRED_USE="debug? ( X )" + +RDEPEND=">=dev-lang/lua-5.2 + dev-libs/expat + media-libs/fontconfig + media-libs/flac + >=media-libs/libsdl-1.2.10[sound,joystick,opengl?,video] + media-libs/sdl-ttf + sys-libs/zlib + virtual/jpeg + alsa? ( media-libs/alsa-lib ) + debug? ( + x11-libs/gtk+:2 + gnome-base/gconf + ) + X? ( + x11-libs/libX11 + x11-libs/libXinerama + )" +DEPEND="${RDEPEND} + ${PYTHON_DEPS} + app-arch/unzip + virtual/pkgconfig + X? ( x11-proto/xineramaproto )" + +S=${WORKDIR} + +# Function to disable a makefile option +disable_feature() { + sed -i \ + -e "/$1.*=/s:^:# :" \ + "${S}"/${2:-makefile} \ + || die "sed failed" +} + +# Function to enable a makefile option +enable_feature() { + sed -i \ + -e "/^#.*$1.*=/s:^#::" \ + "${S}"/${2:-makefile} \ + || die "sed failed" +} + +pkg_setup() { + games_pkg_setup + python-any-r1_pkg_setup +} + +src_unpack() { + default + unpack ./mame.zip + rm -f mame.zip +} + +src_prepare() { + if [[ $PV == *_p* ]] ; then + edos2unix $(find $(grep +++ *diff | awk '{ print $2 }' | sort -u) 2>/dev/null) *diff + einfo "Patching release with source updates" + epatch ${MY_PV%%_p*}*.diff + fi + edos2unix makefile src/osd/sdl/{osdsdl.h,sdl.mak} + + epatch \ + "${FILESDIR}"/${P}-QA.patch \ + "${FILESDIR}"/${P}-system-lua.patch \ + "${FILESDIR}"/${P}-no-opengl.patch \ + "${FILESDIR}"/${P}-debugger-linking.patch + + # Don't compile zlib and expat + einfo "Disabling embedded libraries: expat, flac, jpeg, zlib, lua" + disable_feature BUILD_EXPAT + disable_feature BUILD_FLAC + disable_feature BUILD_JPEG + disable_feature BUILD_ZLIB + disable_feature BUILD_LUA + + if use amd64; then + einfo "Enabling 64-bit support" + enable_feature PTR64 + fi + + if use ppc; then + einfo "Enabling PPC support" + enable_feature BIGENDIAN + fi + + if use debug; then + einfo "Enabling debug support" + enable_feature DEBUG + enable_feature DEBUG src/osd/sdl/sdl.mak + fi + + enable_feature NO_USE_QTDEBUG src/osd/sdl/sdl.mak + + if ! use opengl ; then + einfo "Disabling opengl support" + enable_feature NO_OPENGL src/osd/sdl/sdl.mak + fi + + if ! use alsa ; then + einfo "Disabling alsa midi support" + enable_feature NO_USE_MIDI src/osd/sdl/sdl.mak + fi + + if ! use X ; then + einfo "Disabling X support" + enable_feature NO_X11 src/osd/sdl/sdl.mak + fi +} + +src_compile() { + emake \ + TARGET="${PN#sdl}" \ + NAME="${PN}" \ + OPT_FLAGS='-DINI_PATH=\"\$$HOME/.'${PN}'\;'"${GAMES_SYSCONFDIR}/${PN}"'\"' \ + NO_DEBUGGER=$(usex debug "0" "1") default +} + +src_install() { + newgamesbin ${PN}$(use amd64 && echo 64)$(use debug && echo d) ${PN} + + newman src/osd/sdl/man/${PN#sdl}.6 ${PN}.6 + + insinto "${GAMES_DATADIR}/${PN}" + doins -r src/osd/sdl/keymaps + [[ ${PN} == "sdlmame" ]] && newins sdlmame-ui.bdf ui.bdf + + insinto "${GAMES_SYSCONFDIR}/${PN}" + doins "${FILESDIR}"/vector.ini + + sed \ + -e "s:@GAMES_SYSCONFDIR@:${GAMES_SYSCONFDIR}:" \ + -e "s:@GAMES_DATADIR@:${GAMES_DATADIR}:" \ + "${FILESDIR}/${MY_CONF_PN}-${MY_CONF_VER}".ini.in > "${D}/${GAMES_SYSCONFDIR}/${PN}/${MY_CONF_PN}".ini \ + || die "sed failed" + + dodoc docs/{config,mame,newvideo}.txt + if [[ ${PN} == "sdlmame" ]] ; then + dodoc whatsnew*.txt + else + dodoc messnew*.txt + fi + + keepdir \ + "${GAMES_DATADIR}/${PN}"/{ctrlr,cheats,roms,samples,artwork,crosshair} \ + "${GAMES_SYSCONFDIR}/${PN}"/{ctrlr,cheats} + + prepgamesdirs +} + +pkg_postinst() { + games_pkg_postinst + + elog "optional dependencies:" + elog " games-emulation/sdlmametools (development tools)" + echo + elog "It's strongly recommended that you change either the system-wide" + elog "${MY_CONF_PN}.ini at \"${GAMES_SYSCONFDIR}/${PN}\" or use a per-user setup at \$HOME/.${PN}" + + if use opengl; then + echo + elog "You built ${PN} with opengl support and should set" + elog "\"video\" to \"opengl\" in ${MY_CONF_PN}.ini to take advantage of that" + fi +} |