1
0
mirror of https://github.com/gryf/gryf-overlay.git synced 2025-12-23 22:52:32 +01:00

Added compilable version of sdlmame

This commit is contained in:
root
2015-04-13 17:13:40 +02:00
parent d33da7c215
commit 1994389575
7 changed files with 651 additions and 0 deletions

View File

@@ -0,0 +1,8 @@
AUX mame-0.159.ini.in 6688 SHA256 4788e0c7bccc6d286cf1b3cbfe39aa1be6f210a94dea37954d4821a97bfb14da SHA512 e577c18b8403afdce4ae1c95a284ccb3aa4a0c7375f1e1eb2d93396e03f2ed0101d49c786f797a37b7a43e612434fbe368e9af7af9f032b0bc06e3014316d283 WHIRLPOOL 7686f4a28f110efd2d9797a79d46a0dc16094fb86a0d7a688186128a7c59ff256defa788351975e0de9f472c68fd1962a411c8885a8cebee2064d90d14cf7077
AUX sdlmame-0.159-QA.patch 3317 SHA256 0048d22f37d901730c4fa7006de1dc11735bc8d3341dfd326481a5d72a257927 SHA512 fdfb8c8f7fe334c63a4240867689acb1f63cae2358253090d366c96db2df6adcc061f4080f95f2b42e5c4647a35f08877a5a759b7d302beb5d68c01b8c11bd82 WHIRLPOOL 1bbcc7769e23c362853d779ad5e37781b4b70757c448999396dc72f4971a28c700d378a47bb7714bb9eba0b86028cdcf8da5ce8aa16f48b6ceb4f59bd674a69a
AUX sdlmame-0.159-debugger-linking.patch 592 SHA256 b8df68ec51d5869f706b33bb035ec78c7abf7b198fd7e132b640da1fbcc6e99e SHA512 fd94c3e57b032cc46d44065053a4d71e0a96de8566f5af3af33a0b50e966911e1fb4658a619dd0b1eaef503eee1abb18c44d3df9cd773c0e3aa10f91df932593 WHIRLPOOL 14e8436bca894df4d82d845d3634df2dc5152ac9d82905e87bc32f0295a15cf77240a100e9a0e88c788aa9eee458a921be4f1a0a8e64ccc17be294aae053f36f
AUX sdlmame-0.159-sdl_ttf.patch 1009 SHA256 a548a6f7e584bab10ad9559185e69564a388d8cc66d732c1cb84146ca3075197 SHA512 421ec61d784447f6c4c1177f03a1e2e42fd1fd145dd3c90dc7274bec71dbdd65b4b37b1195408ddca7963a745215e7aee27983d381532179a57157c91f4976d8 WHIRLPOOL ffb1bba6963d8d23d3b195b2f06d1665d07f4fce8784cd7596206ca6b93714c4b57da2b8ca40c74193c201c69f6c073d46455e0cfbefe0826ce5ee7f4028c403
AUX vector.ini 116 SHA256 408aeaaffcb2ecccd20db457f22d2d5efa930c0f62a92987b0fbefaf6c038c23 SHA512 6d84eb7b9c4e9f134b57e64ba9ae30dcaaa620296830f7c9858611fde9064f803bd7d230a989a5cce34d8b815b5a98d323b19d3eef3d4c688b5c32b96b299f5f WHIRLPOOL f60543015a0195487917c696640cc66e29109298ac8f9bd1309346f6ab1b46d8e2ce83d00506c17a9ea588f6b3bac82f0f66d7e75bbf88656ba897cd50fa3dac
DIST mame0159s.zip 80801723 SHA256 22a7eb29e508b033b6289a2a20733f4227c037844e653ef3f3c2a1ea03703d00 SHA512 572254852cd18db0ae2d0ea1eb8086cc17b7cc465445e1d01ba7500bd893627e91446e8fa7793e155d6ea8fb8f133474f08f628dc090fec4b64edcd8e5a6636d WHIRLPOOL 2b9d14afa05cb67322eef3cba9ab146f5cdab6b369d7109e1027a849271ebe92a2a401d7150084eadc154eda4ed4207838840ab3ca74bebfbfb82fb3642898b1
DIST sdlmame-ui.bdf.gz 114727 SHA256 f2ec11dd926bbeae8647e68607107516a30790239464939f3e99a0f62fc7f17e SHA512 67ba1bc632c1ac51b97acf8c1061477edd3519fea3d1233951723741c926ff72e259c274babb036abf4db92f217db507c58a6fc6e438db4b14c5fe5789b2ed64 WHIRLPOOL 2150053b38d8318804bf40cdcd9cdefdd2976c4cfab563c90021f0d9be0a0a57174166ece8b51658d9f2192e07343f198358299667a1db32f146c9fb9c528956
EBUILD sdlmame-0.159.ebuild 4132 SHA256 c0c75f69d2a8d7858f33ef96346134a2ffdead7e128874ae404d81872fc8c8a1 SHA512 fd5c78d1aa5bb81a56488bcc4b3315d6ebb411639823440ba682290537808ae7ec2785930ea87accf14ef97d408f06c4643f36d59a66a984da39b27d04ea421d WHIRLPOOL e7be7660288a02c7069f1c79c88ea8ad8297e315fa62e2d03ff70407346037e9b534ae6daf75768ec803593838ef2b796ad9f64b96342f4eafe8c4171434a3cd

