pkgsrc-WIP-changes archive

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

doomlegacy-devel: Rebase to 1.48.4



Module Name:	pkgsrc-wip
Committed By:	Michael Baeuerle <micha%NetBSD.org@localhost>
Pushed By:	micha
Date:		Tue May 19 18:41:30 2020 +0200
Changeset:	1bdadec75859c4a791c1b12c0f30ad5d06e77dca

Modified Files:
	doomlegacy-devel/Makefile
	doomlegacy-devel/TODO
	doomlegacy-devel/distinfo
	doomlegacy-devel/files/p_extnodes.c

Log Message:
doomlegacy-devel: Rebase to 1.48.4

Update to SVN revision 1535.

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

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

diffstat:
 doomlegacy-devel/Makefile           |  11 +++-
 doomlegacy-devel/TODO               | 127 ++----------------------------------
 doomlegacy-devel/distinfo           |   8 +--
 doomlegacy-devel/files/p_extnodes.c |  13 +++-
 4 files changed, 31 insertions(+), 128 deletions(-)

diffs:
diff --git a/doomlegacy-devel/Makefile b/doomlegacy-devel/Makefile
index 9611828012..7721e0ad5c 100644
--- a/doomlegacy-devel/Makefile
+++ b/doomlegacy-devel/Makefile
@@ -1,8 +1,8 @@
 # $NetBSD$
 
-VERS=		1.47.2
+VERS=		1.48.4
 #PKGNAME=	doomlegacy-${VERS}
-SVNVERS=	1530
+SVNVERS=	1535
 DISTNAME=	doomlegacy-devel-0r${SVNVERS}
 CATEGORIES=	games
 
@@ -43,6 +43,7 @@ MAKE_FLAGS+=		OS=MAC
 .else
 # Other Unix (should work for GNU/Linux, OpenBSD and SunOS)
 MAKE_FLAGS+=		OS=LINUX
+CFLAGS.SunOS+=		-DSOLARIS
 .endif
 
 .if ${MACHINE_ENDIAN} == "big"
@@ -50,6 +51,10 @@ MAKE_FLAGS+=		OS=LINUX
 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}/man6 share/doc/doomlegacy ${DOOMWADDIR}
@@ -114,6 +119,8 @@ do-install:
 # Ensure that at least the shareware Episode 1 of Doom is available
 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 --git a/doomlegacy-devel/TODO b/doomlegacy-devel/TODO
