Skip to content

Commit

Permalink
games/doomlegacy: Update to 1.48.4
Browse files Browse the repository at this point in the history
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
  • Loading branch information
micha committed May 19, 2020
1 parent 57309a1 commit 93a1d71
Show file tree
Hide file tree
Showing 22 changed files with 1,361 additions and 354 deletions.
10 changes: 0 additions & 10 deletions games/doomlegacy/MESSAGE.doomlegacy

This file was deleted.

73 changes: 50 additions & 23 deletions games/doomlegacy/Makefile
Original file line number Diff line number Diff line change
@@ -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/}
Expand All @@ -19,8 +19,8 @@ ONLY_FOR_PLATFORM= Darwin-*-* DragonFly-*-* FreeBSD-*-* Linux-*-* \
NetBSD-*-* OpenBSD-*-* SunOS-*-*

USE_LANGUAGES+= c99

USE_TOOLS+= gmake
# Dependency generation fails with parallel build
MAKE_JOBS_SAFE= no

.include "../../mk/bsd.prefs.mk"
Expand All @@ -35,21 +35,28 @@ MAKE_FLAGS+= OS=MAC
.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
Expand All @@ -59,34 +66,54 @@ 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 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},'

# Process manpage template
pre-configure:
${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 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
Expand Down
6 changes: 4 additions & 2 deletions games/doomlegacy/PLIST
Original file line number Diff line number Diff line change
@@ -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
30 changes: 15 additions & 15 deletions games/doomlegacy/distinfo
Original file line number Diff line number Diff line change
@@ -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
6 changes: 6 additions & 0 deletions games/doomlegacy/files/INSTALL.pkgsrc
Original file line number Diff line number Diff line change
@@ -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).
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
.\"=============================================================================
.\" Header
.\"
.\" Copyright (c) 2019 by Michael Baeuerle.
.\" Copyright (c) 2019-2020 by Michael Baeuerle.
.\" License: GNU Free Documentation License (GFDL)
.\"
.TH $NAME 1 2019-06-16 Unix "$NAME $VERSION manual"
.TH $NAME 6 2020-05-14 Unix "$NAME $VERSION manual"
.\"
.\"
.\"=============================================================================
Expand Down Expand Up @@ -82,6 +82,20 @@ 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.
.TP
.BI -file " file [file ...]
Set PWAD (Patch WAD) files to use.
.TP
Expand All @@ -105,7 +119,12 @@ This also determines the game mode when -game is not used.
.BI -noendtext
Suppress the game EndText screen, which could disrupt some terminal emulations
because of the special character attributes used.
.TP
.PP
.RS 25
For encoding of EndText data see config.cfg file entry textout.
Supported values: Off, Vanilla, UTF8.
.RE
.TP 25
.BI -opengl
Hardware accelerated rendering using the OpenGL library.
Will use hardware acceleration for OpenGL if available.
Expand Down
12 changes: 12 additions & 0 deletions games/doomlegacy/files/doomlegacy.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
#! /bin/sh
#
# Start script for doomlegacy
#
# The option "-no_launcher" doesn't exist, but disables the launcher
# (this method was suggested by upstream).
#

$PREFIX/bin/doomlegacy.bin -no_launcher $@


# EOF
Loading

0 comments on commit 93a1d71

Please sign in to comment.