Source-Changes-HG archive

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

[pkgsrc/trunk]: pkgsrc/games/doomlegacy games/doomlegacy: Update to 1.48.4



details:   https://anonhg.NetBSD.org/pkgsrc/rev/57925d615390
branches:  trunk
changeset: 432131:57925d615390
user:      micha <micha%pkgsrc.org@localhost>
date:      Tue May 19 11:20:16 2020 +0000

description:
games/doomlegacy: Update to 1.48.4

pkgsrc changes:
- Patches for NetBSD support removed (merged upstream)
- Define "SOLARIS" for SunOS based operating systems
- MESSAGE replaced by file "share/doc/doomlegacy/INSTALL.pkgsrc"
- Man page is now installed in section 6
- Patch to disable launcher replaced by startscript
  (upstream suggested to use an unsupported option for this purpose)
- Patch for extended node support added (Feature request #95)
  Supported formats: DeeP V4, ZDoom uncompressed, ZDoom compressed
  Without this patch the engine may crash with unsupported node formats
- Patch for local blockmap creation added
  Command line option "-blockmap" added for activation (no automatic mode)

The extended node and blockmap patches allow to play modern PWADs like NOVA III
and Lost Civilization.

Upstream changelog since 1.47.2 is very long, refer to this page:
http://doomlegacy.sourceforge.net/docs/whatsnew.html

diffstat:

 games/doomlegacy/MESSAGE.doomlegacy                |   10 -
 games/doomlegacy/Makefile                          |   71 +-
 games/doomlegacy/PLIST                             |    6 +-
 games/doomlegacy/distinfo                          |   30 +-
 games/doomlegacy/files/INSTALL.pkgsrc              |    6 +
 games/doomlegacy/files/doomlegacy.6.in             |  286 ++++++++++
 games/doomlegacy/files/doomlegacy.in1              |  267 ---------
 games/doomlegacy/files/doomlegacy.sh               |   12 +
 games/doomlegacy/files/p_blockmap.c                |  259 +++++++++
 games/doomlegacy/files/p_blockmap.h                |   32 +
 games/doomlegacy/files/p_extnodes.c                |  585 +++++++++++++++++++++
 games/doomlegacy/files/p_extnodes.h                |   92 +++
 games/doomlegacy/patches/patch-Makefile            |   36 -
 games/doomlegacy/patches/patch-src_Makefile        |  149 +----
 games/doomlegacy/patches/patch-src_d__main.c       |   22 -
 games/doomlegacy/patches/patch-src_doomdata.h      |   28 +
 games/doomlegacy/patches/patch-src_doomtype.h      |   67 --
 games/doomlegacy/patches/patch-src_dstrings.c      |   18 +
 games/doomlegacy/patches/patch-src_i__tcp.c        |   20 -
 games/doomlegacy/patches/patch-src_p__local.h      |   18 +
 games/doomlegacy/patches/patch-src_p__setup.c      |  161 +++++
 games/doomlegacy/patches/patch-src_r__defs.h       |   42 +
 games/doomlegacy/patches/patch-src_sdl_i__system.c |   24 -
 23 files changed, 1624 insertions(+), 617 deletions(-)

diffs (truncated from 2392 to 300 lines):

diff -r 27323a6b3ad3 -r 57925d615390 games/doomlegacy/MESSAGE.doomlegacy
--- a/games/doomlegacy/MESSAGE.doomlegacy       Tue May 19 11:20:00 2020 +0000
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,10 +0,0 @@
-===========================================================================
-$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 27323a6b3ad3 -r 57925d615390 games/doomlegacy/Makefile
--- a/games/doomlegacy/Makefile Tue May 19 11:20:00 2020 +0000
+++ b/games/doomlegacy/Makefile Tue May 19 11:20:16 2020 +0000
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.3 2020/03/20 11:57:40 nia Exp $
+# $NetBSD: Makefile,v 1.4 2020/05/19 11:20:16 micha Exp $
 
-VERS=                  1.47.2
+VERS=                  1.48.4
 PKGNAME=               doomlegacy-${VERS}
 CATEGORIES=            games
 MASTER_SITES=          ${MASTER_SITE_SOURCEFORGE:=doomlegacy/}
@@ -19,8 +19,8 @@
                        NetBSD-*-* OpenBSD-*-* SunOS-*-*
 
 USE_LANGUAGES+=                c99
-
 USE_TOOLS+=            gmake
+# Dependency generation fails with parallel build
 MAKE_JOBS_SAFE=                no
 
 .include "../../mk/bsd.prefs.mk"
@@ -35,21 +35,28 @@
 .else
 # Other Unix (should work for GNU/Linux, OpenBSD and SunOS)
 MAKE_FLAGS+=           OS=LINUX
+CFLAGS.SunOS+=         -DSOLARIS
 .endif
-MAKE_FLAGS+=           HAVE_MIXER=1
 
 .if ${MACHINE_ENDIAN} == "big"
 # Some compilers define this themselves (but maybe not all)
 CFLAGS+=               -D__BIG_ENDIAN__
 .endif
 
+# Required by extended node patch for ZDoom compressed node format
+CFLAGS+=               -DHAVE_ZLIB
+LDFLAGS+=              -lz
+
 # DOOMWADDIR is intentionally shared with other Doom packages
 DOOMWADDIR=            share/doom
-INSTALLATION_DIRS=     bin ${PKGMANDIR}/man1 share/doc/doomlegacy ${DOOMWADDIR}
+INSTALLATION_DIRS=     bin ${PKGMANDIR}/man6 share/doc/doomlegacy ${DOOMWADDIR}
 
-MESSAGE_SRC+=          MESSAGE.doomlegacy
-MESSAGE_SUBST+=                PKGNAME=${PKGNAME:C/-.*//}
-MESSAGE_SUBST+=                DOOMWADDIR_CONF="${PREFIX}/${DOOMWADDIR}"
+# Honor environment
+SUBST_CLASSES+=                makeopt
+SUBST_STAGE.makeopt=   do-configure
+SUBST_MESSAGE.makeopt= Preparing make_options file ...
+SUBST_FILES.makeopt=   make_options
+SUBST_SED.makeopt=     -e 's,\#COMP_ENVIRONMENT,COMP_ENVIRONMENT,'
 
 # Configure defaults for LEGACYWADDIR and DOOMWADDIR
 SUBST_CLASSES+=                doomdef
@@ -59,34 +66,54 @@
 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}",'
 
+# Process INSTALL.pkgsrc
+SUBST_CLASSES+=                install
+SUBST_STAGE.install=   do-configure
+SUBST_MESSAGE.install= Preparing INSTALL.pkgsrc file ...
+SUBST_FILES.install=   ${WRKDIR}/INSTALL.pkgsrc
+SUBST_SED.install=     -e 's,DOOMWADDIR,${PREFIX}/${DOOMWADDIR},'
+
 pre-configure:
-       ${CP} ${FILESDIR}/doomlegacy.in1 ${WRKDIR}
+       ${CP} ${FILESDIR}/INSTALL.pkgsrc ${WRKDIR}
+       ${CP} ${FILESDIR}/doomlegacy.sh ${WRKDIR}
+       ${CP} ${FILESDIR}/doomlegacy.6.in ${WRKDIR}
+       ${CP} ${FILESDIR}/p_blockmap.c ${WRKSRC}/src
+       ${CP} ${FILESDIR}/p_blockmap.h ${WRKSRC}/src
+       ${CP} ${FILESDIR}/p_extnodes.c ${WRKSRC}/src
+       ${CP} ${FILESDIR}/p_extnodes.h ${WRKSRC}/src
+       cd ${WRKSRC} && ${CP} make_options_nix make_options
 
-# Process manpage template
+# Process start script and manpage templates
 do-configure:
        cd ${WRKDIR} &&                                                 \
-               ${SED} -e 's,$$NAME,doomlegacy,g'                       \
+               ${SED} -e 's,$$PREFIX,${PREFIX},'                       \
+                       doomlegacy.sh >doomlegacy
+       cd ${WRKDIR} &&                                                 \
+                ${SED} -e 's,$$NAME,doomlegacy,g'                      \
                        -e 's,$$VERSION,${VERS},g'                      \
                        -e 's,$$WADDIR,${PREFIX}/${DOOMWADDIR},g'       \
-                       doomlegacy.in1 >doomlegacy.1
+                       doomlegacy.6.in >doomlegacy.6
 
 do-install:
+       ${INSTALL_PROGRAM} ${WRKSRC}/bin/doomlegacy                     \
+               ${DESTDIR}${PREFIX}/bin/doomlegacy.bin
+       ${INSTALL_SCRIPT} ${WRKDIR}/doomlegacy                          \
+               ${DESTDIR}${PREFIX}/bin/doomlegacy
+       ${INSTALL_DATA} ${WRKDIR}/doomlegacy_${VERS}/legacy.wad         \
+               ${DESTDIR}${PREFIX}/${DOOMWADDIR}/legacy.wad
        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
+                       ${DESTDIR}${PREFIX}/share/doc/doomlegacy
+       ${INSTALL_DATA} ${WRKDIR}/INSTALL.pkgsrc                        \
+               ${DESTDIR}${PREFIX}/share/doc/doomlegacy/INSTALL.pkgsrc
+       ${INSTALL_MAN} ${WRKDIR}/doomlegacy.6                           \
+               ${DESTDIR}${PREFIX}/${PKGMANDIR}/man6
 
 # 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.zlib+=           zlib>=1.2.3
+.include "../../devel/zlib/buildlink3.mk"
 BUILDLINK_API_DEPENDS.SDL_mixer+=      SDL_mixer>=1.2.7
 .include "../../audio/SDL_mixer/buildlink3.mk"
 BUILDLINK_API_DEPENDS.SDL+=            SDL>=1.2.10
diff -r 27323a6b3ad3 -r 57925d615390 games/doomlegacy/PLIST
--- a/games/doomlegacy/PLIST    Tue May 19 11:20:00 2020 +0000
+++ b/games/doomlegacy/PLIST    Tue May 19 11:20:16 2020 +0000
@@ -1,6 +1,8 @@
-@comment $NetBSD: PLIST,v 1.1 2019/06/17 13:53:22 micha Exp $
+@comment $NetBSD: PLIST,v 1.2 2020/05/19 11:20:16 micha Exp $
 bin/doomlegacy
-man/man1/doomlegacy.1
+bin/doomlegacy.bin
+man/man6/doomlegacy.6
+share/doc/doomlegacy/INSTALL.pkgsrc
 share/doc/doomlegacy/legacy.css
 share/doc/doomlegacy/whatsnew.html
 share/doom/legacy.wad
diff -r 27323a6b3ad3 -r 57925d615390 games/doomlegacy/distinfo
--- a/games/doomlegacy/distinfo Tue May 19 11:20:00 2020 +0000
+++ b/games/doomlegacy/distinfo Tue May 19 11:20:16 2020 +0000
@@ -1,17 +1,17 @@
-$NetBSD: distinfo,v 1.1 2019/06/17 13:53:22 micha Exp $
+$NetBSD: distinfo,v 1.2 2020/05/19 11:20:16 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 (doomlegacy_1.48.4_common.zip) = 14aed4c0091e8c61f46a2303f9316659ab6c0483
+RMD160 (doomlegacy_1.48.4_common.zip) = cca61af6bdda1003032ee117129e07596c8bbfcf
+SHA512 (doomlegacy_1.48.4_common.zip) = f41830b6d3ba7f30d020e887193fedf502d9b0b260bb53f78e888ce4985dfc2a8b744b5add86813e135c9a0ed65c9be42da64437976b7a85992bcc45bbeeb462
+Size (doomlegacy_1.48.4_common.zip) = 1004978 bytes
+SHA1 (doomlegacy_1.48.4_source.tar.bz2) = f787c653ac4d097de702c72c9b30aed9b4b308a1
+RMD160 (doomlegacy_1.48.4_source.tar.bz2) = 1e2a435e28f84a1578041feec4b98770774b2287
+SHA512 (doomlegacy_1.48.4_source.tar.bz2) = a63a38135f902b7ddfedfbc117ccf9446dba5b1da918189de560722b4fe2afae5f5a0493f9571b5817f95aed96f52fecd32d46c101da5141596cf062d55cec57
+Size (doomlegacy_1.48.4_source.tar.bz2) = 2410187 bytes
+SHA1 (patch-src_Makefile) = 8ddbc1a86d2573dc1d4334d75638de31f1fecf6b
 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
+SHA1 (patch-src_doomdata.h) = 2fd95b5db154b05ba88597b20c45146339db4622
+SHA1 (patch-src_dstrings.c) = e1fc8bdcb83efa18690d95c56e3ea7c94a388a50
+SHA1 (patch-src_p__local.h) = 0340c38a80ba4323e4fe7a8c314575a70a246708
+SHA1 (patch-src_p__setup.c) = 8536297175088112b57e87e179d12181c91a3bbf
+SHA1 (patch-src_r__defs.h) = 9211ae6db72f0288f38449b18c8c252f42686405
diff -r 27323a6b3ad3 -r 57925d615390 games/doomlegacy/files/INSTALL.pkgsrc
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/games/doomlegacy/files/INSTALL.pkgsrc     Tue May 19 11:20:16 2020 +0000
@@ -0,0 +1,6 @@
+The location of the doomlegacy WAD directory has been set to:
+
+   DOOMWADDIR
+
+This is the pkgsrc standard Doom WAD directory location (shared with other
+Doom packages).
diff -r 27323a6b3ad3 -r 57925d615390 games/doomlegacy/files/doomlegacy.6.in
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/games/doomlegacy/files/doomlegacy.6.in    Tue May 19 11:20:16 2020 +0000
@@ -0,0 +1,286 @@
+.\"=============================================================================
+.\" Header
+.\"
+.\" Copyright (c) 2019-2020 by Michael Baeuerle.
+.\" License: GNU Free Documentation License (GFDL)
+.\"
+.TH $NAME 6 2020-05-14 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 -blockmap
+Ignore BLOCKMAP lump in WAD file and create a new blockmap internally.
+.PP
+.RS 25
+Try this option if you encounter problems with collision detection
+(e.g. able to walk through a fence or unable to activate a switch).
+.PP
+Only available with pkgsrc blockmap patch.
+.RE
+.TP 25
+.BI -deh " file [file ...]
+Load one or more DEH (DeHackEd) files or BEX files, which can change monster
+abilities and game text.



Home | Main Index | Thread Index | Old Index