diff options
Diffstat (limited to 'games-fps/xonotic/xonotic-0.8.5.ebuild')
-rw-r--r-- | games-fps/xonotic/xonotic-0.8.5.ebuild | 105 |
1 files changed, 105 insertions, 0 deletions
diff --git a/games-fps/xonotic/xonotic-0.8.5.ebuild b/games-fps/xonotic/xonotic-0.8.5.ebuild new file mode 100644 index 000000000000..de5cb5d5a726 --- /dev/null +++ b/games-fps/xonotic/xonotic-0.8.5.ebuild @@ -0,0 +1,105 @@ +# Copyright 1999-2022 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 + + 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=: + CPUOPTIMIZATIONS="${CFLAGS}" + 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 +} |