commit:     984b9ebf358f20f8c0ae724bf62a321569164c57
Author:     Michael Sterrett <mr_bones_ <AT> gentoo <DOT> org>
AuthorDate: Wed Jun 15 03:07:53 2016 +0000
Commit:     Michael Sterrett <mr_bones_ <AT> gentoo <DOT> org>
CommitDate: Wed Jun 15 03:11:49 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=984b9ebf

games-emulation/sdlmame: version bump

Package-Manager: portage-2.2.28

 games-emulation/sdlmame/Manifest                   |   1 +
 .../sdlmame/files/sdlmame-0.174-cxx14.patch        |  28 +++
 .../sdlmame/files/sdlmame-0.174-qt.patch           |  29 +++
 games-emulation/sdlmame/sdlmame-0.174.ebuild       | 235 +++++++++++++++++++++
 4 files changed, 293 insertions(+)

diff --git a/games-emulation/sdlmame/Manifest b/games-emulation/sdlmame/Manifest
index 95551bb..d42bcb3 100644
--- a/games-emulation/sdlmame/Manifest
+++ b/games-emulation/sdlmame/Manifest
@@ -1,2 +1,3 @@
 DIST mame-0.168.zip 82770536 SHA256 
f91e014c3d3bf3da790284a25437f231a84228a6adbf42db35ca34a57f8a3092 SHA512 
14b0519682f8aeb2379cd29b9e0ad8f3c54866296ac158876435425b79c3bf19a2dc520df7a44fe301a8e8cbbc335185602f4998edf6e95324f527c50c72411e
 WHIRLPOOL 
41ddbe191423e3653a52f7734cc85088f1c663fd9aefdbd00ceefbe86f27bde190d14505be7fa69f76c7a39c6bbb5ab196685c2e001c8517cb90f4f7f27e8a51
 DIST mame-0.173.zip 92387665 SHA256 
45a31815838abfab10d4b0c13be013c24385f1ff07aaeafa8e86014b996376a5 SHA512 
e4ca67cf313b23c49a30914299878270caddd24b5f26aefb6a5dc3ae0720847aff63e999237997edb01492afd60e3afd4be54ff885595e2f043ac4c0b647488b
 WHIRLPOOL 
d7065575ea842e63efd0494b1ba477524b4185b7ebd651bb7a60240b38b692245c53bf3a6044c251805bb80b7cd053f0f903259da36e9d109039579372255956
+DIST mame-0.174.zip 95944685 SHA256 
b9b1a65e855b055b0b6b262a7644d2b9a57c73541c55ee9eb60158508348a6fd SHA512 
9db4d98fb5f5373529808f3bc41fddefa65ebbf7c26d946ebf886cab25e5abf7c4d539d96dfd6af5e62f4366b2bb0b0b59d40fe7a722698f3707eb8ea4c12a0b
 WHIRLPOOL 
02a66870e5e27b4ea5cea8a53f3e2b629cdbf86090e0ba7c80fd4a0f1f7a866e67ff730e3cf14aa416560fab172dd65a9235013be97a9b61a451227649a551cc

