You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
108 lines
2.4 KiB
108 lines
2.4 KiB
# Copyright 1999-2023 Gentoo Authors
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
EAPI=8
|
|
|
|
inherit desktop check-reqs toolchain-funcs xdg
|
|
|
|
DESCRIPTION="Fork of Nexuiz, Deathmatch FPS based on DarkPlaces, an advanced Quake 1 engine"
|
|
HOMEPAGE="https://xonotic.org/"
|
|
SRC_URI="https://dl.xonotic.org/${P}.zip"
|
|
S="${WORKDIR}/${PN^}"
|
|
|
|
LICENSE="GPL-3+ GPL-2+"
|
|
SLOT="0"
|
|
KEYWORDS="~amd64 ~arm64 ~x86"
|
|
IUSE="X +alsa ode +sdl"
|
|
|
|
# note: many dependencies are used through dlopen()
|
|
COMMON_UIDEPEND="
|
|
media-libs/libogg
|
|
media-libs/libtheora
|
|
media-libs/libvorbis"
|
|
RDEPEND="
|
|
dev-libs/d0_blind_id
|
|
media-libs/libjpeg-turbo:=
|
|
media-libs/libpng
|
|
media-libs/freetype:2
|
|
net-misc/curl
|
|
sys-libs/zlib:=
|
|
X? (
|
|
${COMMON_UIDEPEND}
|
|
media-libs/libglvnd[X]
|
|
x11-libs/libX11
|
|
x11-libs/libXext
|
|
x11-libs/libXpm
|
|
x11-libs/libXxf86vm
|
|
alsa? ( media-libs/alsa-lib )
|
|
)
|
|
ode? ( dev-games/ode:=[double-precision] )
|
|
sdl? (
|
|
${COMMON_UIDEPEND}
|
|
media-libs/libsdl2[joystick,opengl,sound,video]
|
|
)"
|
|
DEPEND="
|
|
${RDEPEND}
|
|
X? ( x11-base/xorg-proto )"
|
|
BDEPEND="app-arch/unzip"
|
|
|
|
CHECKREQS_DISK_BUILD="1500M"
|
|
CHECKREQS_DISK_USR="1200M"
|
|
|
|
src_prepare() {
|
|
default
|
|
|
|
sed -e 's|-O3 ||' \
|
|
-e '/^LDFLAGS_RELEASE/s/$(OPTIM_RELEASE)/$(GENTOO_LDFLAGS)/' \
|
|
-i source/darkplaces/makefile.inc || die
|
|
}
|
|
|
|
src_compile() {
|
|
tc-export CC
|
|
|
|
# do not pass in array to keep the makefile.inc's += flags
|
|
local -x CPUOPTIMIZATIONS=${CFLAGS}
|
|
|
|
local emakeargs=(
|
|
-C source/darkplaces
|
|
DEFAULT_SNDAPI=$(usex alsa ALSA OSS)
|
|
DP_FS_BASEDIR="${EPREFIX}"/usr/share/${PN}
|
|
DP_LINK_ODE=$(usex ode shared no)
|
|
STRIP=:
|
|
GENTOO_LDFLAGS="${LDFLAGS}"
|
|
)
|
|
|
|
# split for bug 473352
|
|
emake "${emakeargs[@]}" sv-release
|
|
use X && emake "${emakeargs[@]}" cl-release
|
|
use sdl && emake "${emakeargs[@]}" sdl-release
|
|
}
|
|
|
|
src_install() {
|
|
newbin {source/darkplaces/darkplaces,${PN}}-dedicated
|
|
|
|
if use X || use sdl; then
|
|
if use X; then
|
|
newbin {source/darkplaces/darkplaces,${PN}}-glx
|
|
domenu misc/logos/${PN}-glx.desktop
|
|
fi
|
|
if use sdl; then
|
|
newbin {source/darkplaces/darkplaces,${PN}}-sdl
|
|
domenu misc/logos/${PN}.desktop
|
|
fi
|
|
|
|
local size
|
|
for size in 16 22 24 32 48 128 256 512; do
|
|
newicon -s ${size} misc/logos/icons_png/${PN}_${size}.png ${PN}.png
|
|
done
|
|
newicon -s scalable misc/logos/${PN}_icon.svg ${PN}.svg
|
|
fi
|
|
|
|
dodoc Docs/*.{md,txt}
|
|
|
|
insinto /usr/share/${PN}
|
|
doins -r key_0.d0pk server data
|
|
|
|
rm "${ED}"/usr/share/${PN}/server/.gitattributes || die
|
|
}
|