diff options
author | Julian Ospald <hasufell@gentoo.org> | 2013-06-26 13:14:28 +0000 |
---|---|---|
committer | Julian Ospald <hasufell@gentoo.org> | 2013-06-26 13:14:28 +0000 |
commit | 0427579c01c7e1ec594003797e0a3bed32c0cc75 (patch) | |
tree | e160e7e4f21f358d8adda3c8e7d8a58046b8a9d5 /games-emulation | |
parent | mask >=games-emulation/sdlmame-0.149 and >=games-emulation/sdlmess-0.149 (diff) | |
download | gentoo-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')
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 +} |