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

View file

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

View file

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