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 |
+} |