diff --git a/games-emulation/sdlmame/Manifest b/games-emulation/sdlmame/Manifest index 65b6be6..8ce6481 100644 --- a/games-emulation/sdlmame/Manifest +++ b/games-emulation/sdlmame/Manifest @@ -1,10 +1,11 @@ AUX sdlmame-0.174-cxx14.patch 812 BLAKE2B 5c306e1f2d4f4a433bfb5e8efbef1bdfc7615cc3c58e52d2de5c0ee24718d5a0dc333daeb81634aca4e1f9e036cefc7f2a66697b293f7d7c8b0f662f0e64d4a3 SHA512 988eec1f288e2b82ce9aea863c2cf7368fc598ce6c3ccada1c50c0f05f0600d84d4bd0891a5ccd256810c2f0c4206ea0c4b37ad2de1193605de6b682a2afcbe5 AUX sdlmame-0.174-qt.patch 829 BLAKE2B be945301fb35135f12bcd63eafaa72cc3b4d52f735097d59e62f59de61aba24d673c9214ac80af41c325ba346e249d18625d6a40ff7896bd3fe5048544d1d69e SHA512 68ce8a500acfda83152bdb6a2dd798ca29099c3671864f4a30557b3b878b2d4b71c6bbff18291a8e0a43a5a736ec0f0952385b5867bf7d6129ce154537aabd96 +AUX sdlmame-0.184-qt.patch 830 BLAKE2B 78cac2a5f652853e1c616973d8f9b776a8d3ec21f7f7d40a04621cb86942e5181ffc42a3ff7b7097b5007a4e1c4da21d933eaf6ee33bc0d411cace599c73d452 SHA512 96fce099f8aaeae6f7e9239a698d4fb767e8bf0e40a6a80c887faf70d22451d6d1d2d12b26734b9e9d4e704fcf231593ffb3de62a74ee3bdc0ea836e165f0721 AUX vector.ini 116 BLAKE2B 7dbc58708e0c371c6d8116891a37048d5477b1b92b61c26441f15fff81f8dd01bf8f49cc1bddd256c56ecba592a8dac5fb1674fab5f0adb488410dc6e1d13025 SHA512 6d84eb7b9c4e9f134b57e64ba9ae30dcaaa620296830f7c9858611fde9064f803bd7d230a989a5cce34d8b815b5a98d323b19d3eef3d4c688b5c32b96b299f5f DIST mame-0.174.zip 95944685 BLAKE2B e97027edf7be293e599499bd428c663c1fc13498e2fe10ee356aa56ef8ba85d6ea003ba65a8cbc41d1159246eed354585fc18bf9507b47dc1774b87f5737b48d SHA512 9db4d98fb5f5373529808f3bc41fddefa65ebbf7c26d946ebf886cab25e5abf7c4d539d96dfd6af5e62f4366b2bb0b0b59d40fe7a722698f3707eb8ea4c12a0b DIST mame-0.197.zip 118072715 BLAKE2B 28384d9f2b8df380eb8d910391b07322f4f6746746dc58c0703d9b7a6783b745dc3f1389ef1d5b281d438af783901c39f768af682297fe2399dce6d5d6d8dbb6 SHA512 4149a5f3180e32218285dcb5feee1e4bbf01aa9d8f440a0c079febbf2e2978f2c7bff00bda2293ae0f171289c4ee407c71cf3cf5d2bd386736bc4f5f31e28b0c DIST mame-0.214.zip 139427495 BLAKE2B 1ae9d117c78fcfcfbe49ce671b6196885d6a618f1c81ced1b861a75a3fa961cb288458179524cbeb07e9a83242e14dd3a983ab6c281d330f3445a2442a86713a SHA512 b29aabc37e445219ce4ed3f908261bf2f944a533bb966b162e827fb48472445ab5ee0d35a7b3dfa028109c7fe5ad383b23c7fcaa4b2a3a4b5be4ac112537c05c EBUILD sdlmame-0.174.ebuild 6334 BLAKE2B 4f9d9dca92e57a723bc1744d2977ee4562fd7b2c16aac9a9ebfa1b257c82537d1cd53d3e3fad4485f4294241f8a92cfb3b1038095d698baecc665c7f6d11da0d SHA512 e9b8a1e8e96f89470e456581e0d7a2cd4d51928ea6a333f1883e8cdf380d84d747a8b4f247d31339337f3f0fbf492e3b140517735b34f96c85d2066d0dfe727c EBUILD sdlmame-0.197.ebuild 6118 BLAKE2B 48368e85dd828f8616476d16bc00f4730e54ee9d562e63a6b626abe92d81a1451c7c12a96c39963bcffce31baf7836fdf92846c0a3873611369d114f26d54f9b SHA512 d04197435283c9bd011e5b41a0e5c8e382c0a50125e061178af0f56a1cedac94105dc3ebed110a365dccb4a3c0ae0cceb0cc5b5e088ab205bc81c931d3751001 -EBUILD sdlmame-0.214.ebuild 6118 BLAKE2B 48368e85dd828f8616476d16bc00f4730e54ee9d562e63a6b626abe92d81a1451c7c12a96c39963bcffce31baf7836fdf92846c0a3873611369d114f26d54f9b SHA512 d04197435283c9bd011e5b41a0e5c8e382c0a50125e061178af0f56a1cedac94105dc3ebed110a365dccb4a3c0ae0cceb0cc5b5e088ab205bc81c931d3751001 +EBUILD sdlmame-0.214.ebuild 6444 BLAKE2B 0598ca3a4aedfc4f1add4fc88931f51d5b49f49045f6617bdbc1df321b5658d65bec2de2846dab5a53f9048e3364308e9654253e35239fdabaa8800eb19dae31 SHA512 86f96deee258a8566818814ef23977bc618a34fc78f06fbdf9f6089a74687d5113d1187084ea26ed550b9d2202b0684aeeb9a8d28b597a190043549f583d6bbc MISC metadata.xml 1573 BLAKE2B 2bb3f53a9dc2e3e3e511b81fb1319926d7f6fb68a6d6ed9dbcc0e56f106a5536f97200ab144c46ffa69d09cbce147b28f9468092d338c6c332ad607524ca1172 SHA512 a621863a22333f29886464b354f0efe7edc372ec598beec36ee3c0358846527e677a644b7ac24e1757c9f684f69c996a9cf74988643d015b3a34f3cbfa23c7e4 diff --git a/games-emulation/sdlmame/files/sdlmame-0.184-qt.patch b/games-emulation/sdlmame/files/sdlmame-0.184-qt.patch new file mode 100644 index 0000000..232f425 --- /dev/null +++ b/games-emulation/sdlmame/files/sdlmame-0.184-qt.patch @@ -0,0 +1,27 @@ +--- ./scripts/src/osd/sdl_cfg.lua.orig 2017-04-18 11:55:38.584123253 +0100 ++++ ./scripts/src/osd/sdl_cfg.lua 2017-04-18 16:12:46.455489734 +0100 +@@ -116,14 +116,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(pkgconfigcmd() .. " --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(pkgconfigcmd() .. " --cflags Qt5Widgets"), ++ } ++ end + end + elseif _OPTIONS["targetos"]=="macosx" then + defines { diff --git a/games-emulation/sdlmame/sdlmame-0.214.ebuild b/games-emulation/sdlmame/sdlmame-0.214.ebuild index 150500d..6ebed9d 100644 --- a/games-emulation/sdlmame/sdlmame-0.214.ebuild +++ b/games-emulation/sdlmame/sdlmame-0.214.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2016 Gentoo Foundation +# Copyright 1999-2019 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -EAPI=5 +EAPI=7 PYTHON_COMPAT=( python2_7 ) -inherit eutils python-any-r1 toolchain-funcs qmake-utils games +inherit desktop eutils python-any-r1 toolchain-funcs qmake-utils xdg-utils MY_PV="${PV/.}" @@ -14,7 +14,7 @@ SRC_URI="https://github.com/mamedev/mame/releases/download/mame${MY_PV}/mame${MY LICENSE="GPL-2+ BSD-2 MIT CC0-1.0" SLOT="0" KEYWORDS="~amd64 ~x86" -IUSE="alsa +arcade +mess opengl openmp tools" +IUSE="alsa +arcade debug desktop +mess opengl openmp tools" REQUIRED_USE="|| ( arcade mess )" # MESS (games-emulation/sdlmess) has been merged into MAME upstream since mame-0.162 (see below) @@ -23,28 +23,30 @@ REQUIRED_USE="|| ( arcade mess )" # 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 - dev-python/sphinx 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" - + x11-base/xorg-proto" +BDEPEND="${PYTHON_DEPS}" S=${WORKDIR} # Function to disable a makefile option @@ -58,19 +60,18 @@ enable_feature() { } pkg_setup() { - games_pkg_setup python-any-r1_pkg_setup } src_unpack() { default - unzip ./mame.zip 2>&1 >/dev/null + unzip -qo -U ./mame.zip rm -f mame.zip || die } src_prepare() { - #epatch \ - # "${FILESDIR}"/${P}-cxx14.patch + PATCHES=( ${FILESDIR}"/${PN}-0.184-qt.patch" ) + default_src_prepare # Disable using bundled libraries enable_feature USE_SYSTEM_LIB_EXPAT enable_feature USE_SYSTEM_LIB_FLAC @@ -86,6 +87,7 @@ src_prepare() { 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 @@ -104,6 +106,7 @@ src_prepare() { src_compile() { local targetargs + local qtdebug=$(usex debug 1 0) use arcade && ! use mess && targetargs="SUBTARGET=arcade" ! use arcade && use mess && targetargs="SUBTARGET=mess" @@ -115,6 +118,7 @@ src_compile() { OVERRIDE_CC=$(tc-getCC) \ OVERRIDE_CXX=$(tc-getCXX) \ OVERRIDE_LD=$(tc-getCXX) \ + QT_SELECT=qt5 \ QT_HOME="$(qt5_get_libdir)/qt5" \ ARCH= \ emake "$@" \ @@ -123,21 +127,22 @@ src_compile() { my_emake -j1 generate my_emake ${targetargs} \ - SDL_INI_PATH="\$\$\$\$HOME/.sdlmame;${GAMES_SYSCONFDIR}/${PN}" \ + SDL_INI_PATH="\$\$\$\$HOME/.sdlmame;/etc/${PN}" \ + USE_QTDEBUG=${qtdebug} - if use tools ; then - my_emake -j1 TARGET=ldplayer - fi + #if use tools ; then + # my_emake -j1 TARGET=ldplayer USE_QTDEBUG=${qtdebug} + #fi } src_install() { local MAMEBIN - local suffix="$(use amd64 && echo 64)" + 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 + dosym ${MAMEBIN} "/usr/bin/mess${suffix}" + dosym ${MAMEBIN} "/usr/bin/sdlmess" newman docs/man/mess.6 sdlmess.6 doman docs/man/mess.6 } @@ -154,10 +159,10 @@ src_install() { MAMEBIN="mess${suffix}" mess_install fi - dogamesbin ${MAMEBIN} - dosym ${MAMEBIN} "${GAMES_BINDIR}/${PN}" + dobin ${MAMEBIN} + dosym ${MAMEBIN} "/usr/bin/${PN}" - insinto "${GAMES_DATADIR}/${PN}" + insinto "/usr/share/${PN}" doins -r keymaps $(use mess && echo hash) # Create default mame.ini and inject Gentoo settings into it @@ -166,12 +171,12 @@ src_install() { # -- 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:" \ + -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;${GAMES_SYSCONFDIR}/${PN}/\2;${GAMES_DATADIR}/${PN}/\2:" \ + -e "s:\(${f}path\)[ \t]*\(.*\):\1 \t\t\$HOME/.${PN}/\2;/etc/${PN}/\2;/usr/share/${PN}/\2:" \ "${T}/mame.ini" || die done # -- Directories @@ -186,40 +191,45 @@ src_install() { "${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##*/}" \ + -e "/^keymap_file/a \#keymap_file \t\t/usr/share/${PN}/keymaps/${f##*/}" \ "${T}/mame.ini" || die done - insinto "${GAMES_SYSCONFDIR}/${PN}" + insinto "/etc/${PN}" doins "${T}/mame.ini" - insinto "${GAMES_SYSCONFDIR}/${PN}" + insinto "/etc/${PN}" doins "${FILESDIR}/vector.ini" - cd docs - make html - cd .. - dodoc -r docs/build/html/* + #dodoc docs/{config,mame,newvideo}.txt keepdir \ - "${GAMES_DATADIR}/${PN}"/{ctrlr,cheat,roms,samples,artwork,crosshair} \ - "${GAMES_SYSCONFDIR}/${PN}"/{ctrlr,cheat} + "/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 - newgamesbin ${f} ${PN}-${f} + newbin ${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 + #newbin ldplayer${suffix} ${PN}-ldplayer + #newman docs/man/ldplayer.1 ${PN}-ldplayer.1 + fi + if use desktop; then + local mydesktopfields=( + "sdlmame" + "MAME" + "mame" + "Application;Game;Emulation" + ) + make_desktop_entry ${mydesktopfields[@]} + doicon "${FILESDIR}/mame.png" fi - - prepgamesdirs } pkg_postinst() { - games_pkg_postinst + xdg_desktop_database_update 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 " /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" @@ -228,3 +238,7 @@ pkg_postinst() { elog "For more info see http://wiki.mamedev.org" fi } + +pkg_postrm(){ + xdg_desktop_database_update +}