Install this version:
emerge -a =games-emulation/sdlmame-0.289
If this version is masked, you can unmask it using the autounmask tool or standard emerge options:
autounmask =games-emulation/sdlmame-0.289
Or alternatively:
emerge --autounmask-write -a =games-emulation/sdlmame-0.289
| Version | EAPI | Keywords | Slot |
|---|---|---|---|
| 0.289 | 8 | ~amd64 | 0 |
EAPI=8
PYTHON_COMPAT=( python3_{8..14})
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"
LICENSE="GPL-2+ BSD-2 MIT CC0-1.0"
SLOT="0"
KEYWORDS="~amd64"
IUSE="alsa debug opengl openmp tools"
RDEPEND="dev-qt/qtbase:6
dev-db/sqlite:3
dev-libs/expat
media-libs/fontconfig
media-libs/flac
media-libs/libsdl2[joystick,opengl?,sound,video,X]
media-libs/libpulse
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:6
dev-qt/qtgui:6
dev-qt/qtwidgets:6 )
x11-libs/libX11
x11-libs/libXinerama
dev-libs/libutf8proc
media-libs/glm
dev-libs/rapidjson
dev-libs/pugixml
dev-cpp/asio
app-arch/zstd
dev-db/sqlite"
DEPEND="${RDEPEND}
virtual/pkgconfig
x11-base/xorg-proto"
S=${WORKDIR}/mame-mame${MY_PV}
pkg_setup() {
python-any-r1_pkg_setup
}
src_compile() {
VERBOSE=1 NOWERROR=1 OPTIMIZE=2 \
QT_SELECT=qt6 QT_HOME="$(qt6_get_libdir)/qt6" \
ARCHOPTS_C="-mtune=native -pipe" ARCHOPTS_CXX="$ARCHOPTS_C" \
USE_SYSTEM_LIB_ASIO=1 \
USE_SYSTEM_LIB_EXPAT=1 \
USE_SYSTEM_LIB_ZLIB=1 \
USE_SYSTEM_LIB_ZSTD=1 \
USE_SYSTEM_LIB_JPEG=1 \
USE_SYSTEM_LIB_FLAC=1 \
USE_SYSTEM_LIB_SQLITE3=1 \
USE_SYSTEM_LIB_PORTAUDIO=1 USE_SYSTEM_LIB_PORTMIDI=$(usex alsa 1 0) \
NO_USE_MIDI=$(usex alsa 0 1) \
USE_SYSTEM_LIB_UTF8PROC=1 \
USE_SYSTEM_LIB_GLM=1 \
USE_SYSTEM_LIB_RAPIDJSON=1 \
USE_SYSTEM_LIB_PUGIXML=1 \
TOOLS=$(usex tools 1 0) \
PTR64=$(usex amd64 1 0) \
DEBUG=$(usex debug 1 0) \
OPENMP=$(usex openmp 1 0) \
PYTHON_EXECUTABLE=${PYTHON} \
OVERRIDE_CC=$(tc-getCC) \
OVERRIDE_CXX=$(tc-getCXX) \
OVERRIDE_LD=$(tc-getCXX) \
ARCH= \
emake
}
src_install()
{
MAMEBIN=mame
dobin $MAMEBIN
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:" \
"${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
}
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
}
Manage flags for this package:
euse -i <flag> -p games-emulation/sdlmame |
euse -E <flag> -p games-emulation/sdlmame |
euse -D <flag> -p games-emulation/sdlmame
dev-qt/qtbase:6 dev-db/sqlite:3 dev-libs/expat media-libs/fontconfig media-libs/flac media-libs/libsdl2[joystick,opengl?,sound,video,X] media-libs/libpulse 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:6 dev-qt/qtgui:6 dev-qt/qtwidgets:6 ) x11-libs/libX11 x11-libs/libXinerama dev-libs/libutf8proc media-libs/glm dev-libs/rapidjson dev-libs/pugixml dev-cpp/asio app-arch/zstd dev-db/sqlite virtual/pkgconfig x11-base/xorg-proto
dev-qt/qtbase:6 dev-db/sqlite:3 dev-libs/expat media-libs/fontconfig media-libs/flac media-libs/libsdl2[joystick,opengl?,sound,video,X] media-libs/libpulse 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:6 dev-qt/qtgui:6 dev-qt/qtwidgets:6 ) x11-libs/libX11 x11-libs/libXinerama dev-libs/libutf8proc media-libs/glm dev-libs/rapidjson dev-libs/pugixml dev-cpp/asio app-arch/zstd dev-db/sqlite
| Type | File | Size | Source URLs |
|---|---|---|---|
| DIST | mame-0.289.tar.gz | 213237316 bytes | https://github.com/mamedev/mame/archive/mame0289.tar.gz |