From f7e4ec9de85c517fe543ade7805a1e50358e05a7 Mon Sep 17 00:00:00 2001 From: gryf Date: Sat, 20 Jun 2026 15:39:06 +0200 Subject: [PATCH] games-emulation/sdlmame: cleanup ebuild. - added symlink for sdlmame - remove qt5 leftovers in favor of qt6, as upstream is using it for debugger - changed config path and make it coherent with SDL osd version - other small adjustments --- games-emulation/sdlmame/Manifest | 2 +- games-emulation/sdlmame/sdlmame-0.288.ebuild | 49 +++++++++++--------- 2 files changed, 28 insertions(+), 23 deletions(-) diff --git a/games-emulation/sdlmame/Manifest b/games-emulation/sdlmame/Manifest index e834540..cd8c76a 100644 --- a/games-emulation/sdlmame/Manifest +++ b/games-emulation/sdlmame/Manifest @@ -1,4 +1,4 @@ AUX sdlmame.png 15733 BLAKE2B 7a4dea45062338a86a290d8a20b82fb7283e11c93191e0c3d337d08e15cbc383b64363c9ac2520666f3f3ac05249bd0da51f2b0dc3f292c4509d9ed88340ffa8 SHA512 2610fdf6768fab6ca16b7f2bd2b32abf11de4fa57e77c025b0857f213f26ab3b1d6220722f742092d818564b553e8444d0e6a06676b3a16997910113b271a7f5 AUX vector.ini 116 BLAKE2B 7dbc58708e0c371c6d8116891a37048d5477b1b92b61c26441f15fff81f8dd01bf8f49cc1bddd256c56ecba592a8dac5fb1674fab5f0adb488410dc6e1d13025 SHA512 6d84eb7b9c4e9f134b57e64ba9ae30dcaaa620296830f7c9858611fde9064f803bd7d230a989a5cce34d8b815b5a98d323b19d3eef3d4c688b5c32b96b299f5f DIST mame-0.288.tar.gz 212563943 BLAKE2B ef7a4d25c5da0a48f155add7d7118bc20fac090dc7a293c70ff781f5f009b2798aaff0782fb2225918aff45a645591835be66291b609c718a530c212c3468e10 SHA512 1241c413eaf7cb1c7336bedfafb8a4b269214e32dba00e9bdf5dc61bb47be3b966f3c656d8efe6b99c2d2ef81e4ae94965d2b59c5d75da1b0d97f36342baec2f -EBUILD sdlmame-0.288.ebuild 5430 BLAKE2B da5909e35ecb872a04a0f3e6451a18791cca232fe70ed279d8cad94d68fa3b65655ae9d52370b1d4730924c9b35d7124c5db2ac87bc40951947eb5002785966d SHA512 727ab38d6d7a571f822b29b4b5c7985b05a9c0049f9655c0fe5d368f89def18379861b41d1805200279b63657e3de40693fbd9096c4e30fe015930f2f0a8f52b +EBUILD sdlmame-0.288.ebuild 5464 BLAKE2B 06334be7d688bce3fded8509de9244900501de1b87474a95737cba1bc8d818273704a8a38ba7b3d05848bce4ff6eccdbcd56d40445551f0992e19d3ecef1d3e8 SHA512 f6c853187733c1547fa500d5b892f56a03cc5c737f2d460b1b7bc62422efa82fef4f85f1f098ceadbaa4340b5fd7fee896b75ed64f3aeb2aa8dd6bf6e81d7986 diff --git a/games-emulation/sdlmame/sdlmame-0.288.ebuild b/games-emulation/sdlmame/sdlmame-0.288.ebuild index a9f951d..c5a41e1 100644 --- a/games-emulation/sdlmame/sdlmame-0.288.ebuild +++ b/games-emulation/sdlmame/sdlmame-0.288.ebuild @@ -24,11 +24,15 @@ RDEPEND="dev-db/sqlite:3 sys-libs/zlib virtual/jpeg:0 virtual/opengl - alsa? ( media-libs/alsa-lib - media-libs/portmidi ) - debug? ( dev-qt/qtcore:6 - dev-qt/qtgui:6 - dev-qt/qtwidgets:6 ) + alsa? ( + media-libs/alsa-lib + media-libs/portmidi + ) + debug? ( + dev-qt/qtcore:6 + dev-qt/qtgui:6 + dev-qt/qtwidgets:6 + ) x11-libs/libX11 x11-libs/libXinerama dev-libs/libutf8proc @@ -41,6 +45,9 @@ DEPEND="${RDEPEND} BDEPEND="${PYTHON_DEPS}" S="${WORKDIR}/mame-mame${MY_PV}" +USER_INI_PATH="\$HOME/.config/${PN}" +SYS_INI_PATH="/etc/${PN}" + # Function to disable a makefile option disable_feature() { sed -i -e "/^[ ]*$1.*=/s:^:# :" makefile || die @@ -97,14 +104,15 @@ src_prepare() { src_compile() { local targetargs local qtdebug=$(usex debug 1 0) + local ini_path=".;${USER_INI_PATH};${SYS_INI_PATH}" # hack to replace shitty lua escape quotation sed -i \ - -e 's+#define INI_PATH "$HOME/.APP_NAME;.;ini"+#define INI_PATH "$HOME/.config/sdlmame;/etc/sdlmame"+' \ + -e 's|\(#define INI_PATH\) "$HOME/.APP_NAME.*|\1 "'${ini_path}'"|' \ src/osd/sdl/sdlopts.cpp || die # and for futureproof: sed -i \ - -e 's+#define INI_PATH "$HOME/.APP_NAME;.;ini"+#define INI_PATH "$HOME/.config/sdlmame;/etc/sdlmame"+' \ + -e 's|\(#define INI_PATH\) "$HOME/.APP_NAME.*|\1 "'${ini_path}'"|' \ src/osd/sdl3/sdlopts.cpp || die # untill its fixed: https://github.com/mamedev/mame/issues/10927 @@ -114,8 +122,8 @@ src_compile() { OVERRIDE_CC=$(tc-getCC) \ OVERRIDE_CXX=$(tc-getCXX) \ OVERRIDE_LD=$(tc-getCXX) \ - QT_SELECT=qt5 \ - QT_HOME="$(qt5_get_libdir)/qt5" \ + QT_SELECT=qt6 \ + QT_HOME="$(qt6_get_libdir)/qt6" \ ARCH= \ emake ${targetargs} \ USE_QTDEBUG=${qtdebug} \ @@ -124,51 +132,48 @@ src_compile() { src_install() { local MAMEBIN=mame - dobin $MAMEBIN + dobin ${MAMEBIN} + dosym ${MAMEBIN} "/usr/bin/${PN}" doman docs/man/mame.6 insinto "/usr/share/${PN}" doins -r keymaps 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:" \ + -e "s:\(${f}path\)[ \t]*\(.*\):\1 \t\t${USER_INI_PATH}/\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:" \ + -e "s:\(${f}path\)[ \t]*\(.*\):\1 \t\t${USER_INI_PATH}/\2;${SYS_INI_PATH}/\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:" \ + -e "s:\(${f}_directory\)[ \t]*\(.*\):\1 \t\t${USER_INI_PATH}/\2:" \ "${T}/mame.ini" || die done # -- Keymaps -- sed -i \ - -e "s:\(keymap_file\)[ \t]*\(.*\):\1 \t\t\$HOME/.${PN}/\2:" \ + -e "s:\(keymap_file\)[ \t]*\(.*\):\1 \t\t${USER_INI_PATH}/\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" + insinto ${SYS_INI_PATH} + doins "${T}/mame.ini" "${FILESDIR}/vector.ini" #dodoc docs/{config,mame,newvideo}.txt keepdir \ "/usr/share/${PN}"/{ctrlr,cheat,roms,samples,artwork,crosshair} \ - "/etc/${PN}"/{ctrlr,cheat} + "${SYS_INI_PATH}"/{ctrlr,cheat} if use tools ; then for f in castool chdman floptool imgtool jedutil ldresample ldverify romcmp ; do @@ -186,7 +191,7 @@ 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 " ${SYS_INI_PATH}/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"