diff --git a/games-emulation/sdlmame/files/sdlmame-0.174-cxx14.patch 
b/games-emulation/sdlmame/files/sdlmame-0.174-cxx14.patch
new file mode 100644
index 0000000..bd88cb4
--- /dev/null
+++ b/games-emulation/sdlmame/files/sdlmame-0.174-cxx14.patch
@@ -0,0 +1,28 @@
+# work around gcc-4.9.3's implementation of cxx14
+# bug  582576 with patch from Alexander Miller
+# https://bugs.gentoo.org/show_bug.cgi?id=582576
+
+--- a/src/lib/util/strformat.h
++++ b/src/lib/util/strformat.h
+@@ -185,9 +185,8 @@
+ #include <type_traits>
+ #include <utility>
+ 
+-#if defined(__GLIBCXX__) && (__GLIBCXX__ < 20150413)
+-namespace std
+-{
++namespace std {
++namespace mame_cxx14_compat {
+ template<class _Container>
+       inline constexpr auto
+       cbegin(const _Container& __cont) 
noexcept(noexcept(std::begin(__cont)))-> decltype(std::begin(__cont))
+@@ -198,7 +197,8 @@
+       cend(const _Container& __cont) noexcept(noexcept(std::end(__cont)))-> 
decltype(std::end(__cont))
+       { return std::end(__cont); }
+ }
+-#endif
++using namespace mame_cxx14_compat;
++}
+ 
+ namespace util {
+ namespace detail {

diff --git a/games-emulation/sdlmame/files/sdlmame-0.174-qt.patch 
b/games-emulation/sdlmame/files/sdlmame-0.174-qt.patch
new file mode 100644
index 0000000..f9c384d
--- /dev/null
+++ b/games-emulation/sdlmame/files/sdlmame-0.174-qt.patch
@@ -0,0 +1,29 @@
+No point in adding qt-related things to the compile line unless the qt 
debugger is wanted
+
+--- scripts/src/osd/sdl_cfg.lua.orig
++++ scripts/src/osd/sdl_cfg.lua
+@@ -115,14 +115,16 @@
+       configuration { }
+ 
+ elseif _OPTIONS["targetos"]=="linux" then
+-      if _OPTIONS["QT_HOME"]~=nil then
+-              buildoptions {
+-                      "-I" .. backtick(_OPTIONS["QT_HOME"] .. "/bin/qmake 
-query QT_INSTALL_HEADERS"),
+-              }
+-      else
+-              buildoptions {
+-                      backtick("pkg-config --cflags Qt5Widgets"),
+-              }
++      if _OPTIONS["USE_QTDEBUG"]=="1" then
++              if _OPTIONS["QT_HOME"]~=nil then
++                      buildoptions {
++                              "-I" .. backtick(_OPTIONS["QT_HOME"] .. 
"/bin/qmake -query QT_INSTALL_HEADERS"),
++                      }
++              else
++                      buildoptions {
++                              backtick("pkg-config --cflags Qt5Widgets"),
++                      }
++              end
+       end
+ elseif _OPTIONS["targetos"]=="macosx" then
+       defines {

diff --git a/games-emulation/sdlmame/sdlmame-0.174.ebuild 
b/games-emulation/sdlmame/sdlmame-0.174.ebuild
new file mode 100644
index 0000000..59d21f2
--- /dev/null
+++ b/games-emulation/sdlmame/sdlmame-0.174.ebuild
@@ -0,0 +1,235 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+inherit eutils python-any-r1 toolchain-funcs qmake-utils games
+
+MY_PV="${PV/.}"
+
+DESCRIPTION="Multiple Arcade Machine Emulator + Multi Emulator Super System 
(MESS)"
+HOMEPAGE="http://mamedev.org/";
+SRC_URI="https://github.com/mamedev/mame/releases/download/mame${MY_PV}/mame${MY_PV}s.zip
 -> mame-${PV}.zip"
+
+LICENSE="GPL-2+ BSD-2 MIT CC0-1.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="alsa +arcade debug +mess opengl openmp tools"
+REQUIRED_USE="|| ( arcade mess )"
+
+# MESS (games-emulation/sdlmess) has been merged into MAME upstream since 
mame-0.162 (see below)
+#  MAME/MESS build combined (default)  +arcade +mess   (mame)
+#  MAME build only                     +arcade -mess   (mamearcade)
+#  MESS build only                     -arcade +mess   (mess)
+# games-emulation/sdlmametools is dropped and enabled instead by the 'tools' 
useflag
+RDEPEND="!games-emulation/sdlmametools
+       !games-emulation/sdlmess
+       dev-db/sqlite:3
+       dev-libs/expat
+       media-libs/fontconfig
+       media-libs/flac
+       media-libs/libsdl2[joystick,opengl?,sound,video,X]
+       media-libs/portaudio
+       media-libs/sdl2-ttf
+       sys-libs/zlib
+       virtual/jpeg:0
+       virtual/opengl
+       alsa? ( media-libs/alsa-lib
+               media-libs/portmidi )
+       debug? ( dev-qt/qtcore:5
+               dev-qt/qtgui:5
+               dev-qt/qtwidgets:5 )
+       x11-libs/libX11
+       x11-libs/libXinerama
+       ${PYTHON_DEPS}"
+DEPEND="${RDEPEND}
+       ${PYTHON_DEPS}
+       app-arch/unzip
+       virtual/pkgconfig
+       x11-proto/xineramaproto"
+
+S=${WORKDIR}
+
+# Function to disable a makefile option
+disable_feature() {
+       sed -i -e "/^[  ]*$1.*=/s:^:# :" makefile || die
+}
+
+# Function to enable a makefile option
+enable_feature() {
+       sed -i -e "/^#.*$1.*=/s:^#[     ]*::"  makefile || die
+}
+
+pkg_setup() {
+       games_pkg_setup
+       python-any-r1_pkg_setup
+}
+
+src_unpack() {
+       default
+       unpack ./mame.zip
+       rm -f mame.zip || die
+}
+
+src_prepare() {
+       epatch \
+               "${FILESDIR}"/${P}-qt.patch \
+               "${FILESDIR}"/${P}-cxx14.patch
+       # Disable using bundled libraries
+       enable_feature USE_SYSTEM_LIB_EXPAT
+       enable_feature USE_SYSTEM_LIB_FLAC
+       enable_feature USE_SYSTEM_LIB_JPEG
+# Use bundled lua for now to ensure correct compilation (ref. b.g.o #407091)
+#      enable_feature USE_SYSTEM_LIB_LUA
+       enable_feature USE_SYSTEM_LIB_PORTAUDIO
+       enable_feature USE_SYSTEM_LIB_SQLITE3
+       enable_feature USE_SYSTEM_LIB_ZLIB
+
+       # Disable warnings being treated as errors and enable verbose build 
output
+       enable_feature NOWERROR
+       enable_feature VERBOSE
+
+       use amd64 && enable_feature PTR64
+       use debug && enable_feature DEBUG
+       use tools && enable_feature TOOLS
+       disable_feature NO_X11 # bgfx needs X
+       use openmp && enable_feature OPENMP
+
+       if use alsa ; then
+               enable_feature USE_SYSTEM_LIB_PORTMIDI
+       else
+               enable_feature NO_USE_MIDI
+       fi
+
+       sed -i \
+               -e 's/-Os//' \
+               -e '/^\(CC\|CXX\|AR\) /s/=/?=/' \
+               3rdparty/genie/build/gmake.linux/genie.make || die
+}
+
+src_compile() {
+       local targetargs
+       local qtdebug=$(usex debug 1 0)
+
+       use arcade && ! use mess && targetargs="SUBTARGET=arcade"
+       ! use arcade && use mess && targetargs="SUBTARGET=mess"
+
+       function my_emake() {
+               # Workaround conflicting $ARCH variable used by both Gentoo's
+               # portage and by Mame's build scripts
+               PYTHON_EXECUTABLE=${PYTHON} \
+               OVERRIDE_CC=$(tc-getCC) \
+               OVERRIDE_CXX=$(tc-getCXX) \
+               OVERRIDE_LD=$(tc-getCXX) \
+               QT_HOME="$(qt5_get_libdir)/qt5" \
+               ARCH= \
+                       emake "$@" \
+                               AR=$(tc-getAR)
+       }
+       my_emake -j1 generate
+
+       my_emake ${targetargs} \
+               SDL_INI_PATH="\$\$\$\$HOME/.sdlmame;${GAMES_SYSCONFDIR}/${PN}" \
+               USE_QTDEBUG=${qtdebug}
+
+       if use tools ; then
+               my_emake -j1 TARGET=ldplayer USE_QTDEBUG=${qtdebug}
+       fi
+}
+
+src_install() {
+       local MAMEBIN
+       local suffix="$(use amd64 && echo 64)$(use debug && echo d)"
+       local f
+
+       function mess_install() {
+               dosym ${MAMEBIN} "${GAMES_BINDIR}"/mess${suffix}
+               dosym ${MAMEBIN} "${GAMES_BINDIR}"/sdlmess
+               newman docs/man/mess.6 sdlmess.6
+               doman docs/man/mess.6
+       }
+       if use arcade ; then
+               if use mess ; then
+                       MAMEBIN="mame${suffix}"
+                       mess_install
+               else
+                       MAMEBIN="mamearcade${suffix}"
+               fi
+               doman docs/man/mame.6
+               newman docs/man/mame.6 ${PN}.6
+       elif use mess ; then
+               MAMEBIN="mess${suffix}"
+               mess_install
+       fi
+       dogamesbin ${MAMEBIN}
+       dosym ${MAMEBIN} "${GAMES_BINDIR}/${PN}"
+
+       insinto "${GAMES_DATADIR}/${PN}"
+       doins -r keymaps $(use mess && echo hash)
+
+       # Create default mame.ini and inject Gentoo settings into it
+       #  Note that '~' does not work and '$HOME' must be used
+       ./${MAMEBIN} -noreadconfig -showconfig > "${T}/mame.ini" || die
+       # -- Paths --
+       for f in {rom,hash,sample,art,font,crosshair} ; do
+               sed -i \
+                       -e "s:\(${f}path\)[ \t]*\(.*\):\1 
\t\t\$HOME/.${PN}/\2;${GAMES_DATADIR}/${PN}/\2:" \
+                       "${T}/mame.ini" || die
+       done
+       for f in {ctrlr,cheat} ; do
+               sed -i \
+                       -e "s:\(${f}path\)[ \t]*\(.*\):\1 
\t\t\$HOME/.${PN}/\2;${GAMES_SYSCONFDIR}/${PN}/\2;${GAMES_DATADIR}/${PN}/\2:" \
+                       "${T}/mame.ini" || die
+       done
+       # -- Directories
+       for f in {cfg,nvram,memcard,input,state,snapshot,diff,comment} ; do
+               sed -i \
+                       -e "s:\(${f}_directory\)[ \t]*\(.*\):\1 
\t\t\$HOME/.${PN}/\2:" \
+                       "${T}/mame.ini" || die
+       done
+       # -- Keymaps --
+       sed -i \
+               -e "s:\(keymap_file\)[ \t]*\(.*\):\1 \t\t\$HOME/.${PN}/\2:" \
+               "${T}/mame.ini" || die
+       for f in keymaps/km*.map ; do
+               sed -i \
+                       -e "/^keymap_file/a \#keymap_file 
\t\t${GAMES_DATADIR}/${PN}/keymaps/${f##*/}" \
+                       "${T}/mame.ini" || die
+       done
+       insinto "${GAMES_SYSCONFDIR}/${PN}"
+       doins "${T}/mame.ini"
+
+       insinto "${GAMES_SYSCONFDIR}/${PN}"
+       doins "${FILESDIR}/vector.ini"
+
+       dodoc docs/{config,mame,newvideo}.txt
+       keepdir \
+               
"${GAMES_DATADIR}/${PN}"/{ctrlr,cheat,roms,samples,artwork,crosshair} \
+               "${GAMES_SYSCONFDIR}/${PN}"/{ctrlr,cheat}
+
+       if use tools ; then
+               for f in castool chdman floptool imgtool jedutil ldresample 
ldverify romcmp ; do
+                       newgamesbin ${f} ${PN}-${f}
+                       newman docs/man/${f}.1 ${PN}-${f}.1
+               done
+               newgamesbin ldplayer${suffix} ${PN}-ldplayer
+               newman docs/man/ldplayer.1 ${PN}-ldplayer.1
+       fi
+
+       prepgamesdirs
+}
+
+pkg_postinst() {
+       games_pkg_postinst
+
+       elog "It is strongly recommended to change either the system-wide"
+       elog "  ${GAMES_SYSCONFDIR}/${PN}/mame.ini or use a per-user setup at 
~/.${PN}/mame.ini"
+       elog
+       if use opengl ; then
+               elog "You built ${PN} with opengl support and should set"
+               elog "\"video\" to \"opengl\" in mame.ini to take advantage of 
that"
+               elog
+               elog "For more info see http://wiki.mamedev.org";
+       fi
+}

Reply via email to