pkgsrc-Changes-HG archive

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

[pkgsrc/trunk]: pkgsrc/games/doomlegacy games/doomlegacy: import doomlegacy-1...



details:   https://anonhg.NetBSD.org/pkgsrc/rev/7d5f5d02280a
branches:  trunk
changeset: 335295:7d5f5d02280a
user:      micha <micha%pkgsrc.org@localhost>
date:      Mon Jun 17 13:53:22 2019 +0000

description:
games/doomlegacy: import doomlegacy-1.47.2

This is one of the most popular Doom source ports.
It enhances Doom with things like:
- Free Look
- OpenGL renderer
- Heretic support,
- TCP/IP networking
and much more.

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.

This package contains the SDL build of Doom Legacy.

diffstat:

 games/doomlegacy/DESCR                             |   23 +
 games/doomlegacy/MESSAGE.doomlegacy                |   10 +
 games/doomlegacy/Makefile                          |   95 +++++++
 games/doomlegacy/PLIST                             |    6 +
 games/doomlegacy/distinfo                          |   17 +
 games/doomlegacy/files/doomlegacy.in1              |  267 +++++++++++++++++++++
 games/doomlegacy/patches/patch-Makefile            |   36 ++
 games/doomlegacy/patches/patch-src_Makefile        |  135 ++++++++++
 games/doomlegacy/patches/patch-src_am__map.c       |   17 +
 games/doomlegacy/patches/patch-src_d__main.c       |   22 +
 games/doomlegacy/patches/patch-src_doomtype.h      |   67 +++++
 games/doomlegacy/patches/patch-src_i__tcp.c        |   20 +
 games/doomlegacy/patches/patch-src_sdl_i__system.c |   24 +
 13 files changed, 739 insertions(+), 0 deletions(-)

diffs (truncated from 791 to 300 lines):