index a119bbf3ae..1b5b8b0c05 100644
--- a/doomlegacy-devel/TODO
+++ b/doomlegacy-devel/TODO
@@ -1,125 +1,8 @@
-Part 1: Port to NetBSD
-======================
-Build system doesn't support NetBSD.
-
-[X] Sent patches to upstream
-[X] Imported proposed patchset from upstream
-    => PKGREVISION not bumped, because binary package has not changed
-[X] Renamed man page template to doomlegacy.1.in (suggested by wiz@)
-    => PKGREVISION not bumped, because binary package has not changed
-[X] Move man page to section 6 (it's a game)
-   => Bump PKGREVISION
-[X] Test building of the package again
-    => Tested to work with SVN revision 1448
-[X] Remove NetBSD specific patches after upstream integration
-
-Part 1 finished.
-
-
-Part 2: Fix large blockmaps on big endian machines
-==================================================
-On my Apple Power Mac G5 some modern (large) maps fail to load with errors like:
-| 
-| Error: Blockmap offset[5556]= -32745, exceeds bounds.
-
-This bug looks not security relevant, because the code catches it and gracefully
-terminate the engine.
-
-[X] Update to SVN revision 1453
-    => Problem still exist
-[X] Rework pkgsrc patches rejected by upstream (disable launcher and keyboard
-    setup +/- for automap zoom) for SVN revision 1453
-[X] Add patch for (int16_t) integer overflow while loading Blockmap
-    Note: This should never happen on little endian machines
-    => PKGREVISION not bumped (SVN based packages use build date in version)
-[X] Sent Blockmap patch to upstream (Bug #653)
-[X] Imported proposed patchset d42_blockmap_endian.diff from upstream
-    => Drop former pkgsrc patch
-    => PKGREVISION not bumped (SVN based packages use build date in version)
-    => Works as expected (Reported in bugtracker for #653)
-[X] Patches merged in SVN revision 1456
-[X] Remove corresponding pkgsrc patches after upstream integration
-
-Part 2 finished.
-
-
-Part 3: Torches are displayed crippled with software renderer
-=============================================================
-This problem was not present in 1.47.2, maybe a side effect of OpenGL corona
-changes since last release. Can be tested with:
-| 
-|    $ doomlegacy -iwad doom2.wad -warp 5
-
-(walk through the opening and look at the torch in front of you)
-
-Already reported upstream as Bug #652 (not present in OpenGL mode and really
-a side effect of the corona code changes).
-
-Suggested workaround: Deactivating coronas by going to:
-
-  "Options -> Effects Options -> Light Options"
-
-Set "Corona" option to "Off" (verified to work on NetBSD).
-
-Other workaround: It seems that only the option "Corona_Draw" set to "Additive"
-is problematic. Coronas with other settings work.
-
-[X] Test patch d41_draw8_alpha.diff from upstream
-    Patch not released yet
-    => Patch merged in SVN revision 1455
-    => Works as expected with SVN revision 1458
-
-Part 3 finished.
-
-
-Part 4: Problem with loading compressed blockmaps
-=================================================
-Some compressed blockmaps can interfere with the overflow detection.
-
-[X] Reported upstream as Bug #654
-[X] Fixed in SVN revision 1460
-    => Works as expected (Reported in bugtracker for #654)
-
-Part 4 finished.
-
-
-Part 5: Rendering problems on big endian machine
-================================================
-On some maps the rendering is broken (only in parts of the map).
-
-[X] Reported upstream as Bug #655
-[X] Update to SVN revision 1473
-    => Problem is only partly fixed (for some maps)
-       Bug #655 was a big endian problem, now fixed
-    => Rendering problems with other map are unrelated
-       Ticket #657 opened for them
-       Looks like the bugs are in the level data, not in the engine
-
-Part 5 finished.
-
-
-Part 6: Fix output of ENDOOM lump to terminal
-=============================================
-Documentation says "-noendtext" to disable output, but the implementation
-uses "-noendtxt".
-
-[X] Add patch to fix endianess
-[X] Add patch to fix interpretation of blinking flag
-[X] Add patch to convert text from IBM437 codepage to Unicode
-[X] Reported upstream as Bug #659
-[X] Fixed in SVN revision 1521
-    => "-noendtext", as documented, was added
-    => Works as expected (Reported in bugtracker for #659)
-[X] pkgsrc patch removed after upstream integration
-[X] man page updated
-
-Part 6 finished.
-
 
 Part 7: Import final release
 ============================
-[ ] Import version 1.48.4
-    Not released yet
+[X] Import version 1.48.4 to pkgsrc
+    Parts 1 to 6 are now available in games/doomlegacy
 
 
 Part 8: Support for extended nodes
@@ -129,8 +12,9 @@ Part 8: Support for extended nodes
     Fixes Bug #657
 [X] Created upstream feature request #95
     => Deferred (not considered for 1.48 release)
-[ ] Add optional zlib dependency for build system
-[ ] Add support for compressed ZDoom extended nodes
+[X] Add optional zlib dependency for build system
+[X] Add support for compressed ZDoom extended nodes
+    => Works as expected
 
 
 Part 9: Support for internal blockmap creation
@@ -150,6 +34,7 @@ Make it possible to play maps with broken blockmaps (or no blockmaps at all).
 [X] Test as workaround for Lost Civilization
     It's unclear whether the blockmaps are broken or not imported correctly
     => Works as expected
+[ ] Create upstream feature request
 
 
 EOF
diff --git a/doomlegacy-devel/distinfo b/doomlegacy-devel/distinfo
index 9df8c83c50..761e3fb5e5 100644
--- a/doomlegacy-devel/distinfo
+++ b/doomlegacy-devel/distinfo
@@ -1,9 +1,9 @@
 $NetBSD$
 
-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.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 (patch-src_Makefile) = 40184838a23e00975a5380f18c8c53b3cc2eee47
 SHA1 (patch-src_am__map.c) = 14b3c8b70c63778ad043827ab2f0b6f4fe07bcde
 SHA1 (patch-src_doomdata.h) = 8c3186dafbf11a8a75262a06755dd9807cb58612
diff --git a/doomlegacy-devel/files/p_extnodes.c b/doomlegacy-devel/files/p_extnodes.c
index 4b52b72013..f54a60bab9 100644
--- a/doomlegacy-devel/files/p_extnodes.c
+++ b/doomlegacy-devel/files/p_extnodes.c
@@ -1,7 +1,7 @@
 // Emacs style mode select   -*- C++ -*- 
 //-----------------------------------------------------------------------------
 //
-// $Id: r_defs.h,v 1.18 1998/04/27 02:12:59 killough Exp $
+// $Id: p_extnodes.c,v 1.1 2020/05/19 11:20:16 micha Exp $
 //
 //  Copyright (C) 1999 by
 //  id Software, Chi Hoang, Lee Killough, Jim Flynn, Rand Phares, Ty Halderman
@@ -36,6 +36,7 @@
 
 // [FG] support maps with NODES in compressed ZDBSP format
 #ifdef HAVE_ZLIB
+#include <string.h>  // [MB] 2020-05-19: For memcpy()
 #include <zlib.h>
 #endif  // HAVE_ZLIB
 
@@ -361,7 +362,17 @@ void P_LoadNodes_ZDBSP (int lump, boolean compressed)
         {
             int outlen_old = outlen;
             outlen = 2 * outlen_old;
+#   if 0
             output = Z_Realloc(output, outlen, PU_STATIC, 0);
+#   else
+            // DooM Legacy has no Z_Realloc()
+            byte *output_new;
+
+            output_new = Z_Malloc(outlen, PU_STATIC, 0);
+            memcpy( (void*)output_new, (void*)output, (size_t)outlen_old);
+            Z_Free(output);
+            output = output_new;
+#   endif
             zstream->next_out = output + outlen_old;
             zstream->avail_out = outlen - outlen_old;
         }


Home | Main Index | Thread Index | Old Index