Gentoo Archives: gentoo-commits

From: James Le Cuirot <chewi@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: games-fps/chocolate-doom/, games-fps/chocolate-doom/files/
Date: Wed, 26 Aug 2020 16:08:33
Message-Id: 1598457815.ee8b2f04fc1a9202e9541d1070ef50946854a0d1.chewi@gentoo
1 commit: ee8b2f04fc1a9202e9541d1070ef50946854a0d1
2 Author: William Breathitt Gray <vilhelm.gray <AT> gmail <DOT> com>
3 AuthorDate: Mon May 13 15:54:49 2019 +0000
4 Commit: James Le Cuirot <chewi <AT> gentoo <DOT> org>
5 CommitDate: Wed Aug 26 16:03:35 2020 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ee8b2f04
7
8 games-fps/chocolate-doom: New package
9
10 Closes: https://bugs.gentoo.org/147329
11 Bug: https://bugs.gentoo.org/729214
12 Signed-off-by: William Breathitt Gray <vilhelm.gray <AT> gmail.com>
13 Closes: https://github.com/gentoo/gentoo/pull/12011
14 Signed-off-by: James Le Cuirot <chewi <AT> gentoo.org>
15
16 games-fps/chocolate-doom/Manifest | 1 +
17 .../chocolate-doom/chocolate-doom-3.0.1.ebuild | 86 +++
18 ...pport-for-usr-share-doom-IWAD-search-path.patch | 27 +
19 .../chocolate-doom-3.0.1-Fix-Python-check.patch | 54 ++
20 ...onfigure-options-for-bash-completion-doc-.patch | 171 +++++
21 ....1-Remove-redundant-demoextend-definition.patch | 28 +
22 ...tream-XML-files-to-current-0.11-standards.patch | 106 ++++
23 ...mentation-about-usr-share-doom-IWAD-locat.patch | 39 ++
24 ...atest-AppStream-formerly-AppData-standard.patch | 119 ++++
25 ...tion-Build-from-actual-shell-script-templ.patch | 53 ++
26 ...tion-always-install-into-datadir-bash-com.patch | 61 ++
27 ...ash-completion-run-docgen-with-z-argument.patch | 25 +
28 ...doom-3.0.1-configure-add-AM_PROG_AR-macro.patch | 28 +
29 ...1-further-manpage-substitutions-and-fixes.patch | 322 ++++++++++
30 ...pStream-metadata-into-the-proper-location.patch | 26 +
31 ...om-3.0.1-overhaul-manpages-add-parameters.patch | 695 +++++++++++++++++++++
32 ...-DNS-naming-for-installing-.desktop-files.patch | 162 +++++
33 games-fps/chocolate-doom/metadata.xml | 27 +
34 18 files changed, 2030 insertions(+)
35
36 diff --git a/games-fps/chocolate-doom/Manifest b/games-fps/chocolate-doom/Manifest
37 new file mode 100644
38 index 00000000000..86587c978d8
39 --- /dev/null
40 +++ b/games-fps/chocolate-doom/Manifest
41 @@ -0,0 +1 @@
42 +DIST chocolate-doom-3.0.1.tar.gz 2245563 BLAKE2B 0c9babfbc9e52ea7822ca00c0dbf84e471bfe6d6ec94f729d3d0f72243205b060e5a3b5f1f99728da7764e81af735b45d001bb368dd2b5796666554e3c911090 SHA512 2a81905cf619ea2def7e2f9ebe65b38543d01bd83a95e535e88d04a79f2676f8ba0da64031a650bd905e1345cda1b9d28a398ad87c10c92f2d3d50f3253ec214
43
44 diff --git a/games-fps/chocolate-doom/chocolate-doom-3.0.1.ebuild b/games-fps/chocolate-doom/chocolate-doom-3.0.1.ebuild
45 new file mode 100644
46 index 00000000000..5809e2bf632
47 --- /dev/null
48 +++ b/games-fps/chocolate-doom/chocolate-doom-3.0.1.ebuild
49 @@ -0,0 +1,86 @@
50 +# Copyright 1999-2020 Gentoo Authors
51 +# Distributed under the terms of the GNU General Public License v2
52 +
53 +EAPI=7
54 +
55 +PYTHON_COMPAT=( python3_{7,8} )
56 +
57 +inherit autotools prefix python-any-r1 xdg
58 +
59 +DESCRIPTION="A Doom source port that is minimalist and historically accurate"
60 +HOMEPAGE="https://www.chocolate-doom.org"
61 +SRC_URI="https://github.com/${PN}/${PN}/archive/${P}.tar.gz"
62 +
63 +LICENSE="BSD GPL-2+"
64 +SLOT="0"
65 +KEYWORDS="~amd64 ~x86"
66 +IUSE="bash-completion doc libsamplerate +midi png vorbis"
67 +
68 +DEPEND="
69 + media-libs/libsdl2[video]
70 + media-libs/sdl2-mixer[midi?,vorbis?]
71 + media-libs/sdl2-net
72 + libsamplerate? ( media-libs/libsamplerate )
73 + png? ( media-libs/libpng:= )"
74 +RDEPEND="${DEPEND}"
75 +BDEPEND="
76 + bash-completion? ( ${PYTHON_DEPS} )
77 + doc? ( ${PYTHON_DEPS} )"
78 +
79 +S="${WORKDIR}/${PN}-${P}"
80 +
81 +PATCHES=(
82 + "${FILESDIR}/${P}-overhaul-manpages-add-parameters.patch"
83 + "${FILESDIR}/${P}-further-manpage-substitutions-and-fixes.patch"
84 + "${FILESDIR}/${P}-bash-completion-run-docgen-with-z-argument.patch"
85 + "${FILESDIR}/${P}-install-AppStream-metadata-into-the-proper-location.patch"
86 + "${FILESDIR}/${P}-Update-AppStream-XML-files-to-current-0.11-standards.patch"
87 + "${FILESDIR}/${P}-bash-completion-Build-from-actual-shell-script-templ.patch"
88 + "${FILESDIR}/${P}-configure-add-AM_PROG_AR-macro.patch"
89 + "${FILESDIR}/${P}-bash-completion-always-install-into-datadir-bash-com.patch"
90 + "${FILESDIR}/${P}-Update-to-latest-AppStream-formerly-AppData-standard.patch"
91 + "${FILESDIR}/${P}-use-reverse-DNS-naming-for-installing-.desktop-files.patch"
92 + "${FILESDIR}/${P}-Remove-redundant-demoextend-definition.patch"
93 + "${FILESDIR}/${P}-Introduce-configure-options-for-bash-completion-doc-.patch"
94 + "${FILESDIR}/${P}-Add-support-for-usr-share-doom-IWAD-search-path.patch"
95 + "${FILESDIR}/${P}-Update-documentation-about-usr-share-doom-IWAD-locat.patch"
96 + "${FILESDIR}/${P}-Fix-Python-check.patch"
97 +)
98 +
99 +DOCS=(
100 + "AUTHORS"
101 + "ChangeLog"
102 + "NEWS.md"
103 + "NOT-BUGS.md"
104 + "PHILOSOPHY.md"
105 + "README.md"
106 + "README.Music.md"
107 + "README.Strife.md"
108 +)
109 +
110 +src_prepare() {
111 + default
112 +
113 + hprefixify src/d_iwad.c
114 +
115 + eautoreconf
116 +}
117 +
118 +src_configure() {
119 + econf \
120 + $(use_enable bash-completion) \
121 + $(use_enable doc) \
122 + --disable-fonts \
123 + --disable-icons \
124 + $(use_with libsamplerate) \
125 + $(use_with png libpng)
126 +}
127 +
128 +src_install() {
129 + emake DESTDIR="${D}" install
130 +
131 + # Remove redundant documentation files
132 + rm -r "${ED}/usr/share/doc/"* || die
133 +
134 + einstalldocs
135 +}
136
137 diff --git a/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-Add-support-for-usr-share-doom-IWAD-search-path.patch b/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-Add-support-for-usr-share-doom-IWAD-search-path.patch
138 new file mode 100644
139 index 00000000000..719ec12a93d
140 --- /dev/null
141 +++ b/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-Add-support-for-usr-share-doom-IWAD-search-path.patch
142 @@ -0,0 +1,27 @@
143 +From 405662edfda15bd4ba2a6e32023eeb8c5e73646f Mon Sep 17 00:00:00 2001
144 +From: William Breathitt Gray <vilhelm.gray@×××××.com>
145 +Date: Thu, 25 Jun 2020 11:13:55 -0400
146 +Subject: [PATCH] Add support for /usr/share/doom IWAD search path
147 +
148 +Some Linux distros such as Gentoo have deprecated the /usr/share/games
149 +directory. IWADs are typically installed under the /usr/share directory
150 +for these distros.
151 +---
152 + src/d_iwad.c | 1 +
153 + 1 file changed, 1 insertion(+)
154 +
155 +diff --git a/src/d_iwad.c b/src/d_iwad.c
156 +index 09853a64..e112e4f4 100644
157 +--- a/src/d_iwad.c
158 ++++ b/src/d_iwad.c
159 +@@ -657,6 +657,7 @@ static void AddXdgDirs(void)
160 + // source ports is /usr/share/games/doom - we support this through the
161 + // XDG_DATA_DIRS mechanism, through which it can be overridden.
162 + AddIWADPath(env, "/games/doom");
163 ++ AddIWADPath(env, "/doom");
164 +
165 + // The convention set by RBDOOM-3-BFG is to install Doom 3: BFG
166 + // Edition into this directory, under which includes the Doom
167 +--
168 +2.26.2
169 +
170
171 diff --git a/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-Fix-Python-check.patch b/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-Fix-Python-check.patch
172 new file mode 100644
173 index 00000000000..8d4f169bd03
174 --- /dev/null
175 +++ b/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-Fix-Python-check.patch
176 @@ -0,0 +1,54 @@
177 +From ab1a38d8e902baebc7183fb511bd58c50e2b4571 Mon Sep 17 00:00:00 2001
178 +From: William Breathitt Gray <vilhelm.gray@×××××.com>
179 +Date: Mon, 24 Aug 2020 09:03:57 -0400
180 +Subject: [PATCH] Fix Python check for doc, bash-completion, fonts, and icons
181 + options
182 +
183 +Fixes: cfc56fa6 ("Introduce configure options for bash-completion, doc, fonts, and icons")
184 +---
185 + configure.ac | 8 ++++----
186 + 1 file changed, 4 insertions(+), 4 deletions(-)
187 +
188 +diff --git a/configure.ac b/configure.ac
189 +index 9bef517a..4dbd2db7 100644
190 +--- a/configure.ac
191 ++++ b/configure.ac
192 +@@ -40,7 +40,7 @@ AC_ARG_ENABLE([bash-completion],
193 + AS_HELP_STRING([--disable-bash-completion], [Disable bash-completion])
194 + )
195 + AS_IF([test "x$enable_bash_completion" != xno], [
196 +- AS_IF([test HAVE_PYTHON = false], [
197 ++ AS_IF([test "x$HAVE_PYTHON" = xfalse], [
198 + AC_MSG_WARN([Building bash-completion requires Python, but Python not found])
199 + enable_bash_completion=no
200 + ])
201 +@@ -51,7 +51,7 @@ AC_ARG_ENABLE([doc],
202 + AS_HELP_STRING([--disable-doc], [Disable documentation])
203 + )
204 + AS_IF([test "x$enable_doc" != xno], [
205 +- AS_IF([test HAVE_PYTHON = false], [
206 ++ AS_IF([test "x$HAVE_PYTHON" = xfalse], [
207 + AC_MSG_WARN([Building documentation requires Python, but Python not found])
208 + enable_doc=no
209 + ])
210 +@@ -62,7 +62,7 @@ AC_ARG_ENABLE([fonts],
211 + AS_HELP_STRING([--disable-fonts], [Disable fonts])
212 + )
213 + AS_IF([test "x$enable_fonts" != xno], [
214 +- AS_IF([test HAVE_PYTHON = false], [
215 ++ AS_IF([test "x$HAVE_PYTHON" = xfalse], [
216 + AC_MSG_WARN([Building fonts require Python, but Python not found])
217 + enable_fonts=no
218 + ])
219 +@@ -73,7 +73,7 @@ AC_ARG_ENABLE([icons],
220 + AS_HELP_STRING([--disable-icons], [Disable icons])
221 + )
222 + AS_IF([test "x$enable_icons" != xno], [
223 +- AS_IF([test HAVE_PYTHON = false], [
224 ++ AS_IF([test "x$HAVE_PYTHON" = xfalse], [
225 + AC_MSG_WARN([Building icons require Python, but Python not found])
226 + enable_icons=no
227 + ])
228 +--
229 +2.28.0
230 +
231
232 diff --git a/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-Introduce-configure-options-for-bash-completion-doc-.patch b/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-Introduce-configure-options-for-bash-completion-doc-.patch
233 new file mode 100644
234 index 00000000000..bb1e000460a
235 --- /dev/null
236 +++ b/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-Introduce-configure-options-for-bash-completion-doc-.patch
237 @@ -0,0 +1,171 @@
238 +From cfc56fa6a5809c2dbc7276df3579836e586d9193 Mon Sep 17 00:00:00 2001
239 +From: William Breathitt Gray <vilhelm.gray@×××××.com>
240 +Date: Tue, 23 Jun 2020 12:56:01 -0400
241 +Subject: [PATCH] Introduce configure options for bash-completion, doc, fonts,
242 + and icons
243 +
244 +This patch introduces the --enable-bash-completion, --enable-doc,
245 +--enable-fonts, and --enable-icons configuration options to control the
246 +build of bash-completion, documentation, fonts, and icons respectively.
247 +This is useful for users of systems such as Gentoo which allow custom
248 +configuration of packages, or for package maintainers in general who
249 +would like finer control over the components built when compiling
250 +Chocolate Doom.
251 +---
252 + Makefile.am | 2 +-
253 + configure.ac | 49 ++++++++++++++++++++++++++++++++-
254 + man/Makefile.am | 2 +-
255 + man/bash-completion/Makefile.am | 2 +-
256 + src/Makefile.am | 2 +-
257 + src/setup/Makefile.am | 2 +-
258 + textscreen/fonts/Makefile.am | 2 +-
259 + 7 files changed, 54 insertions(+), 7 deletions(-)
260 +
261 +diff --git a/Makefile.am b/Makefile.am
262 +index 1bd91a43..70f2e5b9 100644
263 +--- a/Makefile.am
264 ++++ b/Makefile.am
265 +@@ -50,7 +50,7 @@ SUBDIRS=textscreen midiproc opl pcsound data src man
266 +
267 + DIST_SUBDIRS=pkg $(SUBDIRS)
268 +
269 +-if HAVE_PYTHON
270 ++if HAVE_DOC
271 +
272 + INSTALL : man/INSTALL.template man/simplecpp
273 + ./man/simplecpp -DDOOM -DHERETIC -DHEXEN -DSTRIFE \
274 +diff --git a/configure.ac b/configure.ac
275 +index 8e18a0e9..9bef517a 100644
276 +--- a/configure.ac
277 ++++ b/configure.ac
278 +@@ -35,6 +35,50 @@ PKG_CHECK_MODULES(SDL, [sdl2 >= 2.0.1])
279 + PKG_CHECK_MODULES(SDLMIXER, [SDL2_mixer >= 2.0.0])
280 + PKG_CHECK_MODULES(SDLNET, [SDL2_net >= 2.0.0])
281 +
282 ++# Check for bash-completion.
283 ++AC_ARG_ENABLE([bash-completion],
284 ++AS_HELP_STRING([--disable-bash-completion], [Disable bash-completion])
285 ++)
286 ++AS_IF([test "x$enable_bash_completion" != xno], [
287 ++ AS_IF([test HAVE_PYTHON = false], [
288 ++ AC_MSG_WARN([Building bash-completion requires Python, but Python not found])
289 ++ enable_bash_completion=no
290 ++ ])
291 ++])
292 ++
293 ++# Check for doc.
294 ++AC_ARG_ENABLE([doc],
295 ++AS_HELP_STRING([--disable-doc], [Disable documentation])
296 ++)
297 ++AS_IF([test "x$enable_doc" != xno], [
298 ++ AS_IF([test HAVE_PYTHON = false], [
299 ++ AC_MSG_WARN([Building documentation requires Python, but Python not found])
300 ++ enable_doc=no
301 ++ ])
302 ++])
303 ++
304 ++# Check for fonts.
305 ++AC_ARG_ENABLE([fonts],
306 ++AS_HELP_STRING([--disable-fonts], [Disable fonts])
307 ++)
308 ++AS_IF([test "x$enable_fonts" != xno], [
309 ++ AS_IF([test HAVE_PYTHON = false], [
310 ++ AC_MSG_WARN([Building fonts require Python, but Python not found])
311 ++ enable_fonts=no
312 ++ ])
313 ++])
314 ++
315 ++# Check for icons.
316 ++AC_ARG_ENABLE([icons],
317 ++AS_HELP_STRING([--disable-icons], [Disable icons])
318 ++)
319 ++AS_IF([test "x$enable_icons" != xno], [
320 ++ AS_IF([test HAVE_PYTHON = false], [
321 ++ AC_MSG_WARN([Building icons require Python, but Python not found])
322 ++ enable_icons=no
323 ++ ])
324 ++])
325 ++
326 + # Check for libsamplerate.
327 + AC_ARG_WITH([libsamplerate],
328 + AS_HELP_STRING([--without-libsamplerate],
329 +@@ -106,7 +150,10 @@ AS_IF([test "x$enable_werror" = "xyes"], [
330 + ])
331 +
332 + AM_CONDITIONAL(HAVE_WINDRES, test "$WINDRES" != "")
333 +-AM_CONDITIONAL(HAVE_PYTHON, $HAVE_PYTHON)
334 ++AM_CONDITIONAL(HAVE_BASH_COMPLETION, [test "x$enable_bash_completion" != xno])
335 ++AM_CONDITIONAL(HAVE_DOC, [test "x$enable_doc" != xno])
336 ++AM_CONDITIONAL(HAVE_FONTS, [test "x$enable_fonts" != xno])
337 ++AM_CONDITIONAL(HAVE_ICONS, [test "x$enable_icons" != xno])
338 +
339 + dnl Automake v1.8.0 is required, please upgrade!
340 +
341 +diff --git a/man/Makefile.am b/man/Makefile.am
342 +index 915cb206..5a886fc9 100644
343 +--- a/man/Makefile.am
344 ++++ b/man/Makefile.am
345 +@@ -15,7 +15,7 @@ hereticdocsdir = ${docdir}/../${PROGRAM_PREFIX}heretic
346 + hexendocsdir = ${docdir}/../${PROGRAM_PREFIX}hexen
347 + strifedocsdir = ${docdir}/../${PROGRAM_PREFIX}strife
348 +
349 +-if HAVE_PYTHON
350 ++if HAVE_DOC
351 +
352 + GENERATED_MAN_PAGES = \
353 + @PROGRAM_PREFIX@doom.6 \
354 +diff --git a/man/bash-completion/Makefile.am b/man/bash-completion/Makefile.am
355 +index 9c1400f1..a79fe623 100644
356 +--- a/man/bash-completion/Makefile.am
357 ++++ b/man/bash-completion/Makefile.am
358 +@@ -6,7 +6,7 @@ BASH_COMPLETION_TEMPLATES = \
359 + hexen.template \
360 + strife.template
361 +
362 +-if HAVE_PYTHON
363 ++if HAVE_BASH_COMPLETION
364 +
365 + BASH_COMPLETION_SCRIPTLETS = \
366 + @PROGRAM_PREFIX@doom \
367 +diff --git a/src/Makefile.am b/src/Makefile.am
368 +index 19a42598..698d2ce0 100644
369 +--- a/src/Makefile.am
370 ++++ b/src/Makefile.am
371 +@@ -271,7 +271,7 @@ CLEANFILES = $(execgames_SCRIPTS) $(app_DATA) $(screensaver_DATA)
372 + %.o : %.rc
373 + $(WINDRES) $< -o $@
374 +
375 +-if HAVE_PYTHON
376 ++if HAVE_ICONS
377 +
378 + icon.c : $(top_builddir)/data/doom.png
379 + $(top_builddir)/data/convert-icon $(top_builddir)/data/doom.png $@
380 +diff --git a/src/setup/Makefile.am b/src/setup/Makefile.am
381 +index a9dd240c..493b0b47 100644
382 +--- a/src/setup/Makefile.am
383 ++++ b/src/setup/Makefile.am
384 +@@ -33,7 +33,7 @@ CLEANFILES = $(app_DATA)
385 + @PACKAGE_RDNS@××××××.desktop : Setup.desktop
386 + cp Setup.desktop $@
387 +
388 +-if HAVE_PYTHON
389 ++if HAVE_ICONS
390 +
391 + setup_icon.c : $(top_builddir)/data/setup.png
392 + $(top_builddir)/data/convert-icon $(top_builddir)/data/setup.png $@
393 +diff --git a/textscreen/fonts/Makefile.am b/textscreen/fonts/Makefile.am
394 +index 67ae8a21..5f6ad066 100644
395 +--- a/textscreen/fonts/Makefile.am
396 ++++ b/textscreen/fonts/Makefile.am
397 +@@ -3,7 +3,7 @@ EXTRA_DIST = small.png normal.png large.png convert-font $(FONT_HDRS)
398 +
399 + noinst_DATA = $(FONT_HDRS)
400 +
401 +-if HAVE_PYTHON
402 ++if HAVE_FONTS
403 +
404 + small.h: small.png convert-font
405 + ./convert-font small small.png small.h
406 +--
407 +2.26.2
408 +
409
410 diff --git a/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-Remove-redundant-demoextend-definition.patch b/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-Remove-redundant-demoextend-definition.patch
411 new file mode 100644
412 index 00000000000..9c087769a26
413 --- /dev/null
414 +++ b/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-Remove-redundant-demoextend-definition.patch
415 @@ -0,0 +1,28 @@
416 +From a8fd4b1f563d24d4296c3e8225c8404e2724d4c2 Mon Sep 17 00:00:00 2001
417 +From: Jordan Christiansen <xordspar0@×××××.com>
418 +Date: Sun, 15 Mar 2020 16:55:33 -0500
419 +Subject: [PATCH] Remove redundant demoextend definition
420 +
421 +GCC 10 enables -fno-common by default, which causes the linker to fail when
422 +there are multple definitions of a global variable.
423 +
424 +See https://gcc.gnu.org/gcc-10/porting_to.html
425 +---
426 + src/hexen/mn_menu.c | 1 -
427 + 1 file changed, 1 deletion(-)
428 +
429 +diff --git a/src/hexen/mn_menu.c b/src/hexen/mn_menu.c
430 +index 059f45b3..a97b7fcd 100644
431 +--- a/src/hexen/mn_menu.c
432 ++++ b/src/hexen/mn_menu.c
433 +@@ -131,7 +131,6 @@ boolean MenuActive;
434 + int InfoType;
435 + int messageson = true;
436 + boolean mn_SuicideConsole;
437 +-boolean demoextend; // from h2def.h
438 +
439 + // PRIVATE DATA DEFINITIONS ------------------------------------------------
440 +
441 +--
442 +2.28.0
443 +
444
445 diff --git a/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-Update-AppStream-XML-files-to-current-0.11-standards.patch b/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-Update-AppStream-XML-files-to-current-0.11-standards.patch
446 new file mode 100644
447 index 00000000000..7c2bfa48de2
448 --- /dev/null
449 +++ b/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-Update-AppStream-XML-files-to-current-0.11-standards.patch
450 @@ -0,0 +1,106 @@
451 +From 35827930553ca522270bd74df37a378d6b2dea8a Mon Sep 17 00:00:00 2001
452 +From: Mike Swanson <mikeonthecomputer@×××××.com>
453 +Date: Mon, 22 Jan 2018 20:41:16 -0800
454 +Subject: [PATCH] Update AppStream XML files to current (0.11) standards
455 +
456 +<id> tag is changed to a Reverse-DNS form, and an accommodating
457 +PACKAGE_RDNS is set in configure.ac to use it.
458 +
459 +<name> and <summary> tags have been added, using existing autoconf
460 +variable values.
461 +
462 +The `appstream-util validate` command will complain about some
463 +optionally-missing tags and a strict string length limit on some of
464 +the <caption> tags. `validate-relax` passes, and by the letter of the
465 +AppStream specification, we should be completely valid.
466 +---
467 + configure.ac | 2 ++
468 + src/doom.appdata.xml.in | 4 +++-
469 + src/heretic.appdata.xml.in | 4 +++-
470 + src/hexen.appdata.xml.in | 4 +++-
471 + src/strife.appdata.xml.in | 4 +++-
472 + 5 files changed, 14 insertions(+), 4 deletions(-)
473 +
474 +diff --git a/configure.ac b/configure.ac
475 +index 17299714..2190a32b 100644
476 +--- a/configure.ac
477 ++++ b/configure.ac
478 +@@ -7,6 +7,7 @@ PACKAGE_COPYRIGHT="Copyright (C) 1993-2017"
479 + PACKAGE_LICENSE="GNU General Public License, version 2"
480 + PACKAGE_MAINTAINER="Simon Howard"
481 + PACKAGE_URL="https://www.chocolate-doom.org/"
482 ++PACKAGE_RDNS="org.chocolate_doom"
483 + PACKAGE_ISSUES="https://github.com/chocolate-doom/chocolate-doom/issues"
484 +
485 + AC_CONFIG_AUX_DIR(autotools)
486 +@@ -142,6 +143,7 @@ AC_SUBST(PACKAGE_COPYRIGHT)
487 + AC_SUBST(PACKAGE_LICENSE)
488 + AC_SUBST(PACKAGE_MAINTAINER)
489 + AC_SUBST(PACKAGE_URL)
490 ++AC_SUBST(PACKAGE_RDNS)
491 + AC_SUBST(PACKAGE_ISSUES)
492 +
493 + AC_SUBST(bashcompletiondir)
494 +diff --git a/src/doom.appdata.xml.in b/src/doom.appdata.xml.in
495 +index ed499f47..42747251 100644
496 +--- a/src/doom.appdata.xml.in
497 ++++ b/src/doom.appdata.xml.in
498 +@@ -1,7 +1,9 @@
499 + <?xml version="1.0" encoding="UTF-8"?>
500 +
501 + <component type="desktop">
502 +- <id>@PROGRAM_PREFIX@××××.desktop</id>
503 ++ <id>@PACKAGE_RDNS@.Doom</id>
504 ++ <name>@PACKAGE_SHORTNAME@ Doom</name>
505 ++ <summary>@PACKAGE_SHORTDESC@</summary>
506 + <metadata_license>CC0-1.0</metadata_license>
507 + <project_license>GPL-2.0+</project_license>
508 + <developer_name>@PACKAGE_MAINTAINER@</developer_name>
509 +diff --git a/src/heretic.appdata.xml.in b/src/heretic.appdata.xml.in
510 +index 36a1739a..dc8093de 100644
511 +--- a/src/heretic.appdata.xml.in
512 ++++ b/src/heretic.appdata.xml.in
513 +@@ -1,7 +1,9 @@
514 + <?xml version="1.0" encoding="UTF-8"?>
515 +
516 + <component type="desktop">
517 +- <id>@PROGRAM_PREFIX@×××××××.desktop</id>
518 ++ <id>@PACKAGE_RDNS@.Heretic</id>
519 ++ <name>@PACKAGE_SHORTNAME@ Heretic</name>
520 ++ <summary>@PACKAGE_SHORTDESC@</summary>
521 + <metadata_license>CC0-1.0</metadata_license>
522 + <project_license>GPL-2.0+</project_license>
523 + <developer_name>@PACKAGE_MAINTAINER@</developer_name>
524 +diff --git a/src/hexen.appdata.xml.in b/src/hexen.appdata.xml.in
525 +index b5a526f2..7583cca8 100644
526 +--- a/src/hexen.appdata.xml.in
527 ++++ b/src/hexen.appdata.xml.in
528 +@@ -1,7 +1,9 @@
529 + <?xml version="1.0" encoding="UTF-8"?>
530 +
531 + <component type="desktop">
532 +- <id>@PROGRAM_PREFIX@×××××.desktop</id>
533 ++ <id>@PACKAGE_RDNS@.Hexen</id>
534 ++ <name>@PACKAGE_SHORTNAME@ Hexen</name>
535 ++ <summary>@PACKAGE_SHORTDESC@</summary>
536 + <metadata_license>CC0-1.0</metadata_license>
537 + <project_license>GPL-2.0+</project_license>
538 + <developer_name>@PACKAGE_MAINTAINER@</developer_name>
539 +diff --git a/src/strife.appdata.xml.in b/src/strife.appdata.xml.in
540 +index 7be869c3..6db4fad4 100644
541 +--- a/src/strife.appdata.xml.in
542 ++++ b/src/strife.appdata.xml.in
543 +@@ -1,7 +1,9 @@
544 + <?xml version="1.0" encoding="UTF-8"?>
545 +
546 + <component type="desktop">
547 +- <id>@PROGRAM_PREFIX@××××××.desktop</id>
548 ++ <id>@PACKAGE_RDNS@.Strife</id>
549 ++ <name>@PACKAGE_SHORTNAME@ Strife</name>
550 ++ <summary>@PACKAGE_SHORTDESC@</summary>
551 + <metadata_license>CC0-1.0</metadata_license>
552 + <project_license>GPL-2.0+</project_license>
553 + <developer_name>@PACKAGE_MAINTAINER@</developer_name>
554 +--
555 +2.26.2
556 +
557
558 diff --git a/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-Update-documentation-about-usr-share-doom-IWAD-locat.patch b/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-Update-documentation-about-usr-share-doom-IWAD-locat.patch
559 new file mode 100644
560 index 00000000000..90cd352a587
561 --- /dev/null
562 +++ b/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-Update-documentation-about-usr-share-doom-IWAD-locat.patch
563 @@ -0,0 +1,39 @@
564 +From: William Breathitt Gray <vilhelm.gray@×××××.com>
565 +Date: Thu, 25 Jun 2020 11:30:42 -0400
566 +Subject: [PATCH] Update documentation about /usr/share/doom IWAD location
567 +
568 +---
569 + man/INSTALL.template | 2 ++
570 + man/iwad_paths.man | 3 ++-
571 + 2 files changed, 4 insertions(+), 1 deletion(-)
572 +
573 +diff --git a/man/INSTALL.template b/man/INSTALL.template
574 +index f04e98e6..9c9f7601 100644
575 +--- a/man/INSTALL.template
576 ++++ b/man/INSTALL.template
577 +@@ -199,6 +199,8 @@ do one of the following:
578 + * Put the file into one of the following directories:
579 +
580 ++ /usr/share/doom
581 + /usr/share/games/doom
582 ++ /usr/local/share/doom
583 + /usr/local/share/games/doom
584 +
585 + * Set the environment variable DOOMWADDIR to specify the path to a
586 +diff --git a/man/iwad_paths.man b/man/iwad_paths.man
587 +index 98058154..a41aba41 100644
588 +--- a/man/iwad_paths.man
589 ++++ b/man/iwad_paths.man
590 +@@ -35,7 +35,8 @@ Writeable directory in the user's home directory. The path can be overridden
591 + using the \fBXDG_DATA_HOME\fR environment variable (see the XDG Base Directory
592 + Specification).
593 + .TP
594 +-\fB/usr/local/share/games/doom, /usr/share/games/doom\fR
595 ++\fB/usr/local/share/doom, /usr/local/share/games/doom, /usr/share/doom,
596 ++/usr/share/games/doom\fR
597 + System-wide locations that can be accessed by all users. The path
598 + \fB/usr/share/games/doom\fR is a standard path that is supported by most
599 + Doom source ports. These paths can be overridden using the \fBXDG_DATA_DIRS\fR
600 +--
601 +2.26.2
602 +
603
604 diff --git a/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-Update-to-latest-AppStream-formerly-AppData-standard.patch b/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-Update-to-latest-AppStream-formerly-AppData-standard.patch
605 new file mode 100644
606 index 00000000000..39cef73483e
607 --- /dev/null
608 +++ b/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-Update-to-latest-AppStream-formerly-AppData-standard.patch
609 @@ -0,0 +1,119 @@
610 +From: Mike Swanson <mikeonthecomputer@×××××.com>
611 +Date: Sat, 7 Sep 2019 10:43:57 -0700
612 +Subject: [PATCH] Update to latest AppStream (formerly AppData) standards
613 +
614 +Install files into ${prefix}/share/metainfo rather than
615 +${prefix}/share/appdata, name files by reverse-DNS and suffixed
616 +.metainfo.xml.
617 +
618 +"appstream-util validate" still complains about a missing
619 +update_contact tag and issues with the caption tags being either short
620 +or long, but the specification at
621 +https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html
622 +says these are not errors.
623 +---
624 + configure.ac | 8 +++---
625 + ...om.appdata.xml.in => Doom.metainfo.xml.in} | 0
626 + ...appdata.xml.in => Heretic.metainfo.xml.in} | 0
627 + ...n.appdata.xml.in => Hexen.metainfo.xml.in} | 0
628 + src/Makefile.am | 28 +++++++++----------
629 + ....appdata.xml.in => Strife.metainfo.xml.in} | 0
630 + 7 files changed, 19 insertions(+), 19 deletions(-)
631 + rename src/{doom.appdata.xml.in => Doom.metainfo.xml.in} (100%)
632 + rename src/{heretic.appdata.xml.in => Heretic.metainfo.xml.in} (100%)
633 + rename src/{hexen.appdata.xml.in => Hexen.metainfo.xml.in} (100%)
634 + rename src/{strife.appdata.xml.in => Strife.metainfo.xml.in} (100%)
635 +
636 +diff --git a/configure.ac b/configure.ac
637 +index 5ec9dfbf..8a3e1bbc 100644
638 +--- a/configure.ac
639 ++++ b/configure.ac
640 +@@ -167,14 +167,14 @@ pkg/osx/Info.plist
641 + rpm.spec
642 + data/Makefile
643 + src/Makefile
644 +-src/doom.appdata.xml
645 ++src/Doom.metainfo.xml
646 + src/doom.desktop
647 + src/doom-screensaver.desktop
648 + src/doom/Makefile
649 +-src/heretic.appdata.xml
650 ++src/Heretic.metainfo.xml
651 + src/heretic.desktop
652 + src/heretic/Makefile
653 +-src/hexen.appdata.xml
654 ++src/Hexen.metainfo.xml
655 + src/hexen.desktop
656 + src/hexen/Makefile
657 + src/resource.rc
658 +@@ -182,7 +182,7 @@ src/setup-res.rc
659 + src/setup/Makefile
660 + src/setup/setup.desktop
661 + src/setup/setup-manifest.xml
662 +-src/strife.appdata.xml
663 ++src/Strife.metainfo.xml
664 + src/strife.desktop
665 + src/strife/Makefile
666 + textscreen/Makefile
667 +diff --git a/src/doom.appdata.xml.in b/src/Doom.metainfo.xml.in
668 +similarity index 100%
669 +rename from src/doom.appdata.xml.in
670 +rename to src/Doom.metainfo.xml.in
671 +diff --git a/src/heretic.appdata.xml.in b/src/Heretic.metainfo.xml.in
672 +similarity index 100%
673 +rename from src/heretic.appdata.xml.in
674 +rename to src/Heretic.metainfo.xml.in
675 +diff --git a/src/hexen.appdata.xml.in b/src/Hexen.metainfo.xml.in
676 +similarity index 100%
677 +rename from src/hexen.appdata.xml.in
678 +rename to src/Hexen.metainfo.xml.in
679 +diff --git a/src/Makefile.am b/src/Makefile.am
680 +index e54aeead..6880bd3c 100644
681 +--- a/src/Makefile.am
682 ++++ b/src/Makefile.am
683 +@@ -220,24 +220,24 @@ EXTRA_DIST = \
684 + doom-screensaver.desktop.in \
685 + manifest.xml
686 +
687 +-appdatadir = $(prefix)/share/metainfo
688 +-appdata_DATA = \
689 +- @PROGRAM_PREFIX@××××××××××××.xml \
690 +- @PROGRAM_PREFIX@×××××××××××××××.xml \
691 +- @PROGRAM_PREFIX@×××××××××××××.xml \
692 +- @PROGRAM_PREFIX@××××××××××××××.xml
693 ++metainfodir = $(prefix)/share/metainfo
694 ++metainfo_DATA = \
695 ++ @PACKAGE_RDNS@××××××××××××××.xml \
696 ++ @PACKAGE_RDNS@×××××××××××××××××.xml \
697 ++ @PACKAGE_RDNS@×××××××××××××××.xml \
698 ++ @PACKAGE_RDNS@××××××××××××××××.xml
699 +
700 +-@PROGRAM_PREFIX@××××××××××××.xml : doom.appdata.xml
701 +- cp doom.appdata.xml $@
702 ++@PACKAGE_RDNS@××××××××××××××.xml : Doom.metainfo.xml
703 ++ cp Doom.metainfo.xml $@
704 +
705 +-@PROGRAM_PREFIX@×××××××××××××××.xml : heretic.appdata.xml
706 +- cp heretic.appdata.xml $@
707 ++@PACKAGE_RDNS@×××××××××××××××××.xml : Heretic.metainfo.xml
708 ++ cp Heretic.metainfo.xml $@
709 +
710 +-@PROGRAM_PREFIX@×××××××××××××.xml : hexen.appdata.xml
711 +- cp hexen.appdata.xml $@
712 ++@PACKAGE_RDNS@×××××××××××××××.xml : Hexen.metainfo.xml
713 ++ cp Hexen.metainfo.xml $@
714 +
715 +-@PROGRAM_PREFIX@××××××××××××××.xml : strife.appdata.xml
716 +- cp strife.appdata.xml $@
717 ++@PACKAGE_RDNS@××××××××××××××××.xml : Strife.metainfo.xml
718 ++ cp Strife.metainfo.xml $@
719 +
720 + appdir = $(prefix)/share/applications
721 + app_DATA = \
722 +diff --git a/src/strife.appdata.xml.in b/src/Strife.metainfo.xml.in
723 +similarity index 100%
724 +rename from src/strife.appdata.xml.in
725 +rename to src/Strife.metainfo.xml.in
726 +--
727 +2.26.2
728 +
729
730 diff --git a/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-bash-completion-Build-from-actual-shell-script-templ.patch b/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-bash-completion-Build-from-actual-shell-script-templ.patch
731 new file mode 100644
732 index 00000000000..48445cf6efc
733 --- /dev/null
734 +++ b/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-bash-completion-Build-from-actual-shell-script-templ.patch
735 @@ -0,0 +1,53 @@
736 +From da88012088dad9f7a5d53c26aa40aa393cb5b703 Mon Sep 17 00:00:00 2001
737 +From: Mike Swanson <mikeonthecomputer@×××××.com>
738 +Date: Sat, 27 Jan 2018 04:49:08 -0800
739 +Subject: [PATCH] bash-completion: Build from actual shell script templates.
740 +
741 +At some point, the Makefile was inerrantly modified so that it
742 +generated manpage sources instead of shell script, making completions
743 +very screwed up.
744 +---
745 + man/bash-completion/Makefile.am | 11 +++++------
746 + 1 file changed, 5 insertions(+), 6 deletions(-)
747 +
748 +diff --git a/man/bash-completion/Makefile.am b/man/bash-completion/Makefile.am
749 +index 60e7ae9c..bb706fc7 100644
750 +--- a/man/bash-completion/Makefile.am
751 ++++ b/man/bash-completion/Makefile.am
752 +@@ -17,28 +17,27 @@ BASH_COMPLETION_SCRIPTLETS = \
753 + bashcompletion_DATA = $(BASH_COMPLETION_SCRIPTLETS)
754 + CLEANFILES = $(BASH_COMPLETION_SCRIPTLETS)
755 +
756 +-MANDIR = $(top_srcdir)/man
757 +-DOCGEN = $(MANDIR)/docgen
758 ++DOCGEN = $(top_srcdir)/man/docgen
759 + DOCGEN_COMMON_ARGS = -n "@PROGRAM_SPREFIX@" -s "@PACKAGE_NAME@" -z "@PACKAGE_SHORTNAME@"
760 +
761 + @PROGRAM_PREFIX@doom: $(top_srcdir)/src $(DOCGEN) $(BASH_COMPLETION_TEMPLATES)
762 + $(DOCGEN) $(DOCGEN_COMMON_ARGS) \
763 +- -g doom -b $(MANDIR)/doom.template \
764 ++ -g doom -b doom.template \
765 + $(top_srcdir)/src $(top_srcdir)/src/doom > $@
766 +
767 + @PROGRAM_PREFIX@heretic: $(top_srcdir)/src $(DOCGEN) $(BASH_COMPLETION_TEMPLATES)
768 + $(DOCGEN) $(DOCGEN_COMMON_ARGS) \
769 +- -g heretic -b $(MANDIR)/heretic.template \
770 ++ -g heretic -b heretic.template \
771 + $(top_srcdir)/src $(top_srcdir)/src/heretic > $@
772 +
773 + @PROGRAM_PREFIX@hexen: $(top_srcdir)/src $(DOCGEN) $(BASH_COMPLETION_TEMPLATES)
774 + $(DOCGEN) $(DOCGEN_COMMON_ARGS) \
775 +- -g hexen -b $(MANDIR)/hexen.template \
776 ++ -g hexen -b hexen.template \
777 + $(top_srcdir)/src $(top_srcdir)/src/hexen > $@
778 +
779 + @PROGRAM_PREFIX@strife: $(top_srcdir)/src $(DOCGEN) $(BASH_COMPLETION_TEMPLATES)
780 + $(DOCGEN) $(DOCGEN_COMMON_ARGS) \
781 +- -g strife -b $(MANDIR)/strife.template \
782 ++ -g strife -b strife.template \
783 + $(top_srcdir)/src $(top_srcdir)/src/strife > $@
784 +
785 + EXTRA_DIST = \
786 +--
787 +2.26.2
788 +
789
790 diff --git a/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-bash-completion-always-install-into-datadir-bash-com.patch b/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-bash-completion-always-install-into-datadir-bash-com.patch
791 new file mode 100644
792 index 00000000000..3931166599f
793 --- /dev/null
794 +++ b/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-bash-completion-always-install-into-datadir-bash-com.patch
795 @@ -0,0 +1,61 @@
796 +From b9d4c04c840321f5ec70787d8afb1256766aaa01 Mon Sep 17 00:00:00 2001
797 +From: Mike Swanson <mikeonthecomputer@×××××.com>
798 +Date: Tue, 6 Aug 2019 15:40:46 -0700
799 +Subject: [PATCH] bash-completion: always install into $datadir/bash-completion
800 +MIME-Version: 1.0
801 +Content-Type: text/plain; charset=UTF-8
802 +Content-Transfer-Encoding: 8bit
803 +
804 +The bash-completion package by default searches in $HOME/.local and
805 +/usr/local first before /usr, and we should respect local installation
806 +locations instead of always trying to write to a path that is
807 +accessible only to root and could conflict with a package manager.
808 +
809 +This removes a toggle in the configure script, which neither actually
810 +worked properly (setting DIR didn’t work) and I believe did the wrong
811 +thing by default anyway.
812 +---
813 + configure.ac | 9 ---------
814 + man/bash-completion/Makefile.am | 2 +-
815 + 2 files changed, 1 insertion(+), 10 deletions(-)
816 +
817 +diff --git a/configure.ac b/configure.ac
818 +index f12eae68..5ec9dfbf 100644
819 +--- a/configure.ac
820 ++++ b/configure.ac
821 +@@ -87,13 +87,6 @@ AC_CHECK_DECLS([strcasecmp, strncasecmp], [], [], [[#include <strings.h>]])
822 + AC_CHECK_LIB(i386, i386_iopl)
823 + AC_CHECK_LIB(amd64, amd64_iopl)
824 +
825 +-AC_ARG_WITH([bashcompletiondir],
826 +- AS_HELP_STRING([--with-bashcompletiondir=DIR], [Bash completion directory]),
827 +- [],
828 +- [AS_IF([$($PKG_CONFIG --exists bash-completion 2> /dev/null)],
829 +- [bashcompletiondir=$($PKG_CONFIG --variable=completionsdir bash-completion)],
830 +- [bashcompletiondir=${datadir}/bash-completion/completions])])
831 +-
832 + case "$host" in
833 + *-*-mingw* | *-*-cygwin* | *-*-msvc* )
834 + AC_CHECK_TOOL(WINDRES, windres, )
835 +@@ -153,8 +146,6 @@ AC_SUBST(PACKAGE_URL)
836 + AC_SUBST(PACKAGE_RDNS)
837 + AC_SUBST(PACKAGE_ISSUES)
838 +
839 +-AC_SUBST(bashcompletiondir)
840 +-
841 + dnl Shut up the datarootdir warnings.
842 + AC_DEFUN([AC_DATAROOTDIR_CHECKED])
843 +
844 +diff --git a/man/bash-completion/Makefile.am b/man/bash-completion/Makefile.am
845 +index bb706fc7..9c1400f1 100644
846 +--- a/man/bash-completion/Makefile.am
847 ++++ b/man/bash-completion/Makefile.am
848 +@@ -1,4 +1,4 @@
849 +-bashcompletiondir=@bashcompletiondir@
850 ++bashcompletiondir=@datadir@/bash-completion/completions
851 +
852 + BASH_COMPLETION_TEMPLATES = \
853 + doom.template \
854 +--
855 +2.26.2
856 +
857
858 diff --git a/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-bash-completion-run-docgen-with-z-argument.patch b/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-bash-completion-run-docgen-with-z-argument.patch
859 new file mode 100644
860 index 00000000000..d9df5743d76
861 --- /dev/null
862 +++ b/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-bash-completion-run-docgen-with-z-argument.patch
863 @@ -0,0 +1,25 @@
864 +From ccfbd4a046de9590cadb522d1f754c78ee9f8d4e Mon Sep 17 00:00:00 2001
865 +From: Jonathan Dowland <jon@×××.land>
866 +Date: Mon, 15 Jan 2018 19:10:16 +0000
867 +Subject: [PATCH] bash-completion: run docgen with -z argument
868 +
869 +---
870 + man/bash-completion/Makefile.am | 2 +-
871 + 1 file changed, 1 insertion(+), 1 deletion(-)
872 +
873 +diff --git a/man/bash-completion/Makefile.am b/man/bash-completion/Makefile.am
874 +index 801dd212..60e7ae9c 100644
875 +--- a/man/bash-completion/Makefile.am
876 ++++ b/man/bash-completion/Makefile.am
877 +@@ -19,7 +19,7 @@ CLEANFILES = $(BASH_COMPLETION_SCRIPTLETS)
878 +
879 + MANDIR = $(top_srcdir)/man
880 + DOCGEN = $(MANDIR)/docgen
881 +-DOCGEN_COMMON_ARGS = -n "@PROGRAM_SPREFIX@" -s "@PACKAGE_NAME@"
882 ++DOCGEN_COMMON_ARGS = -n "@PROGRAM_SPREFIX@" -s "@PACKAGE_NAME@" -z "@PACKAGE_SHORTNAME@"
883 +
884 + @PROGRAM_PREFIX@doom: $(top_srcdir)/src $(DOCGEN) $(BASH_COMPLETION_TEMPLATES)
885 + $(DOCGEN) $(DOCGEN_COMMON_ARGS) \
886 +--
887 +2.26.2
888 +
889
890 diff --git a/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-configure-add-AM_PROG_AR-macro.patch b/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-configure-add-AM_PROG_AR-macro.patch
891 new file mode 100644
892 index 00000000000..725ddb2dba5
893 --- /dev/null
894 +++ b/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-configure-add-AM_PROG_AR-macro.patch
895 @@ -0,0 +1,28 @@
896 +From 560cdc3e4572cc84d493c5450092b6ce1694bd89 Mon Sep 17 00:00:00 2001
897 +From: Simon Howard <fraggle@××××××××××.org>
898 +Date: Sun, 30 Sep 2018 23:34:52 -0400
899 +Subject: [PATCH] configure: add AM_PROG_AR macro.
900 +
901 +Some platforms (eg. Emscripten) have their own version of the ar tool,
902 +so it is important to pick one that matches the target architecture.
903 +Without this macro we always use the default system-installed version
904 +of ar.
905 +---
906 + configure.ac | 1 +
907 + 1 file changed, 1 insertion(+)
908 +
909 +diff --git a/configure.ac b/configure.ac
910 +index 175d7f3b..6dfced8d 100644
911 +--- a/configure.ac
912 ++++ b/configure.ac
913 +@@ -15,6 +15,7 @@ AC_CANONICAL_HOST
914 +
915 + orig_CFLAGS="$CFLAGS"
916 +
917 ++AM_PROG_AR
918 + AC_PROG_CC
919 + AC_PROG_RANLIB
920 + AC_CHECK_PROG(HAVE_PYTHON, python, true, false)
921 +--
922 +2.26.2
923 +
924
925 diff --git a/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-further-manpage-substitutions-and-fixes.patch b/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-further-manpage-substitutions-and-fixes.patch
926 new file mode 100644
927 index 00000000000..62fc424f42b
928 --- /dev/null
929 +++ b/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-further-manpage-substitutions-and-fixes.patch
930 @@ -0,0 +1,322 @@
931 +From c1f553b92a7a4873b33026463866101e18be8e76 Mon Sep 17 00:00:00 2001
932 +From: Jonathan Dowland <jon@×××.land>
933 +Date: Mon, 27 Nov 2017 22:24:04 +0000
934 +Subject: [PATCH] further manpage substitutions and fixes
935 +
936 +Convert chocolate-setup.6 into a template file and generate outputs
937 +based on @PROGRAM_PREFIX@.
938 +
939 +Add @PACKAGE_SHORTNAME@ to the list of parameters handed to docgen
940 +and make appropriate substitutions in the manpage templates.
941 +---
942 + man/Makefile.am | 15 ++++++++----
943 + man/docgen | 30 ++++++++++++++---------
944 + man/heretic.template | 8 +++---
945 + man/hexen.template | 8 +++---
946 + man/{chocolate-setup.6 => setup.template} | 4 +--
947 + man/strife.template | 14 +++++------
948 + 6 files changed, 45 insertions(+), 34 deletions(-)
949 + rename man/{chocolate-setup.6 => setup.template} (94%)
950 +
951 +diff --git a/man/Makefile.am b/man/Makefile.am
952 +index 5916edf9..f0099c79 100644
953 +--- a/man/Makefile.am
954 ++++ b/man/Makefile.am
955 +@@ -30,6 +30,7 @@ GENERATED_MAN_PAGES = \
956 + @PROGRAM_PREFIX@strife.6 \
957 + strife.cfg.5 \
958 + @PROGRAM_PREFIX@××××××.cfg.5 \
959 ++ @PROGRAM_PREFIX@setup.6 \
960 + @PROGRAM_PREFIX@server.6
961 +
962 + SETUP_MAN_PAGES = \
963 +@@ -38,8 +39,7 @@ SETUP_MAN_PAGES = \
964 + @PROGRAM_PREFIX@hexen-setup.6 \
965 + @PROGRAM_PREFIX@strife-setup.6
966 +
967 +-man_MANS = chocolate-setup.6 \
968 +- $(GENERATED_MAN_PAGES) \
969 ++man_MANS = $(GENERATED_MAN_PAGES) \
970 + $(SETUP_MAN_PAGES)
971 +
972 + doomdocs_DATA = INSTALL.doom CMDLINE.doom
973 +@@ -51,10 +51,10 @@ CLEANFILES = $(GENERATED_MAN_PAGES) $(SETUP_MAN_PAGES) \
974 + $(doomdocs_DATA) $(hereticdocs_DATA) \
975 + $(hexendocs_DATA) $(strifedocs_DATA)
976 + DOCGEN = $(srcdir)/docgen
977 +-DOCGEN_COMMON_ARGS = -n "@PROGRAM_SPREFIX@" -s "@PACKAGE_NAME@"
978 ++DOCGEN_COMMON_ARGS = -n "@PROGRAM_SPREFIX@" -s "@PACKAGE_NAME@" -z "@PACKAGE_SHORTNAME@"
979 +
980 +-$(SETUP_MAN_PAGES): chocolate-setup.6
981 +- cp $(srcdir)/chocolate-setup.6 $@
982 ++$(SETUP_MAN_PAGES): @PROGRAM_PREFIX@setup.6
983 ++ cp $(srcdir)/@PROGRAM_PREFIX@setup.6 $@
984 +
985 + @PROGRAM_PREFIX@doom.6: $(top_srcdir)/src $(MANPAGE_GEN_FILES)
986 + $(DOCGEN) $(DOCGEN_COMMON_ARGS) \
987 +@@ -138,6 +138,11 @@ INSTALL.hexen: INSTALL.template
988 + -g server -m $(srcdir)/server.template \
989 + $(top_srcdir)/src > $@
990 +
991 ++@PROGRAM_PREFIX@setup.6: $(top_srcdir)/src $(MANPAGE_GEN_FILES)
992 ++ $(DOCGEN) $(DOCGEN_COMMON_ARGS) \
993 ++ -g setup -m $(srcdir)/setup.template \
994 ++ $(top_srcdir)/src > $@
995 ++
996 + strife.cfg.5: $(top_srcdir)/src default.cfg.template
997 + $(DOCGEN) $(DOCGEN_COMMON_ARGS) \
998 + -g strife -m $(srcdir)/default.cfg.template \
999 +diff --git a/man/docgen b/man/docgen
1000 +index defb9060..1c8a2471 100755
1001 +--- a/man/docgen
1002 ++++ b/man/docgen
1003 +@@ -430,7 +430,7 @@ def process_files(path):
1004 +
1005 + process_file(path)
1006 +
1007 +-def print_template(template_file, program_prefix, package_name, content):
1008 ++def print_template(template_file, program_prefix, package_name, package_shortname, content):
1009 + f = io.open(template_file, encoding='UTF-8')
1010 +
1011 + try:
1012 +@@ -440,16 +440,18 @@ def print_template(template_file, program_prefix, package_name, content):
1013 + filename = match.group(1)
1014 + filename = os.path.join(os.path.dirname(template_file),
1015 + filename)
1016 +- print_template(filename, program_prefix, package_name, content)
1017 ++ print_template(filename, program_prefix, package_name, package_shortname, content)
1018 + else:
1019 + line = line.replace("@content", content)
1020 + line = line.replace("@PROGRAM_SPREFIX@", program_prefix)
1021 +- line = line.replace("@PACKAGE_SHORTNAME@", package_name)
1022 ++ line = line.replace("@PACKAGE_NAME@", package_name)
1023 ++ if package_shortname:
1024 ++ line = line.replace("@PACKAGE_SHORTNAME@", package_shortname)
1025 + stdout(line.rstrip().encode('UTF-8') + b'\n')
1026 + finally:
1027 + f.close()
1028 +
1029 +-def manpage_output(targets, program_prefix, package_name, template_file):
1030 ++def manpage_output(targets, program_prefix, package_name, package_shortname, template_file):
1031 +
1032 + content = ""
1033 +
1034 +@@ -458,7 +460,7 @@ def manpage_output(targets, program_prefix, package_name, template_file):
1035 +
1036 + content = content.replace("-", "\\-")
1037 +
1038 +- print_template(template_file, program_prefix, package_name, content)
1039 ++ print_template(template_file, program_prefix, package_name, package_shortname, content)
1040 +
1041 + def wiki_output(targets, template):
1042 + read_wikipages()
1043 +@@ -466,30 +468,31 @@ def wiki_output(targets, template):
1044 + for t in targets:
1045 + stdout(t.wiki_output().encode('UTF-8') + b'\n')
1046 +
1047 +-def plaintext_output(targets, program_prefix, package_name, template_file):
1048 ++def plaintext_output(targets, program_prefix, package_name, package_shortname, template_file):
1049 +
1050 + content = ""
1051 +
1052 + for t in targets:
1053 + content += t.plaintext_output() + "\n"
1054 +
1055 +- print_template(template_file, program_prefix, package_name, content)
1056 ++ print_template(template_file, program_prefix, package_name, package_shortname, content)
1057 +
1058 +-def completion_output(targets, program_prefix, package_name, template_file):
1059 ++def completion_output(targets, program_prefix, package_name, package_shortname, template_file):
1060 +
1061 + content = ""
1062 +
1063 + for t in targets:
1064 + content += t.completion_output() + "\n"
1065 +
1066 +- print_template(template_file, program_prefix, package_name, content)
1067 ++ print_template(template_file, program_prefix, package_name, package_shortname, content)
1068 +
1069 + def usage():
1070 +- print("Usage: %s [-V] [-c tag] [-g game] -n name ( -m | -w | -p ) <dir>..." \
1071 ++ print("Usage: %s [-V] [-c tag] [-g game] -n program_name -s package_name [ -z shortname ] ( -m | -w | -p ) <dir>..." \
1072 + % sys.argv[0])
1073 + print(" -c : Provide documentation for the specified configuration file")
1074 + print(" (matches the given tag name in the source file)")
1075 + print(" -s : Package name (for substitution)")
1076 ++ print(" -z : Package short-name (for substitution)")
1077 + print(" -n : Program name (for substitution)")
1078 + print(" -m : Manpage output")
1079 + print(" -w : Wikitext output")
1080 +@@ -501,7 +504,7 @@ def usage():
1081 +
1082 + # Parse command line
1083 +
1084 +-opts, args = getopt.getopt(sys.argv[1:], "n:s:m:wp:b:c:g:V")
1085 ++opts, args = getopt.getopt(sys.argv[1:], "n:s:z:m:wp:b:c:g:V")
1086 +
1087 + output_function = None
1088 + template = None
1089 +@@ -509,12 +512,15 @@ doc_config_file = None
1090 + match_game = None
1091 + program_prefix = None
1092 + package_name = None
1093 ++package_shortname = None
1094 +
1095 + for opt in opts:
1096 + if opt[0] == "-n":
1097 + program_prefix = opt[1]
1098 + if opt[0] == "-s":
1099 + package_name = opt[1]
1100 ++ if opt[0] == "-z":
1101 ++ package_shortname = opt[1]
1102 + if opt[0] == "-m":
1103 + output_function = manpage_output
1104 + template = opt[1]
1105 +@@ -556,5 +562,5 @@ else:
1106 +
1107 + # Generate the output
1108 +
1109 +- output_function(documentation_targets, program_prefix, package_name, template)
1110 ++ output_function(documentation_targets, program_prefix, package_name, package_shortname, template)
1111 +
1112 +diff --git a/man/heretic.template b/man/heretic.template
1113 +index c078c7c6..3fa4ce1d 100644
1114 +--- a/man/heretic.template
1115 ++++ b/man/heretic.template
1116 +@@ -6,7 +6,7 @@
1117 + [\fIOPTIONS\fR]
1118 + .SH DESCRIPTION
1119 + .PP
1120 +-Chocolate Heretic is a port of Raven Software's 1994 game "Heretic" that
1121 ++@PACKAGE_SHORTNAME@ Heretic is a port of Raven Software's 1994 game "Heretic" that
1122 + aims to behave as similar to the original DOS version of Heretic as
1123 + possible.
1124 + .br
1125 +@@ -14,16 +14,16 @@ possible.
1126 + .SH IWAD SEARCH PATHS
1127 + @include iwad_paths.man
1128 + .SH ENVIRONMENT
1129 +-This section describes environment variables that control Chocolate Heretic's
1130 ++This section describes environment variables that control @PACKAGE_SHORTNAME@ Heretic's
1131 + behavior.
1132 + @include environ.man
1133 + .SH FILES
1134 + .TP
1135 + \fB$HOME/.local/share/@PROGRAM_SPREFIX@\-doom/heretic.cfg\fR
1136 +-The main configuration file for Chocolate Heretic. See \fBheretic.cfg\fR(5).
1137 ++The main configuration file for @PACKAGE_SHORTNAME@ Heretic. See \fBheretic.cfg\fR(5).
1138 + .TP
1139 + \fB$HOME/.local/share/@PROGRAM_SPREFIX@\-doom/@PROGRAM_SPREFIX@\-heretic.cfg\fR
1140 +-Extra configuration values that are specific to Chocolate Heretic and not
1141 ++Extra configuration values that are specific to @PACKAGE_SHORTNAME@ Heretic and not
1142 + present in Vanilla Heretic. See \fB@PROGRAM_SPREFIX@\-heretic.cfg\fR(5).
1143 + .SH SEE ALSO
1144 + \fB@PROGRAM_SPREFIX@\-doom\fR(6),
1145 +diff --git a/man/hexen.template b/man/hexen.template
1146 +index 9184a27e..fc953edf 100644
1147 +--- a/man/hexen.template
1148 ++++ b/man/hexen.template
1149 +@@ -6,7 +6,7 @@
1150 + [\fIOPTIONS\fR]
1151 + .SH DESCRIPTION
1152 + .PP
1153 +-Chocolate Hexen is a port of Raven Software's 1995 game "Hexen" that
1154 ++@PACKAGE_SHORTNAME@ Hexen is a port of Raven Software's 1995 game "Hexen" that
1155 + aims to behave as similar to the original DOS version of Hexen as
1156 + possible.
1157 + .br
1158 +@@ -14,16 +14,16 @@ possible.
1159 + .SH IWAD SEARCH PATHS
1160 + @include iwad_paths.man
1161 + .SH ENVIRONMENT
1162 +-This section describes environment variables that control Chocolate Hexen's
1163 ++This section describes environment variables that control @PACKAGE_SHORTNAME@ Hexen's
1164 + behavior.
1165 + @include environ.man
1166 + .SH FILES
1167 + .TP
1168 + \fB$HOME/.local/share/@PROGRAM_SPREFIX@\-doom/hexen.cfg\fR
1169 +-The main configuration file for Chocolate Hexen. See \fBhexen.cfg\fR(5).
1170 ++The main configuration file for @PACKAGE_SHORTNAME@ Hexen. See \fBhexen.cfg\fR(5).
1171 + .TP
1172 + \fB$HOME/.local/share/@PROGRAM_SPREFIX@\-doom/@PROGRAM_SPREFIX@\-hexen.cfg\fR
1173 +-Extra configuration values that are specific to Chocolate Hexen and not
1174 ++Extra configuration values that are specific to @PACKAGE_SHORTNAME@ Hexen and not
1175 + present in Vanilla Hexen. See \fB@PROGRAM_SPREFIX@\-hexen.cfg\fR(5).
1176 + .SH SEE ALSO
1177 + \fB@PROGRAM_SPREFIX@\-doom\fR(6),
1178 +diff --git a/man/chocolate-setup.6 b/man/setup.template
1179 +similarity index 94%
1180 +rename from man/chocolate-setup.6
1181 +rename to man/setup.template
1182 +index 64f65937..2b5a45ea 100644
1183 +--- a/man/chocolate-setup.6
1184 ++++ b/man/setup.template
1185 +@@ -25,9 +25,9 @@ Load configuration from the specified file, instead of default.cfg.
1186 + \fB-extraconfig <file>\fR
1187 + Load extra configuration from the specified file, instead of @PROGRAM_SPREFIX@\-doom.cfg.
1188 + .SH SEE ALSO
1189 +-\fB@CHOCOLATE_SPREFIX@\-doom\fR(6),
1190 ++\fB@PROGRAM_SPREFIX@\-doom\fR(6),
1191 + \fBdefault.cfg\fR(5),
1192 +-\fB@CHOCOLATE_SPREFIX@\-doom.cfg\fR(5)
1193 ++\fB@PROGRAM_SPREFIX@\-doom.cfg\fR(5)
1194 + .SH AUTHOR
1195 + Chocolate Doom is written and maintained by Simon Howard.
1196 + .PP
1197 +diff --git a/man/strife.template b/man/strife.template
1198 +index 9ca7f14e..b82c39d4 100644
1199 +--- a/man/strife.template
1200 ++++ b/man/strife.template
1201 +@@ -6,7 +6,7 @@
1202 + [\fIOPTIONS\fR]
1203 + .SH DESCRIPTION
1204 + .PP
1205 +-Chocolate Strife is an accurate and complete recreation of Rogue
1206 ++@PACKAGE_SHORTNAME@ Strife is an accurate and complete recreation of Rogue
1207 + Entertainment's "Strife: Quest for the Sigil". It was created through
1208 + more than two years of reverse engineering effort with the blessings
1209 + of the original programmers of the game (see the section HISTORY below).
1210 +@@ -16,17 +16,17 @@ of the original programmers of the game (see the section HISTORY below).
1211 + .SH IWAD SEARCH PATHS
1212 + @include iwad_paths.man
1213 + .SH ENVIRONMENT
1214 +-This section describes environment variables that control Chocolate Strife's
1215 ++This section describes environment variables that control @PACKAGE_SHORTNAME@ Strife's
1216 + behavior.
1217 + @include environ.man
1218 +
1219 + .SH FILES
1220 + .TP
1221 + \fB$HOME/.local/share/@PROGRAM_SPREFIX@\-doom/strife.cfg\fR
1222 +-The main configuration file for Chocolate Strife. See \fBstrife.cfg\fR(5).
1223 ++The main configuration file for @PACKAGE_SHORTNAME@ Strife. See \fBstrife.cfg\fR(5).
1224 + .TP
1225 + \fB$HOME/.local/share/@PROGRAM_SPREFIX@\-doom/@PROGRAM_SPREFIX@\-strife.cfg\fR
1226 +-Extra configuration values that are specific to Chocolate Strife and not
1227 ++Extra configuration values that are specific to @PACKAGE_SHORTNAME@ Strife and not
1228 + present in Vanilla Strife. See \fB@PROGRAM_SPREFIX@\-strife.cfg\fR(5).
1229 + .SH SEE ALSO
1230 + \fB@PROGRAM_SPREFIX@\-doom\fR(6),
1231 +@@ -57,15 +57,15 @@ and neither Rogue nor their publisher, Velocity, Inc., exist any longer as
1232 + legal entities, this is effectively legal permission.
1233 +
1234 + .SH BUGS
1235 +-Chocolate Strife is almost, but not entirely perfect, in recreating the
1236 ++@PACKAGE_SHORTNAME@ Strife is almost, but not entirely perfect, in recreating the
1237 + behavior of Vanilla Strife. Help us by reporting any discrepancies you
1238 + might notice between this executable and the vanilla DOS program.
1239 +
1240 + However, do *not* report any glitch that you can replicate in the vanilla EXE
1241 +-as a bug. The point of Chocolate Strife, like Chocolate Doom before it, is to
1242 ++as a bug. The point of @PACKAGE_SHORTNAME Strife, like Chocolate Doom before it, is to
1243 + be as bug-compatible with the original game as possible. Also be aware that
1244 + some glitches are impossible to compatibly recreate, and wherever this is the
1245 +-case, Chocolate Strife has erred on the side of not crashing the program,
1246 ++case, @PACKAGE_SHORTNAME@ Strife has erred on the side of not crashing the program,
1247 + for example by initializing pointers to NULL rather than using them without
1248 + setting a value first.
1249 +
1250 +--
1251 +2.26.2
1252 +
1253
1254 diff --git a/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-install-AppStream-metadata-into-the-proper-location.patch b/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-install-AppStream-metadata-into-the-proper-location.patch
1255 new file mode 100644
1256 index 00000000000..025ccf0ad17
1257 --- /dev/null
1258 +++ b/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-install-AppStream-metadata-into-the-proper-location.patch
1259 @@ -0,0 +1,26 @@
1260 +From 12d69a4ee62094b48b37f550d31113e84cca0043 Mon Sep 17 00:00:00 2001
1261 +From: Fabian Greffrath <fabian@×××××××××.com>
1262 +Date: Mon, 22 Jan 2018 17:24:41 +0100
1263 +Subject: [PATCH] install AppStream metadata into the proper location
1264 +
1265 +AppStream metadata is to be placed in the /usr/share/metainfo/ directory, /usr/share/appdata is a legacy location.
1266 +---
1267 + src/Makefile.am | 2 +-
1268 + 1 file changed, 1 insertion(+), 1 deletion(-)
1269 +
1270 +diff --git a/src/Makefile.am b/src/Makefile.am
1271 +index e3bc7bb1..04474ab3 100644
1272 +--- a/src/Makefile.am
1273 ++++ b/src/Makefile.am
1274 +@@ -212,7 +212,7 @@ EXTRA_DIST = \
1275 + doom-screensaver.desktop.in \
1276 + manifest.xml
1277 +
1278 +-appdatadir = $(prefix)/share/appdata
1279 ++appdatadir = $(prefix)/share/metainfo
1280 + appdata_DATA = \
1281 + @PROGRAM_PREFIX@××××××××××××.xml \
1282 + @PROGRAM_PREFIX@×××××××××××××××.xml \
1283 +--
1284 +2.26.2
1285 +
1286
1287 diff --git a/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-overhaul-manpages-add-parameters.patch b/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-overhaul-manpages-add-parameters.patch
1288 new file mode 100644
1289 index 00000000000..95e01e53e1f
1290 --- /dev/null
1291 +++ b/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-overhaul-manpages-add-parameters.patch
1292 @@ -0,0 +1,695 @@
1293 +From e0b8a7e0a9e0ee8c5983b94b849a8a69a5592464 Mon Sep 17 00:00:00 2001
1294 +From: Jonathan Dowland <jon@×××.land>
1295 +Date: Mon, 27 Nov 2017 21:17:55 +0000
1296 +Subject: [PATCH] overhaul manpages, add parameters
1297 +
1298 +This is in order to better support derivative engines.
1299 +
1300 +Rework the manpages to be parameterized with @PROGRAM_PREFIX@ and
1301 +@PACKAGE_NAME@. Alter the `docgen` generator to substitute those
1302 +parameters. Supply those parameters via the autofoo Makefile.
1303 +
1304 +Adjust the fixed path chocolate-server.6 to be generated from
1305 +server.template, similar to doom.template -> chocolate-doom.6.
1306 +
1307 +Further work is required, not least renaming chocolate-setup.6,
1308 +but several further parameterizations.
1309 +---
1310 + man/Makefile.am | 68 ++++++++++++++-------
1311 + man/bash-completion/Makefile.am | 13 ++--
1312 + man/chocolate-setup.6 | 22 +++----
1313 + man/default.cfg.template | 18 +++---
1314 + man/docgen | 32 ++++++----
1315 + man/doom.template | 30 ++++-----
1316 + man/extra.cfg.template | 24 ++++----
1317 + man/heretic.template | 20 +++---
1318 + man/hexen.template | 20 +++---
1319 + man/{chocolate-server.6 => server.template} | 20 +++---
1320 + man/strife.template | 18 +++---
1321 + 11 files changed, 161 insertions(+), 124 deletions(-)
1322 + rename man/{chocolate-server.6 => server.template} (74%)
1323 +
1324 +diff --git a/man/Makefile.am b/man/Makefile.am
1325 +index cfd2dc66..5916edf9 100644
1326 +--- a/man/Makefile.am
1327 ++++ b/man/Makefile.am
1328 +@@ -29,7 +29,8 @@ GENERATED_MAN_PAGES = \
1329 + @PROGRAM_PREFIX@×××××.cfg.5 \
1330 + @PROGRAM_PREFIX@strife.6 \
1331 + strife.cfg.5 \
1332 +- @PROGRAM_PREFIX@××××××.cfg.5
1333 ++ @PROGRAM_PREFIX@××××××.cfg.5 \
1334 ++ @PROGRAM_PREFIX@server.6
1335 +
1336 + SETUP_MAN_PAGES = \
1337 + @PROGRAM_PREFIX@doom-setup.6 \
1338 +@@ -37,8 +38,7 @@ SETUP_MAN_PAGES = \
1339 + @PROGRAM_PREFIX@hexen-setup.6 \
1340 + @PROGRAM_PREFIX@strife-setup.6
1341 +
1342 +-man_MANS = chocolate-server.6 \
1343 +- chocolate-setup.6 \
1344 ++man_MANS = chocolate-setup.6 \
1345 + $(GENERATED_MAN_PAGES) \
1346 + $(SETUP_MAN_PAGES)
1347 +
1348 +@@ -51,24 +51,29 @@ CLEANFILES = $(GENERATED_MAN_PAGES) $(SETUP_MAN_PAGES) \
1349 + $(doomdocs_DATA) $(hereticdocs_DATA) \
1350 + $(hexendocs_DATA) $(strifedocs_DATA)
1351 + DOCGEN = $(srcdir)/docgen
1352 ++DOCGEN_COMMON_ARGS = -n "@PROGRAM_SPREFIX@" -s "@PACKAGE_NAME@"
1353 +
1354 + $(SETUP_MAN_PAGES): chocolate-setup.6
1355 + cp $(srcdir)/chocolate-setup.6 $@
1356 +
1357 + @PROGRAM_PREFIX@doom.6: $(top_srcdir)/src $(MANPAGE_GEN_FILES)
1358 +- $(DOCGEN) -g doom -m $(srcdir)/doom.template \
1359 ++ $(DOCGEN) $(DOCGEN_COMMON_ARGS) \
1360 ++ -g doom -m $(srcdir)/doom.template \
1361 + $(top_srcdir)/src $(top_srcdir)/src/doom > $@
1362 +
1363 + default.cfg.5: $(top_srcdir)/src $(srcdir)/default.cfg.template
1364 +- $(DOCGEN) -g doom -m $(srcdir)/default.cfg.template \
1365 +- -c default $(top_srcdir)/src/m_config.c > $@
1366 ++ $(DOCGEN) $(DOCGEN_COMMON_ARGS) \
1367 ++ -g doom -m $(srcdir)/default.cfg.template \
1368 ++ -c default $(top_srcdir)/src/m_config.c > $@
1369 +
1370 + @PROGRAM_PREFIX@××××.cfg.5: $(top_srcdir)/src extra.cfg.template
1371 +- $(DOCGEN) -g doom -m $(srcdir)/extra.cfg.template \
1372 +- -c extended $(top_srcdir)/src/m_config.c > $@
1373 ++ $(DOCGEN) $(DOCGEN_COMMON_ARGS) \
1374 ++ -g doom -m $(srcdir)/extra.cfg.template \
1375 ++ -c extended $(top_srcdir)/src/m_config.c > $@
1376 +
1377 + CMDLINE.doom : CMDLINE.template $(top_srcdir)/src $(top_srcdir)/src/doom
1378 +- $(DOCGEN) -p $(srcdir)/CMDLINE.template \
1379 ++ $(DOCGEN) $(DOCGEN_COMMON_ARGS) \
1380 ++ -p $(srcdir)/CMDLINE.template \
1381 + $(top_srcdir)/src/ $(top_srcdir)/src/doom/ > $@
1382 +
1383 + INSTALL.doom: INSTALL.template
1384 +@@ -76,19 +81,23 @@ INSTALL.doom: INSTALL.template
1385 +
1386 +
1387 + @PROGRAM_PREFIX@heretic.6: $(top_srcdir)/src $(MANPAGE_GEN_FILES) heretic.template
1388 +- $(DOCGEN) -g heretic -m $(srcdir)/heretic.template \
1389 ++ $(DOCGEN) $(DOCGEN_COMMON_ARGS) \
1390 ++ -g heretic -m $(srcdir)/heretic.template \
1391 + $(top_srcdir)/src $(top_srcdir)/src/heretic > $@
1392 +
1393 + heretic.cfg.5: $(top_srcdir)/src $(srcdir)/default.cfg.template
1394 +- $(DOCGEN) -g heretic -m $(srcdir)/default.cfg.template \
1395 ++ $(DOCGEN) $(DOCGEN_COMMON_ARGS) \
1396 ++ -g heretic -m $(srcdir)/default.cfg.template \
1397 + -c default $(top_srcdir)/src/m_config.c > $@
1398 +
1399 + @PROGRAM_PREFIX@×××××××.cfg.5: $(top_srcdir)/src extra.cfg.template
1400 +- $(DOCGEN) -g heretic -m $(srcdir)/extra.cfg.template \
1401 ++ $(DOCGEN) $(DOCGEN_COMMON_ARGS) \
1402 ++ -g heretic -m $(srcdir)/extra.cfg.template \
1403 + -c extended $(top_srcdir)/src/m_config.c > $@
1404 +
1405 + CMDLINE.heretic : CMDLINE.template $(top_srcdir)/src $(top_srcdir)/src/heretic
1406 +- $(DOCGEN) -p $(srcdir)/CMDLINE.template \
1407 ++ $(DOCGEN) $(DOCGEN_COMMON_ARGS) \
1408 ++ -p $(srcdir)/CMDLINE.template \
1409 + $(top_srcdir)/src/ $(top_srcdir)/src/heretic/ > $@
1410 +
1411 + INSTALL.heretic: INSTALL.template
1412 +@@ -96,19 +105,23 @@ INSTALL.heretic: INSTALL.template
1413 +
1414 +
1415 + @PROGRAM_PREFIX@hexen.6: $(top_srcdir)/src $(MANPAGE_GEN_FILES)
1416 +- $(DOCGEN) -g hexen -m $(srcdir)/hexen.template \
1417 ++ $(DOCGEN) $(DOCGEN_COMMON_ARGS) \
1418 ++ -g hexen -m $(srcdir)/hexen.template \
1419 + $(top_srcdir)/src $(top_srcdir)/src/hexen > $@
1420 +
1421 + hexen.cfg.5: $(top_srcdir)/src default.cfg.template
1422 +- $(DOCGEN) -g hexen -m $(srcdir)/default.cfg.template \
1423 ++ $(DOCGEN) $(DOCGEN_COMMON_ARGS) \
1424 ++ -g hexen -m $(srcdir)/default.cfg.template \
1425 + -c default $(top_srcdir)/src/m_config.c > $@
1426 +
1427 + @PROGRAM_PREFIX@×××××.cfg.5: $(top_srcdir)/src extra.cfg.template
1428 +- $(DOCGEN) -g hexen -m $(srcdir)/extra.cfg.template \
1429 ++ $(DOCGEN) $(DOCGEN_COMMON_ARGS) \
1430 ++ -g hexen -m $(srcdir)/extra.cfg.template \
1431 + -c extended $(top_srcdir)/src/m_config.c > $@
1432 +
1433 + CMDLINE.hexen : CMDLINE.template $(top_srcdir)/src $(top_srcdir)/src/hexen
1434 +- $(DOCGEN) -p $(srcdir)/CMDLINE.template \
1435 ++ $(DOCGEN) $(DOCGEN_COMMON_ARGS) \
1436 ++ -p $(srcdir)/CMDLINE.template \
1437 + $(top_srcdir)/src/ $(top_srcdir)/src/hexen/ > $@
1438 +
1439 + INSTALL.hexen: INSTALL.template
1440 +@@ -116,19 +129,28 @@ INSTALL.hexen: INSTALL.template
1441 +
1442 +
1443 + @PROGRAM_PREFIX@strife.6: $(top_srcdir)/src $(MANPAGE_GEN_FILES)
1444 +- $(DOCGEN) -g strife -m $(srcdir)/strife.template \
1445 ++ $(DOCGEN) $(DOCGEN_COMMON_ARGS) \
1446 ++ -g strife -m $(srcdir)/strife.template \
1447 + $(top_srcdir)/src $(top_srcdir)/src/strife > $@
1448 +
1449 ++@PROGRAM_PREFIX@server.6: $(top_srcdir)/src $(MANPAGE_GEN_FILES)
1450 ++ $(DOCGEN) $(DOCGEN_COMMON_ARGS) \
1451 ++ -g server -m $(srcdir)/server.template \
1452 ++ $(top_srcdir)/src > $@
1453 ++
1454 + strife.cfg.5: $(top_srcdir)/src default.cfg.template
1455 +- $(DOCGEN) -g strife -m $(srcdir)/default.cfg.template \
1456 +- -c default $(top_srcdir)/src/m_config.c > $@
1457 ++ $(DOCGEN) $(DOCGEN_COMMON_ARGS) \
1458 ++ -g strife -m $(srcdir)/default.cfg.template \
1459 ++ -c default $(top_srcdir)/src/m_config.c > $@
1460 +
1461 + @PROGRAM_PREFIX@××××××.cfg.5: $(top_srcdir)/src extra.cfg.template
1462 +- $(DOCGEN) -g strife -m $(srcdir)/extra.cfg.template \
1463 +- -c extended $(top_srcdir)/src/m_config.c > $@
1464 ++ $(DOCGEN) $(DOCGEN_COMMON_ARGS) \
1465 ++ -g strife -m $(srcdir)/extra.cfg.template \
1466 ++ -c extended $(top_srcdir)/src/m_config.c > $@
1467 +
1468 + CMDLINE.strife : CMDLINE.template $(top_srcdir)/src $(top_srcdir)/src/strife
1469 +- $(DOCGEN) -p $(srcdir)/CMDLINE.template \
1470 ++ $(DOCGEN) $(DOCGEN_COMMON_ARGS) \
1471 ++ -p $(srcdir)/CMDLINE.template \
1472 + $(top_srcdir)/src/ $(top_srcdir)/src/strife/ > $@
1473 +
1474 + INSTALL.strife: INSTALL.template
1475 +diff --git a/man/bash-completion/Makefile.am b/man/bash-completion/Makefile.am
1476 +index 2c036acf..801dd212 100644
1477 +--- a/man/bash-completion/Makefile.am
1478 ++++ b/man/bash-completion/Makefile.am
1479 +@@ -19,21 +19,26 @@ CLEANFILES = $(BASH_COMPLETION_SCRIPTLETS)
1480 +
1481 + MANDIR = $(top_srcdir)/man
1482 + DOCGEN = $(MANDIR)/docgen
1483 ++DOCGEN_COMMON_ARGS = -n "@PROGRAM_SPREFIX@" -s "@PACKAGE_NAME@"
1484 +
1485 + @PROGRAM_PREFIX@doom: $(top_srcdir)/src $(DOCGEN) $(BASH_COMPLETION_TEMPLATES)
1486 +- $(DOCGEN) -g doom -b $(MANDIR)/doom.template \
1487 ++ $(DOCGEN) $(DOCGEN_COMMON_ARGS) \
1488 ++ -g doom -b $(MANDIR)/doom.template \
1489 + $(top_srcdir)/src $(top_srcdir)/src/doom > $@
1490 +
1491 + @PROGRAM_PREFIX@heretic: $(top_srcdir)/src $(DOCGEN) $(BASH_COMPLETION_TEMPLATES)
1492 +- $(DOCGEN) -g heretic -b $(MANDIR)/heretic.template \
1493 ++ $(DOCGEN) $(DOCGEN_COMMON_ARGS) \
1494 ++ -g heretic -b $(MANDIR)/heretic.template \
1495 + $(top_srcdir)/src $(top_srcdir)/src/heretic > $@
1496 +
1497 + @PROGRAM_PREFIX@hexen: $(top_srcdir)/src $(DOCGEN) $(BASH_COMPLETION_TEMPLATES)
1498 +- $(DOCGEN) -g hexen -b $(MANDIR)/hexen.template \
1499 ++ $(DOCGEN) $(DOCGEN_COMMON_ARGS) \
1500 ++ -g hexen -b $(MANDIR)/hexen.template \
1501 + $(top_srcdir)/src $(top_srcdir)/src/hexen > $@
1502 +
1503 + @PROGRAM_PREFIX@strife: $(top_srcdir)/src $(DOCGEN) $(BASH_COMPLETION_TEMPLATES)
1504 +- $(DOCGEN) -g strife -b $(MANDIR)/strife.template \
1505 ++ $(DOCGEN) $(DOCGEN_COMMON_ARGS) \
1506 ++ -g strife -b $(MANDIR)/strife.template \
1507 + $(top_srcdir)/src $(top_srcdir)/src/strife > $@
1508 +
1509 + EXTRA_DIST = \
1510 +diff --git a/man/chocolate-setup.6 b/man/chocolate-setup.6
1511 +index 21c9d5d4..64f65937 100644
1512 +--- a/man/chocolate-setup.6
1513 ++++ b/man/chocolate-setup.6
1514 +@@ -1,20 +1,20 @@
1515 +-.TH chocolate\-setup 6
1516 ++.TH @PROGRAM_SPREFIX@\-setup 6
1517 + .SH NAME
1518 +-chocolate\-setup \- configuration tool for chocolate\-doom
1519 ++@PROGRAM_SPREFIX@\-setup \- configuration tool for @PROGRAM_SPREFIX@\-doom
1520 + .SH SYNOPSIS
1521 +-.B chocolate\-setup
1522 ++.B @PROGRAM_SPREFIX@\-setup
1523 + [OPTIONS]
1524 + .SH DESCRIPTION
1525 + .PP
1526 +-Chocolate Doom is a modern Doom engine designed to behave
1527 ++@PACKAGE_NAME@ is a modern Doom engine designed to behave
1528 + as similar to the original Doom game as is possible.
1529 + .PP
1530 +-.B chocolate\-setup
1531 +-is a tool for configuring Chocolate Doom. It provides a menu\-based
1532 ++.B @PROGRAM_SPREFIX@\-setup
1533 ++is a tool for configuring @PACKAGE_NAME@. It provides a menu\-based
1534 + interface for the display, joystick, keyboard, mouse, sound and
1535 + compatibility settings.
1536 + .PP
1537 +-.B chocolate\-setup
1538 ++.B @PROGRAM_SPREFIX@\-setup
1539 + can also be used to start and join network games.
1540 + .PP
1541 + .SH OPTIONS
1542 +@@ -23,15 +23,15 @@ can also be used to start and join network games.
1543 + Load configuration from the specified file, instead of default.cfg.
1544 + .TP
1545 + \fB-extraconfig <file>\fR
1546 +-Load extra configuration from the specified file, instead of chocolate-doom.cfg.
1547 ++Load extra configuration from the specified file, instead of @PROGRAM_SPREFIX@\-doom.cfg.
1548 + .SH SEE ALSO
1549 +-\fBchocolate-doom\fR(6),
1550 ++\fB@CHOCOLATE_SPREFIX@\-doom\fR(6),
1551 + \fBdefault.cfg\fR(5),
1552 +-\fBchocolate-doom.cfg\fR(5)
1553 ++\fB@CHOCOLATE_SPREFIX@\-doom.cfg\fR(5)
1554 + .SH AUTHOR
1555 + Chocolate Doom is written and maintained by Simon Howard.
1556 + .PP
1557 +-This manual was written by Jon Dowland.
1558 ++This manual was written by Jonathan Dowland.
1559 + .SH COPYRIGHT
1560 + Copyright \(co id Software Inc.
1561 + Copyright \(co 2005-8 Simon Howard.
1562 +diff --git a/man/default.cfg.template b/man/default.cfg.template
1563 +index 5cf6256f..70c0d657 100644
1564 +--- a/man/default.cfg.template
1565 ++++ b/man/default.cfg.template
1566 +@@ -1,21 +1,21 @@
1567 + .TH default.cfg 5
1568 + .SH NAME
1569 +-default.cfg \- Chocolate Doom configuration file
1570 ++default.cfg \- @PACKAGE_NAME@ configuration file
1571 + .SH DESCRIPTION
1572 + .PP
1573 + \fIdefault.cfg\fR
1574 +-is the configuration file for \fBchocolate-doom\fR(6). The configuration
1575 ++is the configuration file for \fB@PROGRAM_SPREFIX@\-doom\fR(6). The configuration
1576 + options stored in the file are the same as those stored in the
1577 + original DOS Vanilla Doom.
1578 +-Extra Chocolate Doom-specific options are stored in a separate
1579 +-configuration file, \fBchocolate-doom.cfg\fR.
1580 ++Extra @PACKAGE_NAME@-specific options are stored in a separate
1581 ++configuration file, \fB@PROGRAM_SPREFIX@\-doom.cfg\fR.
1582 + .PP
1583 + \fIdefault.cfg\fR is normally stored in the user's home directory,
1584 +-as \fI~/.local/share/chocolate-doom/default.cfg\fR. The path can be
1585 ++as \fI~/.local/share/@PROGRAM_SPREFIX@\-doom/default.cfg\fR. The path can be
1586 + overridden using the \fBXDG_DATA_HOME\fR environment variable (see the XDG
1587 + Base Directory Specification).
1588 + .PP
1589 +-The \fBchocolate-setup\fR(6) tool provides a simple to use front-end
1590 ++The \fB@PROGRAM_SPREFIX@\-setup\fR(6) tool provides a simple to use front-end
1591 + for editing \fIdefault.cfg\fR.
1592 + .br
1593 + .SH FILE FORMAT
1594 +@@ -49,7 +49,7 @@ indicating "false" and a non-zero value indicating "true".
1595 + @content
1596 +
1597 + .SH SEE ALSO
1598 +-\fBchocolate-doom\fR(6),
1599 +-\fBchocolate-doom.cfg\fR(5),
1600 +-\fBchocolate-setup\fR(6)
1601 ++\fB@PROGRAM_SPREFIX@\-doom\fR(6),
1602 ++\fB@PROGRAM_SPREFIX@\-doom.cfg\fR(5),
1603 ++\fB@PROGRAM_SPREFIX@\-setup\fR(6)
1604 +
1605 +diff --git a/man/docgen b/man/docgen
1606 +index e477e74e..defb9060 100755
1607 +--- a/man/docgen
1608 ++++ b/man/docgen
1609 +@@ -430,7 +430,7 @@ def process_files(path):
1610 +
1611 + process_file(path)
1612 +
1613 +-def print_template(template_file, content):
1614 ++def print_template(template_file, program_prefix, package_name, content):
1615 + f = io.open(template_file, encoding='UTF-8')
1616 +
1617 + try:
1618 +@@ -440,14 +440,16 @@ def print_template(template_file, content):
1619 + filename = match.group(1)
1620 + filename = os.path.join(os.path.dirname(template_file),
1621 + filename)
1622 +- print_template(filename, content)
1623 ++ print_template(filename, program_prefix, package_name, content)
1624 + else:
1625 + line = line.replace("@content", content)
1626 ++ line = line.replace("@PROGRAM_SPREFIX@", program_prefix)
1627 ++ line = line.replace("@PACKAGE_SHORTNAME@", package_name)
1628 + stdout(line.rstrip().encode('UTF-8') + b'\n')
1629 + finally:
1630 + f.close()
1631 +
1632 +-def manpage_output(targets, template_file):
1633 ++def manpage_output(targets, program_prefix, package_name, template_file):
1634 +
1635 + content = ""
1636 +
1637 +@@ -456,7 +458,7 @@ def manpage_output(targets, template_file):
1638 +
1639 + content = content.replace("-", "\\-")
1640 +
1641 +- print_template(template_file, content)
1642 ++ print_template(template_file, program_prefix, package_name, content)
1643 +
1644 + def wiki_output(targets, template):
1645 + read_wikipages()
1646 +@@ -464,29 +466,31 @@ def wiki_output(targets, template):
1647 + for t in targets:
1648 + stdout(t.wiki_output().encode('UTF-8') + b'\n')
1649 +
1650 +-def plaintext_output(targets, template_file):
1651 ++def plaintext_output(targets, program_prefix, package_name, template_file):
1652 +
1653 + content = ""
1654 +
1655 + for t in targets:
1656 + content += t.plaintext_output() + "\n"
1657 +
1658 +- print_template(template_file, content)
1659 ++ print_template(template_file, program_prefix, package_name, content)
1660 +
1661 +-def completion_output(targets, template_file):
1662 ++def completion_output(targets, program_prefix, package_name, template_file):
1663 +
1664 + content = ""
1665 +
1666 + for t in targets:
1667 + content += t.completion_output() + "\n"
1668 +
1669 +- print_template(template_file, content)
1670 ++ print_template(template_file, program_prefix, package_name, content)
1671 +
1672 + def usage():
1673 +- print("Usage: %s [-V] [-c tag] [-g game] ( -m | -w | -p ) <dir>..." \
1674 ++ print("Usage: %s [-V] [-c tag] [-g game] -n name ( -m | -w | -p ) <dir>..." \
1675 + % sys.argv[0])
1676 + print(" -c : Provide documentation for the specified configuration file")
1677 + print(" (matches the given tag name in the source file)")
1678 ++ print(" -s : Package name (for substitution)")
1679 ++ print(" -n : Program name (for substitution)")
1680 + print(" -m : Manpage output")
1681 + print(" -w : Wikitext output")
1682 + print(" -p : Plaintext output")
1683 +@@ -497,14 +501,20 @@ def usage():
1684 +
1685 + # Parse command line
1686 +
1687 +-opts, args = getopt.getopt(sys.argv[1:], "m:wp:b:c:g:V")
1688 ++opts, args = getopt.getopt(sys.argv[1:], "n:s:m:wp:b:c:g:V")
1689 +
1690 + output_function = None
1691 + template = None
1692 + doc_config_file = None
1693 + match_game = None
1694 ++program_prefix = None
1695 ++package_name = None
1696 +
1697 + for opt in opts:
1698 ++ if opt[0] == "-n":
1699 ++ program_prefix = opt[1]
1700 ++ if opt[0] == "-s":
1701 ++ package_name = opt[1]
1702 + if opt[0] == "-m":
1703 + output_function = manpage_output
1704 + template = opt[1]
1705 +@@ -546,5 +556,5 @@ else:
1706 +
1707 + # Generate the output
1708 +
1709 +- output_function(documentation_targets, template)
1710 ++ output_function(documentation_targets, program_prefix, package_name, template)
1711 +
1712 +diff --git a/man/doom.template b/man/doom.template
1713 +index 845147a8..da8d2141 100644
1714 +--- a/man/doom.template
1715 ++++ b/man/doom.template
1716 +@@ -1,35 +1,35 @@
1717 +-.TH chocolate\-doom 6
1718 ++.TH @PROGRAM_SPREFIX@\-doom 6
1719 + .SH NAME
1720 +-chocolate\-doom \- historically compatible Doom engine
1721 ++@PROGRAM_SPREFIX@\-doom \- historically compatible Doom engine
1722 + .SH SYNOPSIS
1723 +-.B chocolate\-doom
1724 ++.B @PROGRAM_SPREFIX@\-doom
1725 + [\fIOPTIONS\fR]
1726 + .SH DESCRIPTION
1727 + .PP
1728 +-Chocolate Doom is a port of Id Software's 1993 game "Doom" that is designed
1729 ++@PACKAGE_NAME@ is a port of Id Software's 1993 game "Doom" that is designed
1730 + to behave as similar to the original DOS version of Doom as is possible.
1731 + .br
1732 + @content
1733 + .SH IWAD SEARCH PATHS
1734 + @include iwad_paths.man
1735 + .SH ENVIRONMENT
1736 +-This section describes environment variables that control Chocolate Doom's
1737 ++This section describes environment variables that control @PACKAGE_NAME@'s
1738 + behavior.
1739 + @include environ.man
1740 + .SH FILES
1741 + .TP
1742 +-\fB$HOME/.local/share/chocolate-doom/default.cfg\fR
1743 +-The main configuration file for Chocolate Doom. See \fBdefault.cfg\fR(5).
1744 ++\fB$HOME/.local/share/@PROGRAM_SPREFIX@\-doom/default.cfg\fR
1745 ++The main configuration file for @PACKAGE_NAME@. See \fBdefault.cfg\fR(5).
1746 + .TP
1747 +-\fB$HOME/.local/share/chocolate-doom/chocolate-doom.cfg\fR
1748 +-Extra configuration values that are specific to Chocolate Doom and not
1749 +-present in Vanilla Doom. See \fBchocolate-doom.cfg\fR(5).
1750 ++\fB$HOME/.local/share/@PROGRAM_SPREFIX@\-doom/@PROGRAM_SPREFIX@\-doom.cfg\fR
1751 ++Extra configuration values that are specific to @PACKAGE_NAME@ and not
1752 ++present in Vanilla Doom. See \fB@PROGRAM_SPREFIX@\-doom.cfg\fR(5).
1753 + .SH SEE ALSO
1754 +-\fBchocolate-server\fR(6),
1755 +-\fBchocolate-setup\fR(6),
1756 +-\fBchocolate-heretic\fR(6),
1757 +-\fBchocolate-hexen\fR(6),
1758 +-\fBchocolate-strife\fR(6)
1759 ++\fB@PROGRAM_SPREFIX@\-server\fR(6),
1760 ++\fB@PROGRAM_SPREFIX@\-setup\fR(6),
1761 ++\fB@PROGRAM_SPREFIX@\-heretic\fR(6),
1762 ++\fB@PROGRAM_SPREFIX@\-hexen\fR(6),
1763 ++\fB@PROGRAM_SPREFIX@\-strife\fR(6)
1764 + .SH AUTHOR
1765 + Chocolate Doom is written and maintained by Simon Howard. It is based on
1766 + the LinuxDoom source code, released by Id Software.
1767 +diff --git a/man/extra.cfg.template b/man/extra.cfg.template
1768 +index b9317c53..77cc0dd3 100644
1769 +--- a/man/extra.cfg.template
1770 ++++ b/man/extra.cfg.template
1771 +@@ -1,23 +1,23 @@
1772 +-.TH chocolate-doom.cfg 5
1773 ++.TH @PROGRAM_SPREFIX@\-doom.cfg 5
1774 + .SH NAME
1775 +-chocolate-doom.cfg \- Chocolate Doom configuration file
1776 ++@PROGRAM_SPREFIX@\-doom.cfg \- @PACKAGE_NAME@ configuration file
1777 + .SH DESCRIPTION
1778 + .PP
1779 +-\fIchocolate-doom.cfg\fR
1780 +-is a configuration file for \fBchocolate-doom\fR(6). This file acts
1781 ++\fI@PROGRAM_SPREFIX@\-doom.cfg\fR
1782 ++is a configuration file for \fB@PROGRAM_SPREFIX@\-doom\fR(6). This file acts
1783 + as an auxiliary configuration file; the main configuration options
1784 + are stored in \fBdefault.cfg\fR, which contains the same configuration
1785 +-options as Vanilla Doom (for compatibility). \fIchocolate-doom.cfg\fR
1786 +-contains configuration options that are specific to Chocolate Doom
1787 ++options as Vanilla Doom (for compatibility). \fI@PROGRAM_SPREFIX@\-doom.cfg\fR
1788 ++contains configuration options that are specific to @PACKAGE_NAME@
1789 + only.
1790 + .PP
1791 +-\fIchocolate-doom.cfg\fR is normally stored in the user's home directory,
1792 +-as \fI~/.local/share/chocolate-doom/chocolate-doom.cfg\fR. The path can be
1793 ++\fI@PROGRAM_SPREFIX@\-doom.cfg\fR is normally stored in the user's home directory,
1794 ++as \fI~/.local/share/@PROGRAM_SPREFIX@\-doom/@PROGRAM_SPREFIX@\-doom.cfg\fR. The path can be
1795 + overridden using the \fBXDG_DATA_HOME\fR environment variable (see the XDG
1796 + Base Directory Specification).
1797 + .PP
1798 +-The \fBchocolate-setup\fR(6) tool provides a simple to use front-end
1799 +-for editing \fIchocolate-doom.cfg\fR.
1800 ++The \fB@PROGRAM_SPREFIX@\-setup\fR(6) tool provides a simple to use front-end
1801 ++for editing \fI@PROGRAM_SPREFIX@\-doom.cfg\fR.
1802 + .SH FILE FORMAT
1803 + .PP
1804 + The file format is the same as that used for \fBdefault.cfg\fR(5).
1805 +@@ -26,7 +26,7 @@ The file format is the same as that used for \fBdefault.cfg\fR(5).
1806 + @content
1807 +
1808 + .SH SEE ALSO
1809 +-\fBchocolate-doom\fR(6),
1810 ++\fB@PROGRAM_SPREFIX@\-doom\fR(6),
1811 + \fBdefault.cfg\fR(5),
1812 +-\fBchocolate-setup\fR(6)
1813 ++\fB@PROGRAM_SPREFIX@\-setup\fR(6)
1814 +
1815 +diff --git a/man/heretic.template b/man/heretic.template
1816 +index 944d4a83..c078c7c6 100644
1817 +--- a/man/heretic.template
1818 ++++ b/man/heretic.template
1819 +@@ -1,8 +1,8 @@
1820 +-.TH chocolate\-heretic 6
1821 ++.TH @PROGRAM_SPREFIX@\-heretic 6
1822 + .SH NAME
1823 +-chocolate\-heretic \- historically compatible Heretic engine
1824 ++@PROGRAM_SPREFIX@\-heretic \- historically compatible Heretic engine
1825 + .SH SYNOPSIS
1826 +-.B chocolate\-heretic
1827 ++.B @PROGRAM_SPREFIX@\-heretic
1828 + [\fIOPTIONS\fR]
1829 + .SH DESCRIPTION
1830 + .PP
1831 +@@ -19,17 +19,17 @@ behavior.
1832 + @include environ.man
1833 + .SH FILES
1834 + .TP
1835 +-\fB$HOME/.local/share/chocolate-doom/heretic.cfg\fR
1836 ++\fB$HOME/.local/share/@PROGRAM_SPREFIX@\-doom/heretic.cfg\fR
1837 + The main configuration file for Chocolate Heretic. See \fBheretic.cfg\fR(5).
1838 + .TP
1839 +-\fB$HOME/.local/share/chocolate-doom/chocolate-heretic.cfg\fR
1840 ++\fB$HOME/.local/share/@PROGRAM_SPREFIX@\-doom/@PROGRAM_SPREFIX@\-heretic.cfg\fR
1841 + Extra configuration values that are specific to Chocolate Heretic and not
1842 +-present in Vanilla Heretic. See \fBchocolate-heretic.cfg\fR(5).
1843 ++present in Vanilla Heretic. See \fB@PROGRAM_SPREFIX@\-heretic.cfg\fR(5).
1844 + .SH SEE ALSO
1845 +-\fBchocolate-doom\fR(6),
1846 +-\fBchocolate-hexen\fR(6),
1847 +-\fBchocolate-server\fR(6),
1848 +-\fBchocolate-setup\fR(6)
1849 ++\fB@PROGRAM_SPREFIX@\-doom\fR(6),
1850 ++\fB@PROGRAM_SPREFIX@\-hexen\fR(6),
1851 ++\fB@PROGRAM_SPREFIX@\-server\fR(6),
1852 ++\fB@PROGRAM_SPREFIX@\-setup\fR(6)
1853 + .SH AUTHOR
1854 + Chocolate Heretic is part of the Chocolate Doom project, written and
1855 + maintained by Simon Howard. It is based on the Heretic source code,
1856 +diff --git a/man/hexen.template b/man/hexen.template
1857 +index 7772b1d4..9184a27e 100644
1858 +--- a/man/hexen.template
1859 ++++ b/man/hexen.template
1860 +@@ -1,8 +1,8 @@
1861 +-.TH chocolate\-hexen 6
1862 ++.TH @PROGRAM_SPREFIX@\-hexen 6
1863 + .SH NAME
1864 +-chocolate\-hexen \- historically compatible Hexen engine
1865 ++@PROGRAM_SPREFIX@\-hexen \- historically compatible Hexen engine
1866 + .SH SYNOPSIS
1867 +-.B chocolate\-hexen
1868 ++.B @PROGRAM_SPREFIX@\-hexen
1869 + [\fIOPTIONS\fR]
1870 + .SH DESCRIPTION
1871 + .PP
1872 +@@ -19,17 +19,17 @@ behavior.
1873 + @include environ.man
1874 + .SH FILES
1875 + .TP
1876 +-\fB$HOME/.local/share/chocolate-doom/hexen.cfg\fR
1877 ++\fB$HOME/.local/share/@PROGRAM_SPREFIX@\-doom/hexen.cfg\fR
1878 + The main configuration file for Chocolate Hexen. See \fBhexen.cfg\fR(5).
1879 + .TP
1880 +-\fB$HOME/.local/share/chocolate-doom/chocolate-hexen.cfg\fR
1881 ++\fB$HOME/.local/share/@PROGRAM_SPREFIX@\-doom/@PROGRAM_SPREFIX@\-hexen.cfg\fR
1882 + Extra configuration values that are specific to Chocolate Hexen and not
1883 +-present in Vanilla Hexen. See \fBchocolate-hexen.cfg\fR(5).
1884 ++present in Vanilla Hexen. See \fB@PROGRAM_SPREFIX@\-hexen.cfg\fR(5).
1885 + .SH SEE ALSO
1886 +-\fBchocolate-doom\fR(6),
1887 +-\fBchocolate-heretic\fR(6),
1888 +-\fBchocolate-server\fR(6),
1889 +-\fBchocolate-setup\fR(6)
1890 ++\fB@PROGRAM_SPREFIX@\-doom\fR(6),
1891 ++\fB@PROGRAM_SPREFIX@\-heretic\fR(6),
1892 ++\fB@PROGRAM_SPREFIX@\-server\fR(6),
1893 ++\fB@PROGRAM_SPREFIX@\-setup\fR(6)
1894 + .SH AUTHOR
1895 + Chocolate Hexen is part of the Chocolate Doom project, written and
1896 + maintained by Simon Howard. It is based on the Hexen source code,
1897 +diff --git a/man/chocolate-server.6 b/man/server.template
1898 +similarity index 74%
1899 +rename from man/chocolate-server.6
1900 +rename to man/server.template
1901 +index 74dc6f42..643779f6 100644
1902 +--- a/man/chocolate-server.6
1903 ++++ b/man/server.template
1904 +@@ -1,18 +1,18 @@
1905 +-.TH chocolate\-server 6
1906 ++.TH @PROGRAM_SPREFIX@\-server 6
1907 + .SH NAME
1908 +-chocolate\-server \- dedicated server for chocolate\-doom
1909 ++@PROGRAM_SPREFIX@\-server \- dedicated server for @PROGRAM_SPREFIX@\-doom
1910 + .SH SYNOPSIS
1911 +-.B chocolate\-server
1912 ++.B @PROGRAM_SPREFIX@\-server
1913 + [OPTIONS]
1914 + .SH DESCRIPTION
1915 + .PP
1916 +-Chocolate Doom is a modern doom engine designed to behave
1917 ++@PACKAGE_SHORTNAME@ is a modern doom engine designed to behave
1918 + as similar to the original doom game as is possible.
1919 + .PP
1920 +-.B chocolate\-server
1921 +-is a dedicated server for Chocolate Doom. It is equivalent to
1922 ++.B @PROGRAM_SPREFIX@\-server
1923 ++is a dedicated server for @PACKAGE_SHORTNAME@. It is equivalent to
1924 + running
1925 +-.B chocolate\-doom
1926 ++.B @PROGRAM_SPREFIX@\-doom
1927 + with the "\-dedicated" option.
1928 + .PP
1929 + Game options are not specified to the server, which merely acts to
1930 +@@ -36,12 +36,12 @@ Don't register with the global master server.
1931 + \fB-servername <name>\fR
1932 + Specify a name for the server.
1933 + .SH SEE ALSO
1934 +-\fBchocolate-doom\fR(6),
1935 +-\fBchocolate-setup\fR(6)
1936 ++\fB@PROGRAM_SPREFIX@-doom\fR(6),
1937 ++\fB@PROGRAM_SPREFIX@-setup\fR(6)
1938 + .SH AUTHOR
1939 + Chocolate Doom is written and maintained by Simon Howard.
1940 + .PP
1941 +-This manual was written by Jon Dowland.
1942 ++This manual was written by Jonathan Dowland.
1943 + .SH COPYRIGHT
1944 + Copyright \(co id Software Inc.
1945 + Copyright \(co 2005-8 Simon Howard.
1946 +diff --git a/man/strife.template b/man/strife.template
1947 +index d616c17b..9ca7f14e 100644
1948 +--- a/man/strife.template
1949 ++++ b/man/strife.template
1950 +@@ -1,8 +1,8 @@
1951 +-.TH chocolate\-strife 6
1952 ++.TH @PROGRAM_SPREFIX@\-strife 6
1953 + .SH NAME
1954 +-chocolate\-strife \- historically compatible strife engine
1955 ++@PROGRAM_SPREFIX@\-strife \- historically compatible Strife engine
1956 + .SH SYNOPSIS
1957 +-.B chocolate\-strife
1958 ++.B @PROGRAM_SPREFIX@\-strife
1959 + [\fIOPTIONS\fR]
1960 + .SH DESCRIPTION
1961 + .PP
1962 +@@ -22,16 +22,16 @@ behavior.
1963 +
1964 + .SH FILES
1965 + .TP
1966 +-\fB$HOME/.local/share/chocolate-doom/strife.cfg\fR
1967 ++\fB$HOME/.local/share/@PROGRAM_SPREFIX@\-doom/strife.cfg\fR
1968 + The main configuration file for Chocolate Strife. See \fBstrife.cfg\fR(5).
1969 + .TP
1970 +-\fB$HOME/.local/share/chocolate-doom/chocolate-strife.cfg\fR
1971 ++\fB$HOME/.local/share/@PROGRAM_SPREFIX@\-doom/@PROGRAM_SPREFIX@\-strife.cfg\fR
1972 + Extra configuration values that are specific to Chocolate Strife and not
1973 +-present in Vanilla Strife. See \fBchocolate-strife.cfg\fR(5).
1974 ++present in Vanilla Strife. See \fB@PROGRAM_SPREFIX@\-strife.cfg\fR(5).
1975 + .SH SEE ALSO
1976 +-\fBchocolate-doom\fR(6),
1977 +-\fBchocolate-server\fR(6),
1978 +-\fBchocolate-setup\fR(6)
1979 ++\fB@PROGRAM_SPREFIX@\-doom\fR(6),
1980 ++\fB@PROGRAM_SPREFIX@\-server\fR(6),
1981 ++\fB@PROGRAM_SPREFIX@\-setup\fR(6)
1982 +
1983 + .SH HISTORY
1984 + The source code for Strife was lost, which means, unlike the code for all the
1985 +--
1986 +2.26.2
1987 +
1988
1989 diff --git a/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-use-reverse-DNS-naming-for-installing-.desktop-files.patch b/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-use-reverse-DNS-naming-for-installing-.desktop-files.patch
1990 new file mode 100644
1991 index 00000000000..ceed45834ff
1992 --- /dev/null
1993 +++ b/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-use-reverse-DNS-naming-for-installing-.desktop-files.patch
1994 @@ -0,0 +1,162 @@
1995 +From bc50bd123e2b43ff404599b2a017a98261a66e47 Mon Sep 17 00:00:00 2001
1996 +From: Mike Swanson <mikeonthecomputer@×××××.com>
1997 +Date: Sat, 7 Sep 2019 10:57:50 -0700
1998 +Subject: [PATCH] use reverse-DNS naming for installing *.desktop files
1999 +
2000 +This is similar to and consistent with the previous commit, and the
2001 +desktop entry specification recommends doing this as well.
2002 +---
2003 + configure.ac | 12 +++----
2004 + src/{doom.desktop.in => Doom.desktop.in} | 0
2005 + ...desktop.in => Doom_Screensaver.desktop.in} | 0
2006 + ...{heretic.desktop.in => Heretic.desktop.in} | 0
2007 + src/{hexen.desktop.in => Hexen.desktop.in} | 0
2008 + src/Makefile.am | 32 +++++++++----------
2009 + src/{strife.desktop.in => Strife.desktop.in} | 0
2010 + src/setup/Makefile.am | 6 ++--
2011 + .../{setup.desktop.in => Setup.desktop.in} | 0
2012 + 9 files changed, 25 insertions(+), 25 deletions(-)
2013 + rename src/{doom.desktop.in => Doom.desktop.in} (100%)
2014 + rename src/{doom-screensaver.desktop.in => Doom_Screensaver.desktop.in} (100%)
2015 + rename src/{heretic.desktop.in => Heretic.desktop.in} (100%)
2016 + rename src/{hexen.desktop.in => Hexen.desktop.in} (100%)
2017 + rename src/{strife.desktop.in => Strife.desktop.in} (100%)
2018 + rename src/setup/{setup.desktop.in => Setup.desktop.in} (100%)
2019 +
2020 +diff --git a/configure.ac b/configure.ac
2021 +index 8a3e1bbc..032a8be2 100644
2022 +--- a/configure.ac
2023 ++++ b/configure.ac
2024 +@@ -168,22 +168,22 @@ rpm.spec
2025 + data/Makefile
2026 + src/Makefile
2027 + src/Doom.metainfo.xml
2028 +-src/doom.desktop
2029 +-src/doom-screensaver.desktop
2030 ++src/Doom.desktop
2031 ++src/Doom_Screensaver.desktop
2032 + src/doom/Makefile
2033 + src/Heretic.metainfo.xml
2034 +-src/heretic.desktop
2035 ++src/Heretic.desktop
2036 + src/heretic/Makefile
2037 + src/Hexen.metainfo.xml
2038 +-src/hexen.desktop
2039 ++src/Hexen.desktop
2040 + src/hexen/Makefile
2041 + src/resource.rc
2042 + src/setup-res.rc
2043 + src/setup/Makefile
2044 +-src/setup/setup.desktop
2045 ++src/setup/Setup.desktop
2046 + src/setup/setup-manifest.xml
2047 + src/Strife.metainfo.xml
2048 +-src/strife.desktop
2049 ++src/Strife.desktop
2050 + src/strife/Makefile
2051 + textscreen/Makefile
2052 + textscreen/examples/Makefile
2053 +diff --git a/src/doom.desktop.in b/src/Doom.desktop.in
2054 +similarity index 100%
2055 +rename from src/doom.desktop.in
2056 +rename to src/Doom.desktop.in
2057 +diff --git a/src/doom-screensaver.desktop.in b/src/Doom_Screensaver.desktop.in
2058 +similarity index 100%
2059 +rename from src/doom-screensaver.desktop.in
2060 +rename to src/Doom_Screensaver.desktop.in
2061 +diff --git a/src/heretic.desktop.in b/src/Heretic.desktop.in
2062 +similarity index 100%
2063 +rename from src/heretic.desktop.in
2064 +rename to src/Heretic.desktop.in
2065 +diff --git a/src/hexen.desktop.in b/src/Hexen.desktop.in
2066 +similarity index 100%
2067 +rename from src/hexen.desktop.in
2068 +rename to src/Hexen.desktop.in
2069 +diff --git a/src/Makefile.am b/src/Makefile.am
2070 +index 6880bd3c..19a42598 100644
2071 +--- a/src/Makefile.am
2072 ++++ b/src/Makefile.am
2073 +@@ -217,7 +217,7 @@ endif
2074 + EXTRA_DIST = \
2075 + CMakeLists.txt \
2076 + icon.c \
2077 +- doom-screensaver.desktop.in \
2078 ++ Doom_Screensaver.desktop.in \
2079 + manifest.xml
2080 +
2081 + metainfodir = $(prefix)/share/metainfo
2082 +@@ -241,28 +241,28 @@ metainfo_DATA = \
2083 +
2084 + appdir = $(prefix)/share/applications
2085 + app_DATA = \
2086 +- @PROGRAM_PREFIX@××××.desktop \
2087 +- @PROGRAM_PREFIX@×××××××.desktop \
2088 +- @PROGRAM_PREFIX@×××××.desktop \
2089 +- @PROGRAM_PREFIX@××××××.desktop
2090 ++ @PACKAGE_RDNS@×××××.desktop \
2091 ++ @PACKAGE_RDNS@××××××××.desktop \
2092 ++ @PACKAGE_RDNS@××××××.desktop \
2093 ++ @PACKAGE_RDNS@×××××××.desktop
2094 +
2095 +-@PROGRAM_PREFIX@××××.desktop : doom.desktop
2096 +- cp doom.desktop $@
2097 ++@PACKAGE_RDNS@×××××.desktop : Doom.desktop
2098 ++ cp Doom.desktop $@
2099 +
2100 +-@PROGRAM_PREFIX@×××××××.desktop : heretic.desktop
2101 +- cp heretic.desktop $@
2102 ++@PACKAGE_RDNS@××××××××.desktop : Heretic.desktop
2103 ++ cp Heretic.desktop $@
2104 +
2105 +-@PROGRAM_PREFIX@×××××.desktop : hexen.desktop
2106 +- cp hexen.desktop $@
2107 ++@PACKAGE_RDNS@××××××.desktop : Hexen.desktop
2108 ++ cp Hexen.desktop $@
2109 +
2110 +-@PROGRAM_PREFIX@××××××.desktop : strife.desktop
2111 +- cp strife.desktop $@
2112 ++@PACKAGE_RDNS@×××××××.desktop : Strife.desktop
2113 ++ cp Strife.desktop $@
2114 +
2115 + screensaverdir = $(prefix)/share/applications/screensavers
2116 +-screensaver_DATA = @PROGRAM_PREFIX@××××××××××××××××.desktop
2117 ++screensaver_DATA = @PACKAGE_RDNS@.Doom_Screensaver.desktop
2118 +
2119 +-@PROGRAM_PREFIX@××××××××××××××××.desktop: doom-screensaver.desktop
2120 +- cp doom-screensaver.desktop $@
2121 ++@PACKAGE_RDNS@.Doom_Screensaver.desktop: Doom_Screensaver.desktop
2122 ++ cp Doom_Screensaver.desktop $@
2123 +
2124 + CLEANFILES = $(execgames_SCRIPTS) $(app_DATA) $(screensaver_DATA)
2125 +
2126 +diff --git a/src/strife.desktop.in b/src/Strife.desktop.in
2127 +similarity index 100%
2128 +rename from src/strife.desktop.in
2129 +rename to src/Strife.desktop.in
2130 +diff --git a/src/setup/Makefile.am b/src/setup/Makefile.am
2131 +index 76db29cf..a9dd240c 100644
2132 +--- a/src/setup/Makefile.am
2133 ++++ b/src/setup/Makefile.am
2134 +@@ -26,12 +26,12 @@ EXTRA_DIST= \
2135 + setup_icon.c
2136 +
2137 + appdir = $(prefix)/share/applications
2138 +-app_DATA = @PROGRAM_PREFIX@×××××.desktop
2139 ++app_DATA = @PACKAGE_RDNS@××××××.desktop
2140 +
2141 + CLEANFILES = $(app_DATA)
2142 +
2143 +-@PROGRAM_PREFIX@×××××.desktop : setup.desktop
2144 +- cp setup.desktop $@
2145 ++@PACKAGE_RDNS@××××××.desktop : Setup.desktop
2146 ++ cp Setup.desktop $@
2147 +
2148 + if HAVE_PYTHON
2149 +
2150 +diff --git a/src/setup/setup.desktop.in b/src/setup/Setup.desktop.in
2151 +similarity index 100%
2152 +rename from src/setup/setup.desktop.in
2153 +rename to src/setup/Setup.desktop.in
2154 +--
2155 +2.26.2
2156 +
2157
2158 diff --git a/games-fps/chocolate-doom/metadata.xml b/games-fps/chocolate-doom/metadata.xml
2159 new file mode 100644
2160 index 00000000000..2b0187cf2a6
2161 --- /dev/null
2162 +++ b/games-fps/chocolate-doom/metadata.xml
2163 @@ -0,0 +1,27 @@
2164 +<?xml version="1.0" encoding="UTF-8"?>
2165 +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
2166 +<pkgmetadata>
2167 + <longdescription lang="en">
2168 + Chocolate Doom aims to accurately reproduce the original DOS version of Doom and other games based on the Doom engine in a form that can be run on modern computers.
2169 + </longdescription>
2170 + <maintainer type="person">
2171 + <email>vilhelm.gray@×××××.com</email>
2172 + <name>William Breathitt Gray</name>
2173 + </maintainer>
2174 + <maintainer type="project">
2175 + <email>proxy-maint@g.o</email>
2176 + <name>Proxy Maintainers</name>
2177 + </maintainer>
2178 + <maintainer type="project">
2179 + <email>games@g.o</email>
2180 + <name>Gentoo Games Project</name>
2181 + </maintainer>
2182 + <use>
2183 + <flag name="midi">basic support for MIDI files</flag>
2184 + </use>
2185 + <upstream>
2186 + <bugs-to>https://github.com/chocolate-doom/chocolate-doom/issues</bugs-to>
2187 + <doc lang="en">https://www.chocolate-doom.org</doc>
2188 + <remote-id type="github">chocolate-doom/chocolate-doom</remote-id>
2189 + </upstream>
2190 +</pkgmetadata>