diff -r 11b9d16f4268 -r 7d5f5d02280a games/doomlegacy/DESCR
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/games/doomlegacy/DESCR    Mon Jun 17 13:53:22 2019 +0000
@@ -0,0 +1,23 @@
+This is one of the most popular Doom source ports.
+It enhances Doom with things like:
+- Free Look
+- OpenGL renderer
+- Heretic support,
+- TCP/IP networking
+and much more.
+
+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.
+
+This package contains the SDL build of Doom Legacy.
diff -r 11b9d16f4268 -r 7d5f5d02280a games/doomlegacy/MESSAGE.doomlegacy
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/games/doomlegacy/MESSAGE.doomlegacy       Mon Jun 17 13:53:22 2019 +0000
@@ -0,0 +1,10 @@
+===========================================================================
+$NetBSD: MESSAGE.doomlegacy,v 1.1 2019/06/17 13:53:22 micha Exp $
+
+Note: The location of the ${PKGNAME} WAD directory has been set to:
+
+       ${DOOMWADDIR_CONF}
+
+This is the pkgsrc standard Doom WAD directory location (shared with other
+Doom packages).
+===========================================================================
diff -r 11b9d16f4268 -r 7d5f5d02280a games/doomlegacy/Makefile
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/games/doomlegacy/Makefile Mon Jun 17 13:53:22 2019 +0000
@@ -0,0 +1,95 @@
+# $NetBSD: Makefile,v 1.1 2019/06/17 13:53:22 micha Exp $
+
+VERS=                  1.47.2
+PKGNAME=               doomlegacy-${VERS}
+CATEGORIES=            games
+MASTER_SITES=          ${MASTER_SITE_SOURCEFORGE:=doomlegacy/}
+DISTNAME=              ${PKGNAME:S/-/_/}_source
+DISTFILES=             ${DEFAULT_DISTFILES} doomlegacy_${VERS}_common.zip
+EXTRACT_SUFX=          .tar.bz2
+
+MAINTAINER=            micha%NetBSD.org@localhost
+HOMEPAGE=              http://doomlegacy.sourceforge.net/
+COMMENT=               The legacy of Doom
+LICENSE=               gnu-gpl-v2
+
+# Tested on Linux/ppc (32bit Big Endian) and NetBSD/amd64 (64bit Little Endian)
+# Untested: In general the source code has support for the other listed OS too
+ONLY_FOR_PLATFORM=     Darwin-*-* DragonFly-*-* FreeBSD-*-* Linux-*-* \
+                       NetBSD-*-* OpenBSD-*-* SunOS-*-*
+
+USE_LANGUAGES+=                c99
+
+USE_TOOLS+=            gmake
+MAKE_JOBS_SAFE=                no
+
+.include "../../mk/bsd.prefs.mk"
+.include "../../mk/endian.mk"
+
+.if ${OPSYS} == "FreeBSD" || ${OPSYS} == "DragonFly"
+MAKE_FLAGS+=           OS=FREEBSD
+.elif ${OPSYS} == "NetBSD"
+MAKE_FLAGS+=           OS=NETBSD
+.elif ${OPSYS} == "Darwin"
+MAKE_FLAGS+=           OS=MAC
+.else
+# Other Unix (should work for GNU/Linux, OpenBSD and SunOS)
+MAKE_FLAGS+=           OS=LINUX
+.endif
+MAKE_FLAGS+=           HAVE_MIXER=1
+
+.if ${MACHINE_ENDIAN} == "big"
+# Some compilers define this themselves (but maybe not all)
+CFLAGS+=               -D__BIG_ENDIAN__
+.endif
+
+# DOOMWADDIR is intentionally shared with other Doom packages
+DOOMWADDIR=            share/doom
+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 defaults for LEGACYWADDIR and DOOMWADDIR
+SUBST_CLASSES+=                doomdef
+SUBST_STAGE.doomdef=   do-configure
+SUBST_MESSAGE.doomdef= Preparing doomdef.h file ...
+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                       \
+                       ${DESTDIR}${PREFIX}/bin;                        \
+               ${INSTALL_DATA} docs/legacy.css docs/whatsnew.html      \
+                       ${DESTDIR}${PREFIX}/share/doc/doomlegacy;       \
+       cd ${WRKDIR}/doomlegacy_${VERS} &&                              \
+               ${INSTALL_DATA} 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
+.include "../../audio/SDL_mixer/buildlink3.mk"
+BUILDLINK_API_DEPENDS.SDL+=            SDL>=1.2.10
+.include "../../devel/SDL/buildlink3.mk"
+
+.include "../../mk/bsd.pkg.mk"
diff -r 11b9d16f4268 -r 7d5f5d02280a games/doomlegacy/PLIST
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/games/doomlegacy/PLIST    Mon Jun 17 13:53:22 2019 +0000
@@ -0,0 +1,6 @@
+@comment $NetBSD: PLIST,v 1.1 2019/06/17 13:53:22 micha Exp $
+bin/doomlegacy
+man/man1/doomlegacy.1
+share/doc/doomlegacy/legacy.css
+share/doc/doomlegacy/whatsnew.html
+share/doom/legacy.wad
diff -r 11b9d16f4268 -r 7d5f5d02280a games/doomlegacy/distinfo
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/games/doomlegacy/distinfo Mon Jun 17 13:53:22 2019 +0000
@@ -0,0 +1,17 @@
+$NetBSD: distinfo,v 1.1 2019/06/17 13:53:22 micha Exp $
+
+SHA1 (doomlegacy_1.47.2_common.zip) = 9e6faaea797b988565a078a47e80bbe2119d78b9
+RMD160 (doomlegacy_1.47.2_common.zip) = 1ac1f47563ad2c0d7c5c1bea93a2aaeb1c001c10
+SHA512 (doomlegacy_1.47.2_common.zip) = 7c7c2a0cbab5b9b4645a3fe166addd597de533db7ab41f8011c6c526a868bb04c8dd6b0d27b48765406fbab328bf64fc7827770b395e6c0e5d861d99c4d3865a
+Size (doomlegacy_1.47.2_common.zip) = 981654 bytes
+SHA1 (doomlegacy_1.47.2_source.tar.bz2) = afb1213eb8b228d9f131e4c63ead97afed2f599f
+RMD160 (doomlegacy_1.47.2_source.tar.bz2) = 661f0fa2bdc58a2f5f9582f36817ddd9d48df9bc
+SHA512 (doomlegacy_1.47.2_source.tar.bz2) = e2e182c18dd24c14e954f791c58e44119457bb74af4bb079c16219406176536f9fd414afd6c9fa0e956a6062b5a346bbf19ebf4c0d2d300e2e66b2eb01cf53fd
+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
+SHA1 (patch-src_sdl_i__system.c) = 17524680559b81ae755d781f63f3c5d34e1f14b6
diff -r 11b9d16f4268 -r 7d5f5d02280a games/doomlegacy/files/doomlegacy.in1
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/games/doomlegacy/files/doomlegacy.in1     Mon Jun 17 13:53:22 2019 +0000
@@ -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.



Home | Main Index | Thread Index | Old Index