diff options
author | Alexander Tsoy <alexander@tsoy.me> | 2018-01-19 02:33:23 +0300 |
---|---|---|
committer | Michał Górny <mgorny@gentoo.org> | 2018-03-04 12:38:20 +0100 |
commit | f405aa6406f2d58f628fcb4cf265fa8e863705e0 (patch) | |
tree | 8fbe35a33a94b8347485f99efb5ded680f2d8473 /games-fps/yamagi-quake2/yamagi-quake2-7.10.ebuild | |
parent | sys-kernel/gentoo-sources-4.4.111-r1: alpha stable (diff) | |
download | gentoo-f405aa6406f2d58f628fcb4cf265fa8e863705e0.tar.gz gentoo-f405aa6406f2d58f628fcb4cf265fa8e863705e0.tar.bz2 gentoo-f405aa6406f2d58f628fcb4cf265fa8e863705e0.zip |
games-fps/yamagi-quake2: new package
This is the Yamagi Quake II Client, an enhanced version of id Software's
Quake II with focus on offline and coop gameplay. Both the gameplay and
the graphics are unchanged, but many bugs in the last official release
were fixed and some nice to have features like widescreen support and a
modern OpenGL 3.2 renderer were added. Unlike most other Quake II source
ports Yamagi Quake II is fully 64 bit clean and is still actively
maintained.
Closes: https://bugs.gentoo.org/314751
Diffstat (limited to 'games-fps/yamagi-quake2/yamagi-quake2-7.10.ebuild')
-rw-r--r-- | games-fps/yamagi-quake2/yamagi-quake2-7.10.ebuild | 132 |
1 files changed, 132 insertions, 0 deletions
diff --git a/games-fps/yamagi-quake2/yamagi-quake2-7.10.ebuild b/games-fps/yamagi-quake2/yamagi-quake2-7.10.ebuild new file mode 100644 index 000000000000..09f38aad41cf --- /dev/null +++ b/games-fps/yamagi-quake2/yamagi-quake2-7.10.ebuild @@ -0,0 +1,132 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit desktop eutils + +CTF_V=1.05 +ROGUE_V=2.04 +XATRIX_V=2.05 + +DESCRIPTION="Quake 2 engine focused on single player" +HOMEPAGE="https://www.yamagi.org/quake2/" +SRC_URI="https://deponie.yamagi.org/quake2/quake2-${PV}.tar.xz + ctf? ( https://deponie.yamagi.org/quake2/quake2-ctf-${CTF_V}.tar.xz ) + rogue? ( https://deponie.yamagi.org/quake2/quake2-rogue-${ROGUE_V}.tar.xz ) + xatrix? ( https://deponie.yamagi.org/quake2/quake2-xatrix-${XATRIX_V}.tar.xz )" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="+client ctf dedicated ogg openal rogue xatrix" +REQUIRED_USE="|| ( client dedicated )" + +RDEPEND="sys-libs/zlib:0= + client? ( + media-libs/libsdl2[opengl,video] + virtual/opengl + ogg? ( + media-libs/libogg + media-libs/libvorbis + ) + openal? ( media-libs/openal ) + !openal? ( media-libs/libsdl2[sound] ) + ) +" + +DEPEND="${RDEPEND}" + +S="${WORKDIR}/quake2-${PV}" + +PATCHES=( "${FILESDIR}"/${PN}-respect-flags.patch ) +DOCS=( CHANGELOG CONTRIBUTE README.md ) + +mymake() { + emake \ + VERBOSE=1 \ + DLOPEN_OPENAL=no \ + WITH_CDA=no \ + WITH_SYSTEMWIDE=yes \ + WITH_SYSTEMDIR="${EPREFIX}"/usr/share/games/quake2 \ + WITH_ZIP=yes \ + WITH_OGG=$(usex ogg) \ + WITH_OPENAL=$(usex openal) \ + "$@" +} + +src_prepare() { + local addon + for addon in ctf rogue xatrix; do + use ${addon} || continue + + pushd "${WORKDIR}"/quake2-${addon}-* >/dev/null || die + eapply -l -- "${FILESDIR}"/${PN}-addon-respect-flags.patch + popd >/dev/null || die + done + + default +} + +src_compile() { + local targets=( game ) + use client && targets+=( client ref_gl1 ref_gl3 ) + use dedicated && targets+=( server ) + + mymake config + mymake "${targets[@]}" + + local addon + for addon in ctf rogue xatrix; do + use ${addon} || continue + emake -C "${WORKDIR}"/quake2-${addon}-* VERBOSE=1 + done +} + +src_install() { + insinto /usr/lib/yamagi-quake2 + # Yamagi Quake II expects all binaries to be in the same directory + # See stuff/packaging.md for more info + exeinto /usr/lib/yamagi-quake2 + doins -r release/. + + if use client; then + doexe release/quake2 + dosym ../lib/yamagi-quake2/quake2 /usr/bin/yquake2 + + newicon stuff/icon/Quake2.svg "yamagi-quake2.svg" + make_desktop_entry "yquake2" "Yamagi Quake II" + fi + + if use dedicated; then + doexe release/q2ded + dosym ../lib/yamagi-quake2/q2ded /usr/bin/yq2ded + fi + + insinto /usr/lib/yamagi-quake2/baseq2 + doins stuff/yq2.cfg + + local addon + for addon in ctf rogue xatrix; do + use ${addon} || continue + + insinto /usr/lib/yamagi-quake2/${addon} + doins "${WORKDIR}"/quake2-${addon}-*/release/game.so + + local addon_name + case ${addon} in + ctf) addon_name="CTF" ;; + rogue) addon_name="Ground Zero" ;; + xatrix) addon_name="The Reckoning" ;; + esac + + make_wrapper "yquake2-${addon}" "yquake2 +set game ${addon}" + make_desktop_entry "yquake2-${addon}" "Yamagi Quake II: ${addon_name}" + done + + einstalldocs + if use client; then + docinto examples + dodoc stuff/cdripper.sh + fi +} |