77 lines
1.8 KiB
Bash
77 lines
1.8 KiB
Bash
|
|
# Copyright 2026 Shin'ya Minazuki
|
||
|
|
EAPI=8
|
||
|
|
|
||
|
|
inherit cmake git-r3
|
||
|
|
|
||
|
|
DESCRIPTION="Community effort to maintain and improve the id Tech 3 engine"
|
||
|
|
HOMEPAGE="https://www.ioquake3.org/"
|
||
|
|
EGIT_REPO_URI="https://github.com/ioquake/ioq3"
|
||
|
|
EGIT_COMMIT="5956299e80b29ef3891bcec8e99cd3e680f34b1a"
|
||
|
|
|
||
|
|
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 +renderer_gl1 renderer_gl2 +server"
|
||
|
|
|
||
|
|
PATCHES=(
|
||
|
|
"${FILESDIR}/patch-20260603-disable-forced-lto.diff"
|
||
|
|
)
|
||
|
|
|
||
|
|
src_configure() {
|
||
|
|
local -a mycmakeargs=(
|
||
|
|
-DBUILD_CLIENT=$(usex client)
|
||
|
|
-DBUILD_SERVER=$(usex server)
|
||
|
|
-DBUILD_RENDERER_GL1=$(usex renderer_gl1)
|
||
|
|
-DBUILD_RENDERER_GL2=$(usex renderer_gl2)
|
||
|
|
-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)
|
||
|
|
-DUSE_VOIP=OFF
|
||
|
|
-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
|
||
|
|
-DCMAKE_INSTALL_PREFIX=${EPREFIX}/usr/$(get_libdir)/${PN}
|
||
|
|
)
|
||
|
|
cmake_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"
|
||
|
|
}
|
||
|
|
|
||
|
|
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"
|
||
|
|
}
|