diff options
Diffstat (limited to 'games-fps/yamagi-quake2')
-rw-r--r-- | games-fps/yamagi-quake2/Manifest | 8 | ||||
-rw-r--r-- | games-fps/yamagi-quake2/files/yamagi-quake2-addon-respect-flags.patch | 30 | ||||
-rw-r--r-- | games-fps/yamagi-quake2/files/yamagi-quake2-respect-flags.patch | 40 | ||||
-rw-r--r-- | games-fps/yamagi-quake2/metadata.xml | 21 | ||||
-rw-r--r-- | games-fps/yamagi-quake2/yamagi-quake2-7.10.ebuild | 132 |
5 files changed, 231 insertions, 0 deletions
diff --git a/games-fps/yamagi-quake2/Manifest b/games-fps/yamagi-quake2/Manifest new file mode 100644 index 000000000000..cebfa7397dbe --- /dev/null +++ b/games-fps/yamagi-quake2/Manifest @@ -0,0 +1,8 @@ +AUX yamagi-quake2-addon-respect-flags.patch 823 BLAKE2B 348115f8a35d61e9dc4a1121bb98cfe1c2d6925fc7fc3bb7965d1f10d8bc4958f222982892216ee312ec245c3e505c9e9b8c20c65539f24145af4355959a4542 SHA512 c570ea602d3d5fedc6defae5c6b8d99f079ea5562b9c864f896a97c01ca504dbbb669e9a43eb5757abca884ad39c7a2f685c3fb915d32bd8dd5ff22f6934a4fd +AUX yamagi-quake2-respect-flags.patch 1209 BLAKE2B 757b7f1757a752871525ed397f53db8992292dde7a68fb22030ded806e64f4853ac1c2e75304afb2f88f1f2d36edc99758dee4fa6cbfe353fa5004aabb65b982 SHA512 abaa7041640556d1b7272fec820a987e02b4a7d466765a637ddc0ce39c38eafe95e46f91e5bdcf74030df2dff7674e96c8a49ca48b99400f74b85551e0d9a5c3 +DIST quake2-7.10.tar.xz 1792748 BLAKE2B 853d6db1eec46ce40952fd413a259653275081599a940941fc883921b310f436be62b80a1d911a0d8f95a33e540e60bd6db2377370cc443cbaa9c3eec6ae055f SHA512 46247c3e2c8e6dcb056dfc7785dd63bf4f896719894a1c5467f2eb313cc3d8a892fda9bafc2ca760a9ac96f6b8e23485a8740b03e118cf9a524f68657183fbb9 +DIST quake2-ctf-1.05.tar.xz 134872 BLAKE2B eb987004b1c1b1743ec532b6bea96a257957377cbdb0571d6c6e7b2dae6c1b7abc154233d4f9d3af6fb546d7810e5c041b8e9293de2e409a7cace88aa455f526 SHA512 9eb951f4a9d7abc5f9a2ca53d886f68b745c1efdf3fea14db2e071b8d1592d33579c5fa56326aa583269a4810e16a7eda8dcd8930e36782cb4fcb8578c44951b +DIST quake2-rogue-2.04.tar.xz 240436 BLAKE2B e7c3660378fe40b3f514b6e1de8714e3d3550baa244897b98bb81f362fa2b0aa57e3abceb5a38ea77cfec7621e2fcfab342a45bf9b66ccd0e44cc70292888fc2 SHA512 546deb74175c60ed7e5600a3d4b1c983fc0b1fae5922ebdb8fc3cdc5584931a0a5e34914ec2cd4ef9815323ba82cb56d427986d5c91dc040d6b68baff68ca5a8 +DIST quake2-xatrix-2.05.tar.xz 189888 BLAKE2B 9d884af6033d529ce8cca7a70a36608e45db47dab74ab0d88c04f4d928425cf22901b1299a69330bfa83810034c9f1eff2d9618b222db68564d81d569f0596cd SHA512 f7e14bb870eaf4515405f5f1162057669351a334993410101973b75e52d6d576c35c91112911f961ad122ebe664b294649e94e88a2f62b79f51e28d02f50487a +EBUILD yamagi-quake2-7.10.ebuild 3007 BLAKE2B 5084aa0d925ad93d3f8e27b27b8548625469ba3dfc611583657150c04541b50d3cc71a2b8f2c7ad6816771ddf0a8ada67285e17d030263178a6216db930b79ef SHA512 ecf02bc816b1913d75a4c8b8c8cd01c042f762c825252d4f797cbbe71152db376524f50a0611844cacee7b10dcc385119b5c31960f39008ec77b1997bf35fb27 +MISC metadata.xml 731 BLAKE2B 42af3854a50b6c7ef6a715af0a6d20c574a9e8ac8011f3ad3cc0d28af9834a32df3ba8b1e546b7017e634e323a4823610d6ffec111b29f4341b2a4f7bb4e7f96 SHA512 faa5df8f6af6efa7e90e17909ae8659d9b9273ad7ff6684845fde8849ad4eee4a933cd04dfd2b5578d661277da331a58076d87a8a4dde45b8f4afa7e408e4095 diff --git a/games-fps/yamagi-quake2/files/yamagi-quake2-addon-respect-flags.patch b/games-fps/yamagi-quake2/files/yamagi-quake2-addon-respect-flags.patch new file mode 100644 index 000000000000..d767f04d4b09 --- /dev/null +++ b/games-fps/yamagi-quake2/files/yamagi-quake2-addon-respect-flags.patch @@ -0,0 +1,30 @@ +--- a/Makefile 2017-05-25 12:45:51.000000000 +0300 ++++ b/Makefile 2018-01-14 17:38:34.540167879 +0300 +@@ -64,11 +64,11 @@ + # + # -MMD to generate header dependencies. + ifeq ($(OSTYPE), Darwin) +-CFLAGS := -O2 -fno-strict-aliasing -fomit-frame-pointer \ +- -Wall -pipe -g -fwrapv -arch i386 -arch x86_64 ++CFLAGS += -fno-strict-aliasing -fomit-frame-pointer \ ++ -Wall -fwrapv -arch i386 -arch x86_64 + else +-CFLAGS := -O2 -fno-strict-aliasing -fomit-frame-pointer \ +- -Wall -pipe -g -MMD -fwrapv ++CFLAGS += -fno-strict-aliasing -fomit-frame-pointer \ ++ -Wall -MMD -fwrapv + endif + + # ---------- +@@ -80,9 +80,9 @@ + + # Base LDFLAGS. + ifeq ($(OSTYPE), Darwin) +-LDFLAGS := -shared -arch i386 -arch x86_64 ++LDFLAGS += -shared -arch i386 -arch x86_64 + else +-LDFLAGS := -shared ++LDFLAGS += -shared + endif + + # ---------- diff --git a/games-fps/yamagi-quake2/files/yamagi-quake2-respect-flags.patch b/games-fps/yamagi-quake2/files/yamagi-quake2-respect-flags.patch new file mode 100644 index 000000000000..76ac4b60f503 --- /dev/null +++ b/games-fps/yamagi-quake2/files/yamagi-quake2-respect-flags.patch @@ -0,0 +1,40 @@ +--- a/Makefile 2017-12-08 12:22:59.000000000 +0300 ++++ b/Makefile 2018-01-14 15:42:56.804047742 +0300 +@@ -165,12 +165,12 @@ + # -MMD to generate header dependencies. (They cannot be + # generated if building universal binaries on OSX) + ifeq ($(YQ2_OSTYPE), Darwin) +-CFLAGS := -O2 -fno-strict-aliasing -fomit-frame-pointer \ +- -Wall -pipe -g -fwrapv ++CFLAGS += -fno-strict-aliasing -fomit-frame-pointer \ ++ -Wall -fwrapv + CFLAGS += $(OSX_ARCH) + else +-CFLAGS := -std=gnu99 -O2 -fno-strict-aliasing \ +- -Wall -pipe -g -ggdb -MMD -fwrapv ++CFLAGS += -std=gnu99 -fno-strict-aliasing \ ++ -Wall -MMD -fwrapv + endif + + # ---------- +@@ -263,15 +263,15 @@ + + # Base LDFLAGS. + ifeq ($(YQ2_OSTYPE),Linux) +-LDFLAGS := -L/usr/lib -lm -ldl -rdynamic ++LDFLAGS += -lm -ldl -rdynamic + else ifeq ($(YQ2_OSTYPE),FreeBSD) +-LDFLAGS := -L/usr/local/lib -lm ++LDFLAGS += -lm + else ifeq ($(YQ2_OSTYPE),OpenBSD) +-LDFLAGS := -L/usr/local/lib -lm ++LDFLAGS += -lm + else ifeq ($(YQ2_OSTYPE),Windows) +-LDFLAGS := -L/usr/lib -lws2_32 -lwinmm -static-libgcc ++LDFLAGS += -lws2_32 -lwinmm -static-libgcc + else ifeq ($(YQ2_OSTYPE), Darwin) +-LDFLAGS := $(OSX_ARCH) -lm ++LDFLAGS += $(OSX_ARCH) -lm + endif + + CFLAGS += -fvisibility=hidden diff --git a/games-fps/yamagi-quake2/metadata.xml b/games-fps/yamagi-quake2/metadata.xml new file mode 100644 index 000000000000..c573477de061 --- /dev/null +++ b/games-fps/yamagi-quake2/metadata.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>alexander@tsoy.me</email> + <name>Alexander Tsoy</name> + </maintainer> + <maintainer type="project"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> + <upstream> + <remote-id type="github">yquake2/yquake2</remote-id> + </upstream> + <use> + <flag name="client">Build client</flag> + <flag name="ctf">Build support for the 'Capture The Flag' addon</flag> + <flag name="rogue">Build support for the 'Ground Zero' Mission Pack</flag> + <flag name="xatrix">Build support for the 'The Reckoning' Mission Pack</flag> + </use> +</pkgmetadata> 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 +} |