1
0
mirror of https://github.com/gryf/gryf-overlay.git synced 2026-06-21 09:25:26 +02:00

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
This commit is contained in:
2026-06-20 15:39:06 +02:00
parent 5af358d194
commit f7e4ec9de8
2 changed files with 28 additions and 23 deletions
+1 -1
View File
@@ -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
+27 -22
View File
@@ -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"