pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

doomlegacy: Add man page



Module Name:	pkgsrc-wip
Committed By:	Michael Baeuerle <michael.baeuerle%stz-e.de@localhost>
Pushed By:	micha
Date:		Mon Jun 17 10:54:13 2019 +0200
Changeset:	31e17155b71ce9d54a8929f2113b69531ca73e13

Modified Files:
	doomlegacy/Makefile
	doomlegacy/PLIST
	doomlegacy/TODO
	doomlegacy/distinfo
Added Files:
	doomlegacy/files/doomlegacy.in1
	doomlegacy/patches/patch-src_am__map.c
Removed Files:
	doomlegacy/README

Log Message:
doomlegacy: Add man page

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=31e17155b71ce9d54a8929f2113b69531ca73e13

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 doomlegacy/Makefile                    |  24 ++-
 doomlegacy/PLIST                       |   1 +
 doomlegacy/README                      |  15 --
 doomlegacy/TODO                        |  14 +-
 doomlegacy/distinfo                    |   1 +
 doomlegacy/files/doomlegacy.in1        | 267 +++++++++++++++++++++++++++++++++
 doomlegacy/patches/patch-src_am__map.c |  17 +++
 7 files changed, 315 insertions(+), 24 deletions(-)

diffs:
diff --git a/doomlegacy/Makefile b/doomlegacy/Makefile
index 599364e69d..08d9d0fb1c 100644
--- a/doomlegacy/Makefile
+++ b/doomlegacy/Makefile
@@ -18,6 +18,8 @@ LICENSE=		gnu-gpl-v2
 ONLY_FOR_PLATFORM=	Darwin-*-* DragonFly-*-* FreeBSD-*-* Linux-*-* \
 			NetBSD-*-* OpenBSD-*-* SunOS-*-*
 
+USE_LANGUAGES+=		c99
+
 USE_TOOLS+=		gmake
 MAKE_JOBS_SAFE=		no
 
@@ -40,17 +42,16 @@ MAKE_FLAGS+=		HAVE_MIXER=1
 # Some compilers define this themselves (but maybe not all)
 CFLAGS+=		-D__BIG_ENDIAN__
 .endif
-CFLAGS+=		-Wno-char-subscripts -Wno-unused-result
 
 # DOOMWADDIR is intentionally shared with other Doom packages
 DOOMWADDIR=		share/doom
