Gentoo Archives: gentoo-commits

From: Conrad Kostecki <conikost@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: games-fps/eduke32/
Date: Tue, 31 Jan 2023 15:17:50
Message-Id: 1675178134.b55fd526e721633f2c4826f0b19b86ef9838bf7c.conikost@gentoo
1 commit: b55fd526e721633f2c4826f0b19b86ef9838bf7c
2 Author: Conrad Kostecki <conikost <AT> gentoo <DOT> org>
3 AuthorDate: Tue Jan 31 15:14:30 2023 +0000
4 Commit: Conrad Kostecki <conikost <AT> gentoo <DOT> org>
5 CommitDate: Tue Jan 31 15:15:34 2023 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b55fd526
7
8 games-fps/eduke32: add 20230123.10167
9
10 Signed-off-by: Conrad Kostecki <conikost <AT> gentoo.org>
11
12 games-fps/eduke32/Manifest | 1 +
13 games-fps/eduke32/eduke32-20230123.10167.ebuild | 218 ++++++++++++++++++++++++
14 2 files changed, 219 insertions(+)
15
16 diff --git a/games-fps/eduke32/Manifest b/games-fps/eduke32/Manifest
17 index a7341c07e434..cb6c76a502c6 100644
18 --- a/games-fps/eduke32/Manifest
19 +++ b/games-fps/eduke32/Manifest
20 @@ -6,3 +6,4 @@ DIST duke3d_voxels-1.21.zip 2997999 BLAKE2B dcb3103a82b45cfcf906d00147a57fe47997
21 DIST duke3d_xxx-1.33.zip 26586453 BLAKE2B 7e3c46172d3db1b2eb49eb07f243a9ead4f260d6b1dcae9f8bd599b8e9ba3a19068032afeb4ec2cf61742b6216e3a06c24f2b7e8903f9636f9d00f4d57ada47f SHA512 4783d159610fc178e748446b7a5f9c13d90e1aca3cef34deb82e99655b7f4a254f1130e16dbcfad9013b95bc07161d5c5dccfcc552fbb7a88404b4b9cedbadbf
22 DIST eduke32_classic.png 5129 BLAKE2B 332ad44b7f6b4f51362387aa6870e7db54423ca5a1f0586cb5019322fb72317d8e88e0bbf46ac89b56290db7e2e4a8442179a6eb87a615fd741b5f00ce96a1c8 SHA512 b41dece8f1ddcadde3367a83f6029ffdc5805811b40380e270169684fb3b368258bd8caeb55623dadffb6fb9d72faf9a3d75907722623f4fac94a4347f8ce833
23 DIST eduke32_src_20221026-10165-a9c797dcb.tar.xz 17452524 BLAKE2B a133a9981a571b807e87cc3a6ee096d5680344ea5edb456734c4c1af995137e5c517df2f298c07fd89fea7bfa23beaaac57c2f8c20755f0bd8d70132ae3b7d0e SHA512 c705362ea655fb7ac23c11d0c980d8584499e2fd73a97f4c0b02624e915c93f7cb721020c090cac8b3c6ecd51396a111058e3209c8e67679e4974d7352745606
24 +DIST eduke32_src_20230123-10167-1a90b9883.tar.xz 17453612 BLAKE2B 763624f23ccafb340decd879d9906fdf59403f303bb6dd628ca41fae1217cd07cb3b61115101098ce6f897b16ed0783147e7d3c8138af586f23e90b7ea4a920f SHA512 beae1c9a34656530bb031eea9847339af0e28ff9dba029d2ae3539bd726c17f74b3b4929d6fa46c04b1966f985b97dcfd5a5da253d2ecc89d2b50d9ecefacea6
25
26 diff --git a/games-fps/eduke32/eduke32-20230123.10167.ebuild b/games-fps/eduke32/eduke32-20230123.10167.ebuild
27 new file mode 100644
28 index 000000000000..20194e48fa48
29 --- /dev/null
30 +++ b/games-fps/eduke32/eduke32-20230123.10167.ebuild
31 @@ -0,0 +1,218 @@
32 +# Copyright 1999-2023 Gentoo Authors
33 +# Distributed under the terms of the GNU General Public License v2
34 +
35 +EAPI=8
36 +
37 +inherit desktop toolchain-funcs xdg-utils
38 +
39 +EGIT_COMMIT="1a90b9883"
40 +MY_BUILD="$(ver_cut 2)"
41 +MY_DATE="$(ver_cut 1)"
42 +MY_PV_HRP="5.4"
43 +MY_PV_OFFENSIVE_XXX="1.33"
44 +MY_PV_OPL="2.01"
45 +MY_PV_PSX="1.11"
46 +MY_PV_SC55="4.02"
47 +MY_PV_VOXELS="1.21"
48 +
49 +DESCRIPTION="An open source engine port of the classic PC first person shooter Duke Nukem 3D"
50 +HOMEPAGE="http://www.eduke32.com/"
51 +SRC_URI="
52 + http://dukeworld.com/eduke32/synthesis/${MY_DATE}-${MY_BUILD}-${EGIT_COMMIT}/${PN}_src_${MY_DATE}-${MY_BUILD}-${EGIT_COMMIT}.tar.xz
53 + http://www.eduke32.com/images/eduke32_classic.png
54 + hrp? ( http://www.duke4.org/files/nightfright/hrp/duke3d_hrp.zip -> duke3d_hrp-${MY_PV_HRP}.zip )
55 + offensive? ( http://www.duke4.org/files/nightfright/related/duke3d_xxx.zip -> duke3d_xxx-${MY_PV_OFFENSIVE_XXX}.zip )
56 + opl? ( https://www.moddb.com/downloads/mirror/95750/102/ce9e8f422c6cccdb297852426e96740a -> duke3d_musopl-${MY_PV_OPL}.zip )
57 + psx? ( http://www.duke4.org/files/nightfright/related/duke3d_psx.zip -> duke3d_psx-${MY_PV_PSX}.zip )
58 + sc-55? ( http://www.duke4.org/files/nightfright/music/duke3d_music-sc55.zip -> duke3d_music-sc55-${MY_PV_SC55}.zip )
59 + voxels? ( https://www.dropbox.com/s/yaxfahyvskyvt4r/duke3d_voxels.zip -> duke3d_voxels-${MY_PV_VOXELS}.zip )
60 +"
61 +S="${WORKDIR}/${PN}_${MY_DATE}-${MY_BUILD}-${EGIT_COMMIT}"
62 +
63 +LICENSE="BUILDLIC GPL-2 HRP"
64 +SLOT="0"
65 +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
66 +IUSE="duke3d fluidsynth gtk hrp offensive opengl opl png psx sc-55 server sdk timidity tools voidsw voxels vpx xmp"
67 +REQUIRED_USE="
68 + hrp? ( duke3d !voxels )
69 + offensive? ( duke3d )
70 + opl? ( duke3d !sc-55 )
71 + psx? ( duke3d )
72 + sc-55? ( duke3d !opl )
73 + voxels? ( !hrp )
74 + vpx? ( opengl )
75 +"
76 +
77 +# There are no tests,
78 +# instead it tries to build a test game, which does not compile
79 +RESTRICT="bindist test"
80 +
81 +RDEPEND="
82 + media-libs/flac:=
83 + media-libs/libogg
84 + media-libs/libsdl2[alsa,joystick,opengl?,sound,video]
85 + media-libs/libvorbis
86 + media-libs/sdl2-mixer[flac,fluidsynth?,midi,timidity?,vorbis]
87 + sys-libs/zlib
88 + gtk? ( x11-libs/gtk+:2 )
89 + opengl? (
90 + virtual/glu
91 + virtual/opengl
92 + )
93 + png? ( media-libs/libpng:0= )
94 + vpx? ( media-libs/libvpx:= )
95 + xmp? ( media-libs/exempi:2= )
96 +"
97 +
98 +DEPEND="
99 + ${RDEPEND}
100 + timidity? ( media-sound/timidity++ )
101 +"
102 +
103 +BDEPEND="
104 + app-arch/unzip
105 + x86? ( dev-lang/nasm )
106 +"
107 +
108 +PDEPEND="duke3d? ( games-fps/duke3d-data )"
109 +
110 +PATCHES=(
111 + "${FILESDIR}/${PN}-20190820.8043-search-duke3d-path.patch"
112 + "${FILESDIR}/${PN}-20200505.8904-gcc10.patch"
113 + "${FILESDIR}/${PN}-20220204.9957-log-to-tmpdir.patch"
114 +)
115 +
116 +src_unpack() {
117 + # Extract only the eduke32 archive
118 + unpack ${PN}_src_${MY_DATE}-${MY_BUILD}-${EGIT_COMMIT}.tar.xz
119 +
120 + # Unpack only the documentation
121 + if use hrp; then
122 + unzip -q "${DISTDIR}"/duke3d_hrp-${MY_PV_HRP}.zip hrp_readme.txt hrp_todo.txt || die
123 + fi
124 + if use offensive; then
125 + unzip -q "${DISTDIR}"/duke3d_xxx-${MY_PV_OFFENSIVE_XXX}.zip xxx_readme.txt || die
126 + fi
127 + if use opl; then
128 + unzip -q "${DISTDIR}"/duke3d_musopl-${MY_PV_OPL}.zip readme.txt || die
129 + mv readme.txt opl_readme.txt || die
130 + fi
131 + if use sc-55; then
132 + unzip -q "${DISTDIR}"/duke3d_music-sc55-${MY_PV_SC55}.zip readme/music_readme.txt || die
133 + fi
134 + if use voxels; then
135 + unzip -q "${DISTDIR}"/duke3d_voxels-${MY_PV_VOXELS}.zip voxelpack_readme.txt || die
136 + fi
137 +}
138 +
139 +src_compile() {
140 + local myemakeopts=(
141 + ALLOCACHE_AS_MALLOC=0
142 + AS="$(tc-getAS)"
143 + CC="$(tc-getCC)"
144 + CXX="$(tc-getCXX)"
145 + CLANG=0
146 + CPLUSPLUS=1
147 + CUSTOMOPT=""
148 + DEBUGANYWAY=0
149 + F_JUMP_TABLES=""
150 + FORCEDEBUG=0
151 + HAVE_FLAC=1
152 + HAVE_GTK2=$(usex gtk 1 0)
153 + HAVE_XMP=$(usex xmp 1 0)
154 + LINKED_GTK=$(usex gtk 1 0)
155 + LTO=1
156 + LUNATIC=0
157 + KRANDDEBUG=0
158 + MEMMAP=0
159 + MIXERTYPE=SDL
160 + NETCODE=$(usex server 1 0)
161 + NOASM=0
162 + OPTLEVEL=0
163 + OPTOPT=""
164 + PACKAGE_REPOSITORY=1
165 + POLYMER=$(usex opengl 1 0)
166 + PRETTY_OUTPUT=0
167 + PROFILER=0
168 + RELEASE=1
169 + RENDERTYPE=SDL
170 + SDL_TARGET=2
171 + SIMPLE_MENU=0
172 + STRIP=""
173 + TANDALONE=0
174 + STARTUP_WINDOW=$(usex gtk 1 0)
175 + USE_OPENGL=$(usex opengl 1 0)
176 + USE_LIBVPX=$(usex vpx 1 0)
177 + USE_LIBPNG=$(usex png 1 0)
178 + USE_LUAJIT_2_1=0
179 + WITHOUT_GTK=$(usex gtk 0 1)
180 + )
181 +
182 + emake "${myemakeopts[@]}"
183 +
184 + use tools && emake utils "${myemakeopts[@]}"
185 + use voidsw && emake sw "${myemakeopts[@]}"
186 +}
187 +
188 +src_install() {
189 + dobin eduke32 mapster32 "${FILESDIR}"/eduke32-bin
190 + use voidsw && dobin voidsw "${FILESDIR}"/voidsw-bin
191 +
192 + if use tools; then
193 + local tools=(
194 + arttool
195 + bsuite
196 + cacheinfo
197 + generateicon
198 + givedepth
199 + ivfrate
200 + kextract
201 + kgroup
202 + kmd2tool
203 + makesdlkeytrans
204 + map2stl
205 + md2tool
206 + mkpalette
207 + transpal
208 + unpackssi
209 + wad2art
210 + wad2map
211 + )
212 +
213 + dobin "${tools[@]}"
214 + fi
215 +
216 + keepdir /usr/share/games/eduke32
217 + insinto /usr/share/games/eduke32
218 +
219 + use hrp && doins "${DISTDIR}"/duke3d_hrp-${MY_PV_HRP}.zip
220 + use offensive && doins "${DISTDIR}"/duke3d_xxx-${MY_PV_OFFENSIVE_XXX}.zip
221 + use opl && doins "${DISTDIR}"/duke3d_musopl-${MY_PV_OPL}.zip
222 + use psx && doins "${DISTDIR}"/duke3d_psx-${MY_PV_PSX}.zip
223 + use sc-55 && doins "${DISTDIR}"/duke3d_music-sc55-${MY_PV_SC55}.zip
224 + use sdk && doins -r package/sdk
225 + use voxels && doins "${DISTDIR}"/duke3d_voxels-${MY_PV_VOXELS}.zip
226 +
227 + newicon "${DISTDIR}"/eduke32_classic.png eduke32.png
228 +
229 + make_desktop_entry eduke32-bin EDuke32 eduke32 Game
230 + make_desktop_entry mapster32 Mapster32 eduke32 Game
231 + use voidsw && make_desktop_entry voidsw-bin VoidSW voidsw Game
232 +
233 + local DOCS=( package/sdk/samples/*.txt source/build/doc/*.txt )
234 + use hrp && DOCS+=( "${WORKDIR}"/hrp_readme.txt "${WORKDIR}"/hrp_todo.txt )
235 + use offensive && DOCS+=( "${WORKDIR}"/xxx_readme.txt )
236 + use opl && DOCS+=( "${WORKDIR}"/opl_readme.txt )
237 + use sc-55 && DOCS+=( "${WORKDIR}"/readme/music_readme.txt )
238 + use voxels && DOCS+=( "${WORKDIR}"/voxelpack_readme.txt )
239 +
240 + einstalldocs
241 +}
242 +
243 +pkg_postinst() {
244 + xdg_icon_cache_update
245 +}
246 +
247 +pkg_postrm() {
248 + xdg_icon_cache_update
249 +}