From 15449ef97e765a0c6ce054574eb98e569abd426a Mon Sep 17 00:00:00 2001 From: gryf Date: Sun, 29 Oct 2023 14:37:52 +0100 Subject: [PATCH] Bump SDLmame version --- games-emulation/sdlmame/Manifest | 2 + games-emulation/sdlmame/sdlmame-0.260.ebuild | 228 +++++++++++++++++++ 2 files changed, 230 insertions(+) create mode 100644 games-emulation/sdlmame/sdlmame-0.260.ebuild diff --git a/games-emulation/sdlmame/Manifest b/games-emulation/sdlmame/Manifest index a3b5996..6f95299 100644 --- a/games-emulation/sdlmame/Manifest +++ b/games-emulation/sdlmame/Manifest @@ -1,6 +1,8 @@ AUX vector.ini 116 BLAKE2B 7dbc58708e0c371c6d8116891a37048d5477b1b92b61c26441f15fff81f8dd01bf8f49cc1bddd256c56ecba592a8dac5fb1674fab5f0adb488410dc6e1d13025 SHA512 6d84eb7b9c4e9f134b57e64ba9ae30dcaaa620296830f7c9858611fde9064f803bd7d230a989a5cce34d8b815b5a98d323b19d3eef3d4c688b5c32b96b299f5f DIST mame-0.247.tar.gz 185778600 BLAKE2B 9d9238652c40cb9685875ec03cdfaa4b4cd7c8529da93c991a5531dc7500c4ce3f3b0f49dbf720b1fecc68b3c36e87f15c8f57ed9d57574e8b7aa9a673b2b10f SHA512 e763c8769dbae30bc8185412ca10ae6ed01bc357472d3d1982a6bda0cb5213f05d309b86b2cb0185cd5c7181609f1170c64a3dc5999089d9a863e72428f0bed9 DIST mame-0.254.tar.gz 203449561 BLAKE2B d0c4f8ea8b92c885cdb1e763380efc9e0aadf42b9d08403dd53761473f832a9bedce6da087c31cb3de4dcaa3b41768859baf4c18a60c3dc24b7ee2885347bfef SHA512 efb89074229f5662ff23176cfc042c5e5f4732a54498574bac6b74d3726be9bf8e93fc49370e1b94e5f1ed2f7ead8b0a6d46bb965e2a22ef528bcc2131abf8a7 +DIST mame-0.260.tar.gz 205251800 BLAKE2B 32c84208f11df3a6eb63460a0cf6e9455e5fba8ce74c59946d2c759c7e762b448722f843e785b872c920f07a62b60ac0a2e8c909c1e3149eb5ea60abc335e07d SHA512 87b9d157d62456d1a3f4b751ff869d8366ea90566304f1e5ce5b1cef60d1879a249b9ca2c281355c8abb6c7e1cdba1f57b3fb7209e3cc2f11adf0c7f6f960b12 DIST sdlmame.png 15733 BLAKE2B 7a4dea45062338a86a290d8a20b82fb7283e11c93191e0c3d337d08e15cbc383b64363c9ac2520666f3f3ac05249bd0da51f2b0dc3f292c4509d9ed88340ffa8 SHA512 2610fdf6768fab6ca16b7f2bd2b32abf11de4fa57e77c025b0857f213f26ab3b1d6220722f742092d818564b553e8444d0e6a06676b3a16997910113b271a7f5 EBUILD sdlmame-0.247.ebuild 6145 BLAKE2B 6e76e66d0cbac0521065106837f09aa695333632c9adf5ecad3ddb4abeb7896e96acfd9e82cb8e992bc15cd0ebbcce7bef2e2953698e1e85daf5c5d57bf56cd0 SHA512 e7508e83e17fdec4da4af4131b546104463f9e5497190ff330236d4e1d28ae2018d237ef3c92078c71f419b1e3c3ff6c05184cdd2c74572f6fa6cccf900e41e9 EBUILD sdlmame-0.254.ebuild 6145 BLAKE2B 6e76e66d0cbac0521065106837f09aa695333632c9adf5ecad3ddb4abeb7896e96acfd9e82cb8e992bc15cd0ebbcce7bef2e2953698e1e85daf5c5d57bf56cd0 SHA512 e7508e83e17fdec4da4af4131b546104463f9e5497190ff330236d4e1d28ae2018d237ef3c92078c71f419b1e3c3ff6c05184cdd2c74572f6fa6cccf900e41e9 +EBUILD sdlmame-0.260.ebuild 6145 BLAKE2B 6e76e66d0cbac0521065106837f09aa695333632c9adf5ecad3ddb4abeb7896e96acfd9e82cb8e992bc15cd0ebbcce7bef2e2953698e1e85daf5c5d57bf56cd0 SHA512 e7508e83e17fdec4da4af4131b546104463f9e5497190ff330236d4e1d28ae2018d237ef3c92078c71f419b1e3c3ff6c05184cdd2c74572f6fa6cccf900e41e9 diff --git a/games-emulation/sdlmame/sdlmame-0.260.ebuild b/games-emulation/sdlmame/sdlmame-0.260.ebuild new file mode 100644 index 0000000..dd3a9dd --- /dev/null +++ b/games-emulation/sdlmame/sdlmame-0.260.ebuild @@ -0,0 +1,228 @@ +# Copyright 2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +PYTHON_COMPAT=( python2_7 python3_{8..11} ) +inherit desktop python-any-r1 toolchain-funcs qmake-utils xdg-utils + +MY_PV="${PV/.}" + +DESCRIPTION="Multiple Arcade Machine Emulator + Multi Emulator Super System (MESS)" +HOMEPAGE="http://mamedev.org/" +SRC_URI="https://github.com/mamedev/mame/archive/mame${MY_PV}.tar.gz -> mame-${PV}.tar.gz + https://icon-icons.com/downloadimage.php?id=20820&root=159/PNG/256/&file=mame_22338.png -> sdlmame.png +" + +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" +DEPEND="${RDEPEND} + virtual/pkgconfig + x11-base/xorg-proto" +BDEPEND="${PYTHON_DEPS}" +S="${WORKDIR}/mame-mame${MY_PV}" + +# 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() { + python-any-r1_pkg_setup +} + +src_prepare() { + default + # 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_SELECT=qt5 \ + QT_HOME="$(qt5_get_libdir)/qt5" \ + ARCH= \ + emake "$@" \ + AR=$(tc-getAR) + } + my_emake -j1 generate + + my_emake ${targetargs} \ + SDL_INI_PATH="\$\$\$\$HOME/.sdlmame;/etc/${PN}" \ + USE_QTDEBUG=${qtdebug} + + #if use tools ; then + # my_emake -j1 TARGET=ldplayer USE_QTDEBUG=${qtdebug} + #fi +} + +src_install() { + local MAMEBIN + local suffix="$(use debug && echo d)" + local f + + function mess_install() { + dosym ${MAMEBIN} "/usr/bin/mess${suffix}" + dosym ${MAMEBIN} "/usr/bin/sdlmess" + } + 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 + dobin ${MAMEBIN} + dosym ${MAMEBIN} "/usr/bin/${PN}" + + insinto "/usr/share/${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;/usr/share/${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;/etc/${PN}/\2;/usr/share/${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/usr/share/${PN}/keymaps/${f##*/}" \ + "${T}/mame.ini" || die + done + insinto "/etc/${PN}" + doins "${T}/mame.ini" + + insinto "/etc/${PN}" + doins "${FILESDIR}/vector.ini" + + #dodoc docs/{config,mame,newvideo}.txt + keepdir \ + "/usr/share/${PN}"/{ctrlr,cheat,roms,samples,artwork,crosshair} \ + "/etc/${PN}"/{ctrlr,cheat} + + if use tools ; then + for f in castool chdman floptool imgtool jedutil ldresample ldverify romcmp ; do + newbin ${f} ${PN}-${f} + newman docs/man/${f}.1 ${PN}-${f}.1 + done + #newbin ldplayer${suffix} ${PN}-ldplayer + #newman docs/man/ldplayer.1 ${PN}-ldplayer.1 + fi + + newicon "${DISTDIR}/${PN}.png" "${PN}".png + +} + +pkg_postinst() { + xdg_desktop_database_update + + elog "It is strongly recommended to change either the system-wide" + elog " /etc/${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 +} + +pkg_postrm(){ + xdg_desktop_database_update +}