Gentoo Archives: gentoo-commits

From: Ionen Wolkens <ionen@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: games-fps/yamagi-quake2/
Date: Sun, 04 Jul 2021 11:53:34
Message-Id: 1625399140.4f90940087b2edc9610104e6b6ee3a801ce42cc7.ionen@gentoo
1 commit: 4f90940087b2edc9610104e6b6ee3a801ce42cc7
2 Author: Alexander Tsoy <alexander <AT> tsoy <DOT> me>
3 AuthorDate: Mon Jun 28 23:05:59 2021 +0000
4 Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
5 CommitDate: Sun Jul 4 11:45:40 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4f909400
7
8 games-fps/yamagi-quake2: Version bump to 8.00
9
10 * Add experimental Vulkan renderer
11 * Change game data dir to match games-fps/quake2-data
12
13 Signed-off-by: Alexander Tsoy <alexander <AT> tsoy.me>
14 Closes: https://github.com/gentoo/gentoo/pull/21466
15 Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
16
17 games-fps/yamagi-quake2/Manifest | 5 +
18 games-fps/yamagi-quake2/metadata.xml | 1 +
19 games-fps/yamagi-quake2/yamagi-quake2-8.00.ebuild | 143 ++++++++++++++++++++++
20 3 files changed, 149 insertions(+)
21
22 diff --git a/games-fps/yamagi-quake2/Manifest b/games-fps/yamagi-quake2/Manifest
23 index 8390668efd2..95c07132694 100644
24 --- a/games-fps/yamagi-quake2/Manifest
25 +++ b/games-fps/yamagi-quake2/Manifest
26 @@ -1,4 +1,9 @@
27 DIST quake2-7.45.tar.xz 1997816 BLAKE2B 1025a3e226e80b456c48fcd76100f46fa03e3ef2c61d70071136f8119f2b2af39b24fa859239217d34d14501127e4880ff7b61b79dc61c79e64dd22fcc44ce0b SHA512 1aa161ca03782eba14feecd142d65eb5a9ca5af4b384f21d3e68338cd8d88bd5e71c1678d44285eea692d5d1b2161429270745d880b4caacd6c87c7e76ed404b
28 +DIST quake2-8.00.tar.xz 2086776 BLAKE2B 6a525b0d3703e17ca6ff85cbef7cf0c0522308fb71f8db4649e7bfbe3326c610d878d6a4af36ed6a578c700c5e1d004be7c0a9dd86cb495a27c8deb8b761eab9 SHA512 886c0df687e7e64a534f6e6f0b212084212d4d5c1278d2567b25bdd48df9ffab9ce75894ab6cfc2fd3a070adf9c1e3d7bb2e823d4f5aef8ef2cbc21c21c063bd
29 DIST quake2-ctf-1.07.tar.xz 135880 BLAKE2B 7501d5db676cbc7b523313bf4e5d572cc8711efd09e2390d6aa6980d45bc682e7f137581b8a9a8d4b491de8f8ed7dd1cb32a66c9ed2cc456e114f672cedf2a1c SHA512 de2ab94fc7bb43327170f6aefbaf811e7a0071da2e5c4602354854e46e4c8cfc687a6300e7162c8f1be2f0b42cf2d3edc255c2f44fb0e39adc873a521197a316
30 +DIST quake2-ctf-1.08.tar.xz 136468 BLAKE2B cce9f75333c03494dccc1a693c3c0a62194457673c17c59cd5d08a06a11daa769dabaf787c04d9de291c7cc255b4decef06ae5f045c5bc7bc3f4008f0e6babdb SHA512 3d3343ae5287c5f01efd3363ede19f2e41cc8d083691c928afd9e4a81c0b46f6002eb2ed99d11742b7c04f8ea728a1dbb3b5d26ce4fd1066b4f49e3fb664317e
31 +DIST quake2-ref_vk-1.0.1.tar.gz 290799 BLAKE2B 0716d539704a58067fd2d6d4f21b27976c6bd073b2722584a804c9702f2886b252701d81f2fe1e5aba22ab83fbddd1e35ce3574c3e3d41b609ebac417ee7cfe4 SHA512 99a6b7191a2eed714f70ec389a1f1972f430b9ba324e6880ce96101336beac640fef2d45adc1a6bf04c386a1d088fafd401d303704079ed7207fe7b56d2758db
32 DIST quake2-rogue-2.07.tar.xz 243828 BLAKE2B f292bc7318ee8094b0dae0219fbf7882fb9a168ee2b311c254b5cabdb53f6a65350be80ea09185f66b5e3af4e670c3dd21235a06aeec2f334dc84cb474cb02da SHA512 21b0dca16240307c1e7a6c2a2c08e380fabf4f6bdbf1981a2183056ccd5f05f7003f41b38b4b131f9b16909b4c714ff2ef23638601b0c420003674bc9a9d0789
33 +DIST quake2-rogue-2.08.tar.xz 282140 BLAKE2B e4ead304f35028010f4ffea6eed15753feac99cfa301975f8cae88d9ac10313c9e1a9e29e37d4f186df34abf659dd45b79bda04b5f420565f256bde8b69ab199 SHA512 216b8a9862c7f189bdabc68770306ead4fa2173f9051a8fd2a7927eae8aa4e42116bbde947591432d200832a3038c79316325549822fa531fc0e76a2bec57762
34 DIST quake2-xatrix-2.08.tar.xz 192760 BLAKE2B ce6d4bae8ed2970e9ca9971c32fba6b226d7d7616dc7e5168d1504f6ae62ece286c21c22f0f8a3d2df48f7b63b53ec681efa92074f918ef4e5c9b98667e2682b SHA512 cc8fd7add3ded10ad88f1a1629c7222c26a398fa47c2c1aa6091dc310b7f2f5830c997c534b38cc0f6d4153357d76901ba48dbd505ce96f95d84f97f2f0dddd9
35 +DIST quake2-xatrix-2.09.tar.xz 214096 BLAKE2B a4115da0d5624245d1065a67379d95a2b22330e1a5a999d7493d832d5edca4c83752f3a447ab1934c6709b7ed9247d5edd2b3f4b9b398a04982a9428381f2f9d SHA512 a4cf351eca2a72e6b5d8eeecf5d582a3c2c677b71dcf6bcdea310f1503f55ad8ccaf7225461bd78fc695e90d57525fd9a53c5d17e1eabd3a1d28e9386331399c
36
37 diff --git a/games-fps/yamagi-quake2/metadata.xml b/games-fps/yamagi-quake2/metadata.xml
38 index 1e4e7f687ed..2b7164c258b 100644
39 --- a/games-fps/yamagi-quake2/metadata.xml
40 +++ b/games-fps/yamagi-quake2/metadata.xml
41 @@ -21,6 +21,7 @@
42 <flag name="ctf">Build support for the 'Capture The Flag' addon</flag>
43 <flag name="rogue">Build support for the 'Ground Zero' Mission Pack</flag>
44 <flag name="softrender">Build software renderer</flag>
45 + <flag name="vulkan">Build experimental Vulkan renderer</flag>
46 <flag name="xatrix">Build support for the 'The Reckoning' Mission Pack</flag>
47 </use>
48 </pkgmetadata>
49
50 diff --git a/games-fps/yamagi-quake2/yamagi-quake2-8.00.ebuild b/games-fps/yamagi-quake2/yamagi-quake2-8.00.ebuild
51 new file mode 100644
52 index 00000000000..195061628b2
53 --- /dev/null
54 +++ b/games-fps/yamagi-quake2/yamagi-quake2-8.00.ebuild
55 @@ -0,0 +1,143 @@
56 +# Copyright 1999-2021 Gentoo Authors
57 +# Distributed under the terms of the GNU General Public License v2
58 +
59 +EAPI=8
60 +
61 +inherit desktop toolchain-funcs wrapper
62 +
63 +CTF_V="1.08"
64 +ROGUE_V="2.08"
65 +XATRIX_V="2.09"
66 +REF_VK_V="1.0.1"
67 +
68 +DESCRIPTION="Quake 2 engine focused on single player"
69 +HOMEPAGE="https://www.yamagi.org/quake2/"
70 +SRC_URI="https://deponie.yamagi.org/quake2/quake2-${PV}.tar.xz
71 + ctf? ( https://deponie.yamagi.org/quake2/quake2-ctf-${CTF_V}.tar.xz )
72 + rogue? ( https://deponie.yamagi.org/quake2/quake2-rogue-${ROGUE_V}.tar.xz )
73 + xatrix? ( https://deponie.yamagi.org/quake2/quake2-xatrix-${XATRIX_V}.tar.xz )
74 + vulkan? ( https://github.com/yquake2/ref_vk/archive/refs/tags/v${REF_VK_V}.tar.gz ->
75 + quake2-ref_vk-${REF_VK_V}.tar.gz )
76 +"
77 +S="${WORKDIR}/quake2-${PV}"
78 +
79 +LICENSE="GPL-2"
80 +SLOT="0"
81 +KEYWORDS="~amd64 ~arm64 ~x86"
82 +IUSE="+client ctf dedicated openal +opengl rogue softrender vulkan xatrix"
83 +REQUIRED_USE="
84 + || ( client dedicated )
85 + client? ( || ( opengl softrender vulkan ) )
86 +"
87 +
88 +RDEPEND="
89 + client? (
90 + media-libs/libsdl2[opengl?,video,vulkan?]
91 + net-misc/curl
92 + openal? ( media-libs/openal )
93 + !openal? ( media-libs/libsdl2[sound] )
94 + opengl? ( virtual/opengl )
95 + )
96 +"
97 +DEPEND="${RDEPEND}
98 + client? ( vulkan? ( dev-util/vulkan-headers ) )
99 +"
100 +
101 +DOCS=( CHANGELOG README.md doc )
102 +
103 +src_compile() {
104 + tc-export CC
105 +
106 + local targets=( game )
107 + local emakeargs=(
108 + VERBOSE=1
109 + WITH_SYSTEMWIDE=yes
110 + WITH_SYSTEMDIR="${EPREFIX}"/usr/share/quake2
111 + WITH_OPENAL=$(usex openal)
112 + )
113 +
114 + if use client; then
115 + targets+=( client )
116 + use opengl && targets+=( ref_gl1 ref_gl3 )
117 + use softrender && targets+=( ref_soft )
118 + fi
119 + use dedicated && targets+=( server )
120 +
121 + emake "${emakeargs[@]}" config
122 + emake "${emakeargs[@]}" "${targets[@]}"
123 +
124 + if use client && use vulkan; then
125 + emake -C "${WORKDIR}"/ref_vk-${REF_VK_V} VERBOSE=1
126 + fi
127 +
128 + local addon
129 + for addon in $(usev ctf) $(usev rogue) $(usev xatrix); do
130 + emake -C "${WORKDIR}"/quake2-${addon}-* VERBOSE=1
131 + done
132 +}
133 +
134 +src_install() {
135 + insinto /usr/lib/yamagi-quake2
136 + # Yamagi Quake II expects all binaries to be in the same directory
137 + # See doc/070_packaging.md for more info
138 + exeinto /usr/lib/yamagi-quake2
139 + doins -r release/.
140 +
141 + if use client; then
142 + doexe release/quake2
143 + dosym ../lib/yamagi-quake2/quake2 /usr/bin/yquake2
144 +
145 + newicon stuff/icon/Quake2.svg "yamagi-quake2.svg"
146 + make_desktop_entry "yquake2" "Yamagi Quake II"
147 +
148 + if use vulkan; then
149 + doins "${WORKDIR}"/ref_vk-${REF_VK_V}/release/ref_vk.so
150 + fi
151 + fi
152 +
153 + if use dedicated; then
154 + doexe release/q2ded
155 + dosym ../lib/yamagi-quake2/q2ded /usr/bin/yq2ded
156 + fi
157 +
158 + insinto /usr/lib/yamagi-quake2/baseq2
159 + doins stuff/yq2.cfg
160 +
161 + local addon
162 + for addon in $(usev ctf) $(usev rogue) $(usev xatrix); do
163 + insinto /usr/lib/yamagi-quake2/${addon}
164 + doins "${WORKDIR}"/quake2-${addon}-*/release/game.so
165 +
166 + if use client; then
167 + local addon_name
168 + case ${addon} in
169 + ctf) addon_name="CTF" ;;
170 + rogue) addon_name="Ground Zero" ;;
171 + xatrix) addon_name="The Reckoning" ;;
172 + esac
173 +
174 + make_wrapper "yquake2-${addon}" "yquake2 +set game ${addon}"
175 + make_desktop_entry "yquake2-${addon}" "Yamagi Quake II: ${addon_name}"
176 + fi
177 + done
178 +
179 + keepdir /usr/share/quake2
180 +
181 + einstalldocs
182 + if use client; then
183 + docinto examples
184 + dodoc stuff/cdripper.sh
185 + fi
186 +}
187 +
188 +pkg_postinst() {
189 + if [[ -z ${REPLACING_VERSIONS} ]]; then
190 + elog
191 + elog "In order to play, you should do one of the following things:"
192 + elog " - install games-fps/quake2-data or games-fps/quake2-demodata;"
193 + elog " - manually copy game data files into ~/.yq2/ or"
194 + elog " ${EROOT}/usr/share/quake2/."
195 + elog "Read ${EROOT}/usr/share/doc/${PF}/README.md* for more information."
196 + elog
197 + fi
198 +}