summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulian Ospald <hasufell@gentoo.org>2013-06-26 13:14:28 +0000
committerJulian Ospald <hasufell@gentoo.org>2013-06-26 13:14:28 +0000
commit0427579c01c7e1ec594003797e0a3bed32c0cc75 (patch)
treee160e7e4f21f358d8adda3c8e7d8a58046b8a9d5 /games-emulation
parentmask >=games-emulation/sdlmame-0.149 and >=games-emulation/sdlmess-0.149 (diff)
downloadgentoo-2-0427579c01c7e1ec594003797e0a3bed32c0cc75.tar.gz
gentoo-2-0427579c01c7e1ec594003797e0a3bed32c0cc75.tar.bz2
gentoo-2-0427579c01c7e1ec594003797e0a3bed32c0cc75.zip
version bump wrt #474638
(Portage version: 2.2.0_alpha185/cvs/Linux x86_64, signed Manifest commit with key E73C35B3)
Diffstat (limited to 'games-emulation')
-rw-r--r--games-emulation/sdlmame/ChangeLog9
-rw-r--r--games-emulation/sdlmame/files/sdlmame-0.149-QA.patch191
-rw-r--r--games-emulation/sdlmame/files/sdlmame-0.149-debugger-linking.patch28
-rw-r--r--games-emulation/sdlmame/files/sdlmame-0.149-no-opengl.patch19
-rw-r--r--games-emulation/sdlmame/files/sdlmame-0.149-system-lua.patch33
-rw-r--r--games-emulation/sdlmame/sdlmame-0.149.ebuild194
6 files changed, 473 insertions, 1 deletions
diff --git a/games-emulation/sdlmame/ChangeLog b/games-emulation/sdlmame/ChangeLog
index bf678ee02241..ac417f3fea2b 100644
--- a/games-emulation/sdlmame/ChangeLog
+++ b/games-emulation/sdlmame/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for games-emulation/sdlmame
# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/games-emulation/sdlmame/ChangeLog,v 1.62 2013/03/15 19:31:07 hasufell Exp $
+# $Header: /var/cvsroot/gentoo-x86/games-emulation/sdlmame/ChangeLog,v 1.63 2013/06/26 13:14:28 hasufell Exp $
+
+*sdlmame-0.149 (26 Jun 2013)
+
+ 26 Jun 2013; Julian Ospald <hasufell@gentoo.org> +sdlmame-0.149.ebuild,
+ +files/sdlmame-0.149-QA.patch, +files/sdlmame-0.149-debugger-linking.patch,
+ +files/sdlmame-0.149-no-opengl.patch, +files/sdlmame-0.149-system-lua.patch:
+ version bump wrt #474638
*sdlmame-0.148_p1-r1 (15 Mar 2013)
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/sdlmame-0.149.ebuild b/games-emulation/sdlmame/sdlmame-0.149.ebuild
new file mode 100644
index 000000000000..2717d7f40a10
--- /dev/null
+++ b/games-emulation/sdlmame/sdlmame-0.149.ebuild
@@ -0,0 +1,194 @@
+# 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_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[audio,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
+}