View File

@@ -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

View File

@@ -0,0 +1,132 @@
diff -ru work.orig/makefile work/makefile
--- work.orig/makefile 2015-03-11 18:38:24.955335239 -0700
+++ work/makefile 2015-03-11 18:39:03.870276079 -0700
@@ -363,14 +363,16 @@
# compiler, linker and utilities
ifneq ($(TARGETOS),emscripten)
-AR = @ar
-CC = @gcc
-LD = @g++
+AR ?= @ar
+CC ?= @gcc
+CXX ?= @g++
+LD = $(CXX)
endif
MD = -mkdir$(BUILD_EXE)
RM = @rm -f
OBJDUMP = @objdump
-PYTHON = @python
+PYTHON ?= @python
+PKG_CONFIG ?= pkg-config
#-------------------------------------------------
# form the name of the executable
@@ -523,7 +525,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) $(INCPATH)
+CFLAGS += $(CCOMFLAGS) $(CPPONLYFLAGS) $(INCPATH)
# we compile C-only to C89 standard with GNU extensions
# we compile C++ code to C++98 standard with GNU extensions
@@ -535,9 +537,6 @@
endif
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 -fno-optimize-sibling-calls
@@ -564,22 +563,6 @@
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)
-ifdef LTO
-CCOMFLAGS += -flto
-endif
-endif
-
ifdef SSE2
CCOMFLAGS += -msse2
endif
@@ -662,30 +645,11 @@
# 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
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
-
ifneq ($(OPTIMIZE),0)
ifdef LTO
LDFLAGS += -flto
diff -ru work.orig/src/osd/sdl/sdl.mak work/src/osd/sdl/sdl.mak
--- work.orig/src/osd/sdl/sdl.mak 2015-03-11 18:38:20.074217228 -0700
+++ work/src/osd/sdl/sdl.mak 2015-03-11 18:41:08.653292939 -0700
@@ -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
@@ -107,9 +109,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)
@@ -761,8 +763,8 @@
#-------------------------------------------------
ifndef NO_USE_QTDEBUG
-$(OSDOBJ)/%.moc.c: $(OSDSRC)/%.h
- $(MOC) $(MOCINCPATH) $< -o $@
+INCPATH += $(shell $(PKG_CONFIG) QtGui --cflags)
+LIBS += $(shell $(PKG_CONFIG) QtGui --libs)
DEBUGOBJS = \
$(OSDOBJ)/modules/debugger/qt/debuggerview.o \

View File

