games-engines/ioquake3: make use of wrapper scripts, add the mumble USE flag

Signed-off-by: Shin'ya Minazuki <shinyoukai@laidback.moe>
This commit is contained in:
Shin'ya Minazuki 2026-06-11 19:35:16 -03:00
commit f2afa3fd04
3 changed files with 34 additions and 18 deletions

View file

@ -1,7 +1,7 @@
# Copyright 2026 Shin'ya Minazuki
EAPI=8
inherit cmake git-r3
inherit cmake git-r3 wrapper
DESCRIPTION="Community effort to maintain and improve the id Tech 3 engine"
HOMEPAGE="https://www.ioquake3.org/"
@ -19,6 +19,7 @@ DEPEND="
media-libs/libogg
media-libs/libvorbis
)
mumble? ( net-voip/mumble )
openal? ( media-libs/openal )
opus? (
media-libs/opus
@ -34,7 +35,10 @@ BDEPEND="
virtual/pkgconfig
"
IUSE="+client curl freetype ogg openal opus +renderer_gl1 +renderer_gl2 +server voip"
IUSE="+client curl freetype mumble ogg openal opus +renderer_gl1 +renderer_gl2 +server voip"
REQUIRED_USE="
voip? ( openal )
"
PATCHES=(
"${FILESDIR}/patch-20260603-disable-forced-lto.diff"
@ -52,8 +56,9 @@ src_configure() {
-DUSE_OPENAL=$(usex openal)
-DUSE_CODEC_VORBIS=$(usex ogg)
-DUSE_CODEC_OPUS=$(usex opus)
-DUSE_HTTP=$(usex curl)
-DUSE_VOIP=$(usex voip)
-DUSE_MUMBLE=OFF
-DUSE_MUMBLE=$(usex mumble)
-DUSE_FREETYPE=$(usex freetype)
-DUSE_INTERNAL_LIBS=OFF
# Extra compilation time for yet unknown benefit
@ -66,12 +71,14 @@ src_configure() {
src_install() {
cmake_src_install
use client && dosym "/usr/$(get_libdir)/${PN}/${PN}" "/usr/bin/${PN}"
use server && dosym "/usr/$(get_libdir)/${PN}/${PN}" "/usr/bin/ioq3ded"
use client && make_wrapper ${PN} "/usr/$(get_libdir)/${PN}/${PN}"
use server && make_wrapper ioq3ded "/usr/$(get_libdir)/${PN}/ioq3ded"
}
pkg_postinst() {
elog "In order to play Quake III Arena, get the data files first"
elog "How to get them will not be covered here, that's on you"
elog "Then place it somewhere readable to the client executable"
elog "To play Quake III Arena (and Team Arena), please check out this page"
elog "for more information: https://ioquake3.org/buy/"
elog ""
elog "Alternatively, you can consider giving games-fps/openarena a shot"
elog ""
}

View file

@ -1,7 +1,7 @@
# Copyright 2026 Shin'ya Minazuki
EAPI=8
inherit cmake git-r3
inherit cmake git-r3 wrapper
DESCRIPTION="Community effort to maintain and improve the id Tech 3 engine"
HOMEPAGE="https://www.ioquake3.org/"
@ -14,6 +14,7 @@ KEYWORDS="~amd64"
DEPEND="
curl? ( net-misc/curl )
freetype? ( media-libs/freetype )
mumble? ( net-voip/mumble )
ogg? (
media-libs/libogg
media-libs/libvorbis
@ -33,7 +34,10 @@ BDEPEND="
virtual/pkgconfig
"
IUSE="+client curl freetype ogg openal opus +renderer_gl1 +renderer_gl2 +server voip"
IUSE="+client curl freetype mumble ogg openal opus +renderer_gl1 +renderer_gl2 +server voip"
REQUIRED_USE="
voip? ( openal )
"
src_configure() {
local -a mycmakeargs=(
@ -47,8 +51,9 @@ src_configure() {
-DUSE_OPENAL=$(usex openal)
-DUSE_CODEC_VORBIS=$(usex ogg)
-DUSE_CODEC_OPUS=$(usex opus)
-DUSE_HTTP=$(usex curl)
-DUSE_VOIP=$(usex voip)
-DUSE_MUMBLE=OFF
-DUSE_MUMBLE=$(usex mumble)
-DUSE_FREETYPE=$(usex freetype)
-DUSE_INTERNAL_LIBS=OFF
# Extra compilation time for yet unknown benefit
@ -61,12 +66,15 @@ src_configure() {
src_install() {
cmake_src_install
use client && dosym "/usr/$(get_libdir)/${PN}/${PN}" "/usr/bin/${PN}"
use server && dosym "/usr/$(get_libdir)/${PN}/ioq3ded" "/usr/bin/ioq3ded"
use client && make_wrapper ${PN} "/usr/$(get_libdir)/${PN}/${PN}"
use server && make_wrapper ioq3ded "/usr/$(get_libdir)/${PN}/ioq3ded"
}
pkg_postinst() {
elog "In order to play Quake III Arena, get the data files first"
elog "How to get them will not be covered here, that's on you"
elog "Then place it somewhere readable to the client executable"
elog "To play Quake III Arena (and Team Arena), please check out this page"
elog "for more information: https://ioquake3.org/buy/"
elog ""
elog "Alternatively, you can consider giving games-fps/openarena a shot"
elog ""
}

View file

@ -8,8 +8,9 @@
<use>
<flag name="client">Build the client binary (ioquake3)</flag>
<flag name="freetype">Add support for FreeType</flag>
<flag name="renderer_gl1">Build the opengl1 client / renderer library</flag>
<flag name="renderer_gl2">Build the opengl2 client / renderer library</flag>
<flag name="mumble">Use <pkg>net-voip/mumble</pkg> to provide VoIP support</flag>
<flag name="renderer_gl1">Build the OpenGL 1 client / renderer library</flag>
<flag name="renderer_gl2">Build the OpenGL 2 client / renderer library</flag>
<flag name="server">Build the server binary (ioq3ded)</flag>
<flag name="voip">Enable VoIP support</flag>
</use>