-INSTALLATION_DIRS=	bin share/doc/doomlegacy ${DOOMWADDIR}
+INSTALLATION_DIRS=	bin ${PKGMANDIR}/man1 share/doc/doomlegacy ${DOOMWADDIR}
 
 MESSAGE_SRC+=		MESSAGE.doomlegacy
 MESSAGE_SUBST+=		PKGNAME=${PKGNAME:C/-.*//}
 MESSAGE_SUBST+=		DOOMWADDIR_CONF="${PREFIX}/${DOOMWADDIR}"
 
-# Configure LEGACYWADDIR and DOOMWADDIR
+# Configure defaults for LEGACYWADDIR and DOOMWADDIR
 SUBST_CLASSES+=		doomdef
 SUBST_STAGE.doomdef=	do-configure
 SUBST_MESSAGE.doomdef=	Preparing doomdef.h file ...
@@ -58,6 +59,17 @@ SUBST_FILES.doomdef=	src/doomdef.h
 SUBST_SED.doomdef=	-e 's,LEGACYWADDIR  "/usr/local/share/games/doomlegacy",LEGACYWADDIR  "${PREFIX}/${DOOMWADDIR}",g'
 SUBST_SED.doomdef+=	-e 's,DEFWADS01  "~/games/doomlegacy/wads",DEFWADS01  "${PREFIX}/${DOOMWADDIR}",'
 
+pre-configure:
+	${CP} ${FILESDIR}/doomlegacy.in1 ${WRKDIR}
+
+# Process manpage template
+do-configure:
+	cd ${WRKDIR} &&							\
+		${SED} -e 's,$$NAME,doomlegacy,g'			\
+			-e 's,$$VERSION,${VERS},g'			\
+			-e 's,$$WADDIR,${PREFIX}/${DOOMWADDIR},g'	\
+			doomlegacy.in1 >doomlegacy.1
+
 do-install:
 	cd ${WRKSRC} &&							\
 		${INSTALL_PROGRAM} bin/doomlegacy			\
@@ -66,9 +78,13 @@ do-install:
 			${DESTDIR}${PREFIX}/share/doc/doomlegacy;	\
 	cd ${WRKDIR}/doomlegacy_${VERS} &&				\
 		${INSTALL_DATA} legacy.wad				\
-			${DESTDIR}${PREFIX}/${DOOMWADDIR}/legacy.wad
+			${DESTDIR}${PREFIX}/${DOOMWADDIR}/legacy.wad;	\
+	cd ${WRKDIR} &&							\
+		${INSTALL_MAN} ${WRKDIR}/doomlegacy.1			\
+			${DESTDIR}${PREFIX}/${PKGMANDIR}/man1
 
 # Ensure that at least the shareware Episode 1 of Doom is available
+# Note: The demos from games/doom1 are not compatible with the Legacy engine
 DEPENDS+=		doom1-[0-9]*:../../games/doom1
 
 BUILDLINK_API_DEPENDS.SDL_mixer+=	SDL_mixer>=1.2.7
diff --git a/doomlegacy/PLIST b/doomlegacy/PLIST
index 4ace64ff14..a3c876bf7f 100644
--- a/doomlegacy/PLIST
+++ b/doomlegacy/PLIST
@@ -1,5 +1,6 @@
 @comment $NetBSD$
 bin/doomlegacy
+man/man1/doomlegacy.1
 share/doc/doomlegacy/legacy.css
 share/doc/doomlegacy/whatsnew.html
 share/doom/legacy.wad
diff --git a/doomlegacy/README b/doomlegacy/README
deleted file mode 100644
index 09c08d2ec3..0000000000
--- a/doomlegacy/README
+++ /dev/null
@@ -1,15 +0,0 @@
-A dependency to games/doom1 makes the Doom Shareware Episode 1 "Knee-Deep in the
-Dead" (doom1.wad) directly playable.
-Note: The demos from games/doom1 are not compatible with the Legacy engine.
-
-
-$ doomlegacy
-$ doomlegacy -iwad doom.wad
-$ doomlegacy -game doomu -iwad doom.wad -file doomu.wad
-$ doomlegacy -iwad doom.wad -file SIGIL_COMPAT.wad
-
-$ doomlegacy -iwad doom2.wad
-$ doomlegacy -iwad tnt.wad
-$ doomlegacy -iwad plutonia.wad
-
-$ doomlegacy -iwad heretic.wad
diff --git a/doomlegacy/TODO b/doomlegacy/TODO
index fbb2d5b99c..57a7f534b3 100644
--- a/doomlegacy/TODO
+++ b/doomlegacy/TODO
@@ -1,8 +1,8 @@
 [X] Patch to support NetBSD
     FreeBSD codepath does not work for NetBSD
     => Use statvfs()
-[X] Build system seems to not support that
-    => Disable parallel make jobs
+[X] Build system seems to not support parallel make jobs
+    => Disable
 [X] Test on GNU/Linux
 [X] Check that Big Endian platforms work too
     Seems to work out-of-the-box with GCC
@@ -22,7 +22,10 @@
     (DEBUG creates GCC specific options)
     Undefine DEBUG
     => Works now
-[ ] Analyze why MIDI music doesn't work
+[X] Analyze why MIDI music doesn't work
+    Instruments missing for synthesizer, not related to package
+    Installed freepats
+    => Works now with timidity
 [X] Check OpenGL renderer
     GNU/Linux: Looks nice
     NetBSD: Fails with:
@@ -31,14 +34,15 @@
 [X] Check Doom Episode 2 (The Shores of Hell)
 [X] Check Doom Episode 3 (Inferno)
 [X] Check Ultimate Doom Episode 4 (Thy Flesh Consumed)
-[X] Check Romero's 25th anniversary Episode 5 (Sigil)
+[X] Check Romero's 25th anniversary Doom Episode 5 (Sigil)
     SIGIL_COMPAT.wad works with doom.wad as IWAD
     SIGIL.wad works with doomu.wad as IWAD (menu entry for Episode 5 is missing)
 [X] Check Doom II (Hell on Earth)
 [X] Check Final Doom Part 1 (TNT: Evilution)
 [X] Check Final Doom Part 2 (The Plutonia Experiment)
 [X] Check Heretic
-[ ] man page with examples how to specify WADs and game type on commandline
+[X] man page with examples how to specify WADs and game type on commandline
+[ ] Check multiplayer/network
 
 
 EOF
diff --git a/doomlegacy/distinfo b/doomlegacy/distinfo
index e2c394767a..1610f2cd29 100644
--- a/doomlegacy/distinfo
+++ b/doomlegacy/distinfo
@@ -10,6 +10,7 @@ SHA512 (doomlegacy_1.47.2_source.tar.bz2) = e2e182c18dd24c14e954f791c58e44119457
 Size (doomlegacy_1.47.2_source.tar.bz2) = 2276199 bytes
 SHA1 (patch-Makefile) = 03fc2f70c4a91ab6e7e3611f594eeaee4ac78b6b
 SHA1 (patch-src_Makefile) = 15cb6daa92f0d00eaf3b6956ef2813fa8358742c
+SHA1 (patch-src_am__map.c) = 647bcba2374cfa7038646e0c053636b43caaf33a
 SHA1 (patch-src_d__main.c) = 89188e534d486d9cfbf2ad92f63b4eb7ab6c50f8
 SHA1 (patch-src_doomtype.h) = fefe08ca5fbe8d11325e32ca833a73d3acb36ea1
 SHA1 (patch-src_i__tcp.c) = 1c0c6017d24640217e29ed238e210850329d0e75
diff --git a/doomlegacy/files/doomlegacy.in1 b/doomlegacy/files/doomlegacy.in1
new file mode 100644
index 0000000000..e5f0be34f7
--- /dev/null
+++ b/doomlegacy/files/doomlegacy.in1
@@ -0,0 +1,267 @@
+.\"=============================================================================
+.\" Header
+.\"
+.\" Copyright (c) 2019 by Michael Baeuerle.
+.\" License: GNU Free Documentation License (GFDL)
+.\"
+.TH $NAME 1 2019-06-16 Unix "$NAME $VERSION manual"
+.\"
+.\"
+.\"=============================================================================
+.\" NAME section
+.\"
+.SH NAME
+Doom Legacy
+.\"
+.\"
+.\"=============================================================================
+.\" SYNOPSIS section
+.\"
+.SH SYNOPSIS
+.B $NAME
+[-opengl] [-iwad xxx.wad] [-file pwad1.wad [pwad2.wad ...]]
+.PP
+.B $NAME
+[-h [g|m|c|s|d|D] | --version]
+.\"
+.\"
+.\"=============================================================================
+.\" DESCRIPTION section
+.\"
+.SH DESCRIPTION
+
+The following information is quoted from Reference Manual:
+.PP
+.B http://doomlegacy.sourceforge.net/docs/legacy.html
+.PP
+
+Doom Legacy can play Doom, Boom, Marine's Best Friend (MBF), and Heretic maps.
+In addition to the original games by id Software and Raven Software, there are
+hundreds of free, fan-made maps available on the Internet. These maps are
+typically distributed as PWAD files, which are not fully self-contained.
+For each game you will also need the corresponding IWAD data file, which
+contains all the graphics, wall and floor textures, sounds, and music for that
+game. For example, if you want to play Doom II maps, you'll need the IWAD file
+doom2.wad, or one of the free replacements.
+
+Legacy has implemented the fundamental and de-facto-standard Boom extensions,
+and the Marine's Best Friend (MBF) extensions. Legacy also has implemented
+among other things 3D floors, swimmable water and other special effects using
+extended linedef codes, and supports the FraggleScript scripting language.
+
+Legacy includes two different graphics engines, the old Doom software renderer
+(with many improvements) and an OpenGL-based hardware renderer.
+The OpenGL renderer is shinier and has fancier effects than the software one,
+but it does not do everything that the software renderer does. It does have
+coronas, explosion light, and other light effects that the software renderer
+does not do.
+Some wads rely upon violating wad rules to get trick effects. Most rely upon
+tricking the software renderer into not drawing something. Using those wads
+with the OpenGL renderer you will see holes in the floor and ceiling, and
+warning messges about polygons.
+
+The first game console we know of was from id Software's game Quake.
+We have been inspired by it and have tried to implement the same functionality
+for the benefit of Quake/Doom fans.
+
+Since Legacy 1.2, the network part of Doom has been totally rewritten.
+It now uses a better transfer method for the packets, (which is usually faster),
+and also implements a basic Client/Server model, where some critical game
+options are changeable only by the server in multiplayer games. Since the
+network communication is faster, we have upped the maximum number of players to
+32!
+.\"
+.\"
+.\"=============================================================================
+.\" OPTIONS section
+.\"
+.SH OPTIONS
+.TP 25
+.BI -config " file
+Set the configfile to use.
+.br
+Default: config.cfg
+.TP
+.BI -file " file [file ...]
+Set PWAD (Patch WAD) files to use.
+.TP
+.BI -game " mode
+Forces a particular game mode to be used.
+.br
+Examples for mode: doom, doomu, doom2, heretic
+.br
+(See Reference Manual for complete table)
+.TP
+.BI -h " [section]
+Print help. An optional section can be specified for details.
+.TP
+.BI -home " directory
+Home directory location, where your configfiles and savegames are kept.
+.TP
+.BI -iwad " file
+Set the main IWAD (Internal WAD) file to use.
+This also determines the game mode when -game is not used.
+.TP
+.BI -noendtext
+Suppress the game EndText screen, which could disrupt some terminal emulations
+because of the special character attributes used.
+.TP
+.BI -opengl
+Hardware accelerated rendering using the OpenGL library.
+Will use hardware acceleration for OpenGL if available.
+If the video card does not have OpenGL hardware acceleration then it will use
+the OpenGL emulation in software, which is very slow.
+.TP
+.BI --version
+Print version and build date.
+.TP
+.BI -warp " num
+Select the map, start game immediately.
+.br
+In DoomII, -warp 13 will goto MAP13.
+.br
+In Ultimate Doom, -warp 1 3 will goto E1M3.
+.TP
+See Reference Manual for a complete options list.
+.\"
+.\"
+.\"=============================================================================
+.\" ENVIRONMENT section
+.\"
+.SH ENVIRONMENT
+.TP 25
+.B DISPLAY
+X display to use. More information about X can be found in
+.BR X (7).
+.TP
+.B DOOMWADDIR
+This environment variable defines a path where WAD files are located.
+.br
+The default is $WADDIR.
+.TP
+.B HOME
+This variable indicates your home directory.
+.TP
+.B USER
+This variable contains your username, is used as the default value for your
+player name in multiplayer games.
+.\"
+.\"
+.\"=============================================================================
+.\" FILES section
+.\"
+.SH FILES
+.TP 25
+.B ~/.doomlegacy/config.cfg
+Default configuration file.
+.TP
+.B ~/.doomlegacy/glconfig.cfg
+Default configuration file for OpenGL mode.
+.TP
+.B ~/.doomlegacy/doomsav*.dsg
+Saved game states.
+.\"
+.\"
+.\"=============================================================================
+.\" NOTES section
+.\"
+.SH NOTES
+If you get no MIDI music, ensure that SDL_mixer has a working MIDI synthesizer
+available. If you use timidity, check that instruments are installed (e.g.
+freepats).
+.PP
+Acknowledgments:
+.IP \(bu 3
+Thanks to id Software of course, for creating the greatest game of all time!
+.PP
+.IP \(bu 3
+To Raven Software, for Heretic and Hexen!
+.PP
+.IP \(bu 3
+Chi Hoang for DosDoom which got us started.
+.PP
+.IP \(bu 3
+Bell Kin for porting Doom Legacy to Linux.
+.PP
+.IP \(bu 3
+Stephane Dierickx for the two pictures in the laucher and the help screen of
+Legacy.
+.PP
+.IP \(bu 3
+Sebastien Bacquet for Qmus2mid.
+.PP
+.IP \(bu 3
+Simon Howard for FraggleScript.
+.PP
+.IP \(bu 3
+TeamTNT for Boom.
+.PP
+.IP \(bu 3
+Steven McGranahan and Robert Baeuml for their large contributions.
+.PP
+.IP \(bu 3
+To all of you who send us ideas and bug reports, thank you!
+.RE
+.\"
+.\"
+.\"=============================================================================
+.\" AUTHORS section
+.\"
+.SH AUTHORS
+Original game by id Software.
+.br
+Heretic by Raven Software.
+.br
+Doom Legacy by Fabrice Denis, Boris Pereira and Thierry Van Elsuwe.
+.br
+Maintained by the Doom Legacy Team since 2001.
+.br
+Man page for pkgsrc by Michael Baeuerle.
+.\"
+.\"
+.\"=============================================================================
+.\" BUGS section
+.\"
+.\" .SH BUGS
+.\"
+.\"
+.\"=============================================================================
+.\" EXAMPLES section
+.\"
+.SH EXAMPLES
+Start the shareware Episode 1 of Doom:
+.IP
+$ $NAME
+.PP
+For the following examples you need the original WAD files of the games
+(copy them to $WADDIR or set DOOMWADDIR to the desired location).
+
+Start Doom and use the OpenGL renderer:
+.IP
+$ $NAME -opengl -iwad doom.wad
+.PP
+Start Doom II:
+.IP
+$ $NAME -iwad doom2.wad
+.PP
+Start Sigil (Doom Episode 5) in compatibility mode as Episode 3:
+.IP
+$ $NAME -game doomu -iwad doomu.wad -file SIGIL_COMPAT.wad
+.PP
+Start Heretic:
+.IP
+$ $NAME -iwad heretic.wad
+.PP
+.\"
+.\"
+.\"=============================================================================
+.\" SEE ALSO section
+.\"
+.SH SEE ALSO
+.BR timidity (1),
+.BR X (7)
+.br
+.BR http://doomlegacy.sourceforge.net/docs/legacy.html
+.\"
+.\"
+.\" EOF
diff --git a/doomlegacy/patches/patch-src_am__map.c b/doomlegacy/patches/patch-src_am__map.c
new file mode 100644
index 0000000000..d389462be7
--- /dev/null
+++ b/doomlegacy/patches/patch-src_am__map.c
@@ -0,0 +1,17 @@
+$NetBSD$
+
+Set automap "zoom in" key to '+'.
+
+--- src/am_map.c.orig	2018-07-16 09:17:06.000000000 +0000
++++ src/am_map.c
+@@ -118,7 +118,9 @@ static byte DWHITE      =    (256-47);
+ #define AM_PANUPKEY     KEY_UPARROW
+ #define AM_PANRIGHTKEY  KEY_RIGHTARROW
+ #define AM_PANLEFTKEY   KEY_LEFTARROW
+-#define AM_ZOOMINKEY    '='
++// The documentation specify '+'
++//#define AM_ZOOMINKEY    '='
++#define AM_ZOOMINKEY    '+'
+ #define AM_ZOOMOUTKEY   '-'
+ #define AM_STARTKEY     KEY_TAB
+ #define AM_ENDKEY       KEY_TAB


Home | Main Index | Thread Index | Old Index