@@ -0,0 +1,19 @@
diff -ru work.orig/src/osd/sdl/sdl.mak work/src/osd/sdl/sdl.mak
--- work.orig/src/osd/sdl/sdl.mak 2015-03-11 18:42:22.102068698 -0700
+++ work/src/osd/sdl/sdl.mak 2015-03-11 18:43:24.594579570 -0700
@@ -855,6 +855,7 @@
BASELIBS += -lX11
endif
+ifneq ($(NO_DEBUGGER),1)
# The newer debugger uses QT
ifndef NO_USE_QTDEBUG
QTCFLAGS := $(shell pkg-config --cflags QtGui)
@@ -863,6 +864,7 @@
INCPATH += $(QTCFLAGS)
LIBS += $(QTLIBS)
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

View File

@@ -0,0 +1,30 @@
diff -ru work.orig/src/osd/modules/font/font_sdl.c work/src/osd/modules/font/font_sdl.c
--- work.orig/src/osd/modules/font/font_sdl.c 2015-03-11 18:43:43.528037322 -0700
+++ work/src/osd/modules/font/font_sdl.c 2015-03-11 18:44:00.170439682 -0700
@@ -8,11 +8,7 @@
#if defined(SDLMAME_UNIX) && (!defined(SDLMAME_MACOSX)) && (!defined(SDLMAME_SOLARIS)) && (!defined(SDLMAME_HAIKU)) && (!defined(SDLMAME_EMSCRIPTEN))
-#if (SDLMAME_SDL2)
-#include <SDL2/SDL_ttf.h>
-#else
#include <SDL/SDL_ttf.h>
-#endif
#ifndef SDLMAME_HAIKU
#include <fontconfig/fontconfig.h>
#endif
diff -ru work.orig/src/osd/sdl/sdl.mak work/src/osd/sdl/sdl.mak
--- work.orig/src/osd/sdl/sdl.mak 2015-03-11 18:43:43.526037273 -0700
+++ work/src/osd/sdl/sdl.mak 2015-03-11 18:44:00.170439682 -0700
@@ -649,11 +649,7 @@
endif
LIBS += $(FONTCONFIGLIBS)
-ifeq ($(SDL_LIBVER),sdl2)
-LIBS += -lSDL2_ttf
-else
LIBS += -lSDL_ttf
-endif
# FIXME: should be dealt with elsewhere
# libs that Haiku doesn't want but are mandatory on *IX

View File

@@ -0,0 +1,9 @@
#
# Specific options file for vector games
#
#
# VIDEO OPTIONS
#
video soft
yuvmode yv12

View File

@@ -0,0 +1,183 @@
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/games-emulation/sdlmame/sdlmame-0.149.ebuild,v 1.1 2013/06/26 13:14:28 hasufell Exp $
EAPI=5
PYTHON_COMPAT=( python2_6 python2_7 )
inherit eutils flag-o-matic python-any-r1 games
MY_ZIP="mame0159s.zip"
DESCRIPTION="Multiple Arcade Machine Emulator (SDL)"
HOMEPAGE="http://mamedev.org/"
RESTRICT="mirror"
SRC_URI="http://mamedev.org/downloader.php?file=releases/${MY_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/libsdl2-2.0.3[sound,joystick,opengl?,video]
media-libs/sdl-ttf
sys-libs/zlib
virtual/jpeg
alsa? ( media-libs/alsa-lib )
debug? (
>=dev-qt/qtgui-4.7
)
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() {
edos2unix makefile src/osd/sdl/{osdsdl.h,sdl.mak}
epatch \
"${FILESDIR}"/${P}-QA.patch \
"${FILESDIR}"/${P}-debugger-linking.patch \
"${FILESDIR}"/${P}-sdl_ttf.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
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 \
PYTHON=python2
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#sdl}$(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}/${PN/sdl}-${PV}".ini.in > "${D}/${GAMES_SYSCONFDIR}/${PN}/${PN/sdl}.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
}