2026-06-02 20:55:37 -03:00
|
|
|
# Copyright 2026 Shin'ya Minazuki
|
|
|
|
|
EAPI=8
|
|
|
|
|
|
2026-06-03 10:33:33 -03:00
|
|
|
inherit cmake git-r3
|
2026-06-02 20:55:37 -03:00
|
|
|
|
|
|
|
|
DESCRIPTION="Community effort to maintain and improve the id Tech 3 engine"
|
|
|
|
|
HOMEPAGE="https://www.ioquake3.org/"
|
2026-06-02 21:32:54 -03:00
|
|
|
EGIT_REPO_URI="https://github.com/ioquake/ioq3"
|
2026-06-02 20:55:37 -03:00
|
|
|
|
|
|
|
|
LICENSE="GPL-2"
|
|
|
|
|
SLOT="0"
|
|
|
|
|
KEYWORDS="~amd64"
|
|
|
|
|
|
|
|
|
|
DEPEND="
|
|
|
|
|
curl? ( net-misc/curl )
|
|
|
|
|
freetype? ( media-libs/freetype )
|
|
|
|
|
ogg? (
|
|
|
|
|
media-libs/libogg
|
|
|
|
|
media-libs/libvorbis
|
|
|
|
|
)
|
|
|
|
|
openal? ( media-libs/openal )
|
|
|
|
|
opus? (
|
|
|
|
|
media-libs/opus
|
|
|
|
|
media-libs/opusfile
|
|
|
|
|
)
|
|
|
|
|
media-libs/libjpeg-turbo
|
|
|
|
|
media-libs/libsdl2
|
|
|
|
|
sys-libs/zlib
|
|
|
|
|
"
|
|
|
|
|
RDEPEND="${DEPEND}"
|
|
|
|
|
BDEPEND="
|
|
|
|
|
app-alternatives/yacc
|
|
|
|
|
virtual/pkgconfig
|
|
|
|
|
"
|
|
|
|
|
|
2026-06-06 08:40:12 -03:00
|
|
|
IUSE="+client curl freetype ogg openal opus +renderer_gl1 +renderer_gl2 +server voip"
|
2026-06-02 20:55:37 -03:00
|
|
|
|
|
|
|
|
src_configure() {
|
|
|
|
|
local -a mycmakeargs=(
|
|
|
|
|
-DBUILD_CLIENT=$(usex client)
|
|
|
|
|
-DBUILD_SERVER=$(usex server)
|
2026-06-03 10:33:33 -03:00
|
|
|
-DBUILD_RENDERER_GL1=$(usex renderer_gl1)
|
|
|
|
|
-DBUILD_RENDERER_GL2=$(usex renderer_gl2)
|
2026-06-02 20:55:37 -03:00
|
|
|
-DBUILD_GAME_LIBRARIES=ON
|
|
|
|
|
-DBUILD_GAME_QVMS=ON
|
|
|
|
|
-DBUILD_STANDALONE=OFF
|
|
|
|
|
-DUSE_OPENAL=$(usex openal)
|
|
|
|
|
-DUSE_CODEC_VORBIS=$(usex ogg)
|
|
|
|
|
-DUSE_CODEC_OPUS=$(usex opus)
|
2026-06-06 08:40:12 -03:00
|
|
|
-DUSE_VOIP=$(usex voip)
|
2026-06-02 20:55:37 -03:00
|
|
|
-DUSE_MUMBLE=OFF
|
|
|
|
|
-DUSE_FREETYPE=$(usex freetype)
|
|
|
|
|
-DUSE_INTERNAL_LIBS=OFF
|
|
|
|
|
# Extra compilation time for yet unknown benefit
|
|
|
|
|
# Disable by default
|
|
|
|
|
-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=OFF
|
2026-06-03 10:33:33 -03:00
|
|
|
-DCMAKE_INSTALL_PREFIX=${EPREFIX}/usr/$(get_libdir)/${PN}
|
2026-06-02 20:55:37 -03:00
|
|
|
)
|
|
|
|
|
cmake_src_configure
|
|
|
|
|
}
|
|
|
|
|
|
2026-06-03 10:33:33 -03:00
|
|
|
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"
|
|
|
|
|
}
|
|
|
|
|
|
2026-06-02 20:55:37 -03:00
|
|
|
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"
|
|
|
|
|
}
|