71 lines
1.9 KiB
Bash
71 lines
1.9 KiB
Bash
# Copyright 2026 Shin'ya Minazuki
|
|
EAPI=8
|
|
|
|
inherit toolchain-funcs
|
|
|
|
DESCRIPTION="Community effort to maintain and improve the id Tech 3 engine"
|
|
HOMEPAGE="https://www.ioquake3.org/"
|
|
SRC_URI="https://distfiles.chaotic.ninja/pub/${PN}/${P}.tar.gz"
|
|
|
|
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
|
|
"
|
|
|
|
IUSE="+client curl freetype ogg openal opus +server"
|
|
|
|
src_configure() {
|
|
elog "Creating Makefile.local..."
|
|
echo "B=${S}/build" >> Makefile.local
|
|
echo "BD=${S}/build" >> Makefile.local
|
|
echo "BR=${S}/build" >> Makefile.local
|
|
echo "BUILD_AUTOUPDATER=0" >> Makefile.local
|
|
echo "BUILD_CLIENT=$(usex client 1 0)" >> Makefile.local
|
|
echo "BUILD_MISSIONPACK=1" >> Makefile.local
|
|
echo "BUILD_SERVER=$(usex server 1 0)" >> Makefile.local
|
|
echo "CC=$(tc-getCC)" >> Makefile.local
|
|
echo "PKG_CONFIG=$(tc-getPKG_CONFIG)" >> Makefile.local
|
|
echo "USE_CURL=$(usex curl 1 0)" >> Makefile.local
|
|
echo "USE_CODEC_VORBIS=$(usex ogg 1 0)" >> Makefile.local
|
|
echo "USE_CODEC_OPUS=$(usex opus 1 0)" >> Makefile.local
|
|
echo "USE_FREETYPE=$(usex freetype 1 0)" >> Makefile.local
|
|
echo "USE_OPENAL=$(usex openal 1 0)" >> Makefile.local
|
|
echo "USE_INTERNAL_LIBS=0" >> Makefile.local
|
|
echo "USE_VOIP=0" >> Makefile.local
|
|
echo "USE_YACC=1" >> Makefile.local
|
|
echo "COPYDIR=${EPREFIX}/usr/$(get_libdir)/${PN}" >> Makefile.local
|
|
}
|
|
|
|
src_compile() {
|
|
emake
|
|
}
|
|
|
|
src_install() {
|
|
emake DESTDIR="${D}" install
|
|
}
|
|
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"
|
|
}
|