repo/gentoo:master commit in: games-emulation/mame/

"Sebastian Pipping" <[email protected]>
Newsgroups gmane.linux.gentoo.cvs
Message-ID <1786050702.9a52c9753191fd62c9f35f787dc0237f6b7415b5.sping@gentoo>
commit:     9a52c9753191fd62c9f35f787dc0237f6b7415b5
Author:     Sebastian Pipping <sping <AT> gentoo <DOT> org>
AuthorDate: Thu Aug  6 19:58:50 2026 +0000
Commit:     Sebastian Pipping <sping <AT> gentoo <DOT> org>
CommitDate: Thu Aug  6 21:11:42 2026 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9a52c975

games-emulation/mame: Add IUSE="portaudio pulseaudio pipewire"

Closes: https://bugs.gentoo.org/980369
Signed-off-by: Sebastian Pipping <sping <AT> gentoo.org>

 games-emulation/mame/mame-0.289-r3.ebuild | 107 ++++++++++++++++++++++++++++++
 games-emulation/mame/metadata.xml         |   3 +
 2 files changed, 110 insertions(+)

diff --git a/games-emulation/mame/mame-0.289-r3.ebuild b/games-emulation/mame/mame-0.289-r3.ebuild
new file mode 100644
index 000000000000..7e58cf0c7675
--- /dev/null
+++ b/games-emulation/mame/mame-0.289-r3.ebuild
@@ -0,0 +1,107 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{12..14} )
+
+inherit toolchain-funcs python-any-r1
+
+MY_P=${PN}${PV/./}
+DESCRIPTION="Multiple Arcade Machine Emulator"
+HOMEPAGE="https://github.com/mamedev/mame"
+SRC_URI="https://github.com/mamedev/mame/archive/refs/tags/${MY_P}.tar.gz -> ${P}.gh.tar.gz"
+S="${WORKDIR}"/${PN}-${MY_P}
+
+LICENSE="BSD BSD-2 CC0-1.0 GPL-2+ LGPL-2.1+ MIT public-domain"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="portaudio pulseaudio pipewire"
+
+RDEPEND="
+	app-arch/zstd
+	dev-libs/expat
+	dev-libs/libutf8proc:=
+	dev-libs/pugixml
+	dev-qt/qtbase:6=
+	media-libs/flac:=
+	media-libs/fontconfig
+	media-libs/libglvnd
+	media-libs/libjpeg-turbo:=
+	media-libs/libsdl3
+	media-libs/portmidi
+	media-libs/sdl3-ttf
+	sys-devel/gcc:*[cxx]
+	virtual/zlib:=
+	x11-libs/libX11
+	x11-libs/libXi
+	pipewire? ( media-video/pipewire )
+	portaudio? ( media-libs/portaudio )
+	pulseaudio? ( media-libs/libpulse )
+"
+DEPEND="
+	${RDEPEND}
+	${PYTHON_DEPS}
+	dev-cpp/asio
+	dev-libs/rapidjson
+	media-libs/glm
+"
+
+DOCS=( README.md )
+
+src_prepare() {
+	default
+	rm -R 3rdparty/{asio,expat,flac,glm,libjpeg,portaudio,portmidi,pugixml,rapidjson,utf8proc,zlib,zstd}/ || die
+	rm docs/man/ldplayer.1  # so that we can glob-install later
+}
+
+src_compile() {
+	args=(
+		ARCH=  # to fix GENie compilation
+
+		OSD=sdl3
+
+		OVERRIDE_AR="$(tc-getAR)"
+		OVERRIDE_CC="$(tc-getCC)"
+		OVERRIDE_CXX="$(tc-getCXX)"
+		OVERRIDE_LD="$(tc-getLD)"
+
+		NO_USE_PORTAUDIO=$(usex portaudio 0 1)
+		NO_USE_PULSEAUDIO=$(usex pulseaudio 0 1)
+		NO_USE_PIPEWIRE=$(usex pipewire 0 1)
+
+		PYTHON_EXECUTABLE=python3
+
+		TOOLS=1
+
+		USE_SYSTEM_LIB_ASIO=1
+		USE_SYSTEM_LIB_EXPAT=1
+		USE_SYSTEM_LIB_FLAC=1
+		USE_SYSTEM_LIB_GLM=1
+		USE_SYSTEM_LIB_JPEG=1
+		USE_SYSTEM_LIB_LUA=0  # to fix sol2 compilation
+		USE_SYSTEM_LIB_PORTAUDIO=1
+		USE_SYSTEM_LIB_PORTMIDI=1
+		USE_SYSTEM_LIB_PUGIXML=1
+		USE_SYSTEM_LIB_RAPIDJSON=1
+		USE_SYSTEM_LIB_SQLITE3=0  # to fix mame compilation
+		USE_SYSTEM_LIB_UTF8PROC=1
+		USE_SYSTEM_LIB_ZLIB=1
+		USE_SYSTEM_LIB_ZSTD=1
+
+		VERBOSE=1
+	)
+	emake "${args[@]}"
+}
+
+src_install() {
+	insinto /usr/share/games/mame/
+	doins -r artwork/ bgfx/ ctrlr/ hash/ keymaps/ language/ plugins/ samples/
+
+	insinto /usr/share/games/mame/fonts
+	doins uismall.bdf
+
+	doman docs/man/*.{1,6}
+
+	dobin mame castool chdman floptool imgtool jedutil ldresample ldverify nltool nlwav romcmp unidasm
+}

diff --git a/games-emulation/mame/metadata.xml b/games-emulation/mame/metadata.xml
index 7d46604464e3..bbd94070da6d 100644
--- a/games-emulation/mame/metadata.xml
+++ b/games-emulation/mame/metadata.xml
@@ -8,4 +8,7 @@
 	<upstream>
 		<remote-id type="github">mamedev/mame</remote-id>
 	</upstream>
+	<use>
+		<flag name="pipewire">Enable support for PipeWire (<pkg>media-video/pipewire</pkg>)</flag>
+	</use>
 </pkgmetadata>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.