diff options
author | Alexey Dokuchaev <danfe@FreeBSD.org> | 2019-12-08 12:15:29 +0000 |
---|---|---|
committer | Alexey Dokuchaev <danfe@FreeBSD.org> | 2019-12-08 12:15:29 +0000 |
commit | 94108af78bab9a7002d363b35421bf1f6ac69205 (patch) | |
tree | 4a7a73f964e45ade81f35bbe9d455db5c7fb1583 | |
parent | devel/libosinfo: update to 1.7.1 (diff) |
Belatedly update Doom Legacy to version 1.47.2 (r1412) and unbreak.
The new features include MBF (Marine's Best Friend) compatibility, support
for sprites with 16 rotation positions, the possibility of multiple clients
and the server running on the same computer, plus many bug fixes.
While here, move ${DMDIR} up in WAD search list (DEFWADS20 -> DEFWADS04),
add ASM_BROKEN and missing `gl' to USE_GL, improve diagnostics and fix
potential segmentation fault in the owner_wad_search_order() function.
Notes
Notes:
svn path=/head/; revision=519298
-rw-r--r-- | games/doomlegacy/Makefile | 10 | ||||
-rw-r--r-- | games/doomlegacy/distinfo | 10 | ||||
-rw-r--r-- | games/doomlegacy/files/patch-src_Makefile | 27 | ||||
-rw-r--r-- | games/doomlegacy/files/patch-src_d__main.c | 41 | ||||
-rw-r--r-- | games/doomlegacy/files/patch-src_i__tcp.c | 15 |
5 files changed, 44 insertions, 59 deletions
diff --git a/games/doomlegacy/Makefile b/games/doomlegacy/Makefile index 5fd1ffd857e0..3f0ecadc74fa 100644 --- a/games/doomlegacy/Makefile +++ b/games/doomlegacy/Makefile @@ -2,8 +2,7 @@ # $FreeBSD$ PORTNAME= doomlegacy -PORTVERSION= 1.46.3 -PORTREVISION= 1 +PORTVERSION= 1.47.2 PORTEPOCH= 1 CATEGORIES= games MASTER_SITES= SF/${PORTNAME}/${DISTVERSION:S,_,%20,}/ @@ -14,12 +13,10 @@ DISTFILES= ${DISTNAME}${EXTRACT_SUFX} \ MAINTAINER= danfe@FreeBSD.org COMMENT= Improved and extended version of Doom -BROKEN= unfetchable - LICENSE= GPLv2 USES= gl gmake sdl tar:bzip2 -USE_GL= glu +USE_GL= gl glu USE_SDL= mixer sdl PLIST_FILES= bin/${PORTNAME} share/doom/legacy.wad @@ -27,6 +24,7 @@ PORTDOCS= * OPTIONS_DEFINE= DOCS OPTIONS_DEFINE_i386= ASM +ASM_BROKEN= segmentation fault in ASM_PatchRowBytes() .if exists(/usr/include/netipx/ipx.h) OPTIONS_DEFINE+= IPX @@ -40,7 +38,7 @@ ASM_MAKE_ENV= USEASM=1 post-patch: .SILENT # Adjust default WAD search path - ${REINPLACE_CMD} -e '/DEFWADS20/s|/.*|${DMDIR}"|' \ + ${REINPLACE_CMD} -e '/DEFWADS04/s|/.*|${DMDIR}"|' \ ${WRKSRC}/src/doomdef.h .if ! ${PORT_OPTIONS:MIPX} ${REINPLACE_CMD} -e '/USE_IPX/s|define|undef|' ${WRKSRC}/src/doomdef.h diff --git a/games/doomlegacy/distinfo b/games/doomlegacy/distinfo index f44715be8559..5b764c8e019d 100644 --- a/games/doomlegacy/distinfo +++ b/games/doomlegacy/distinfo @@ -1,5 +1,5 @@ -TIMESTAMP = 1488573218 -SHA256 (doomlegacy_1.46.3_source.tar.bz2) = 7bdb2b3c39113802d66cb3db501d3f5464fb286a97b7e39d76603202cc28b0ea -SIZE (doomlegacy_1.46.3_source.tar.bz2) = 2206648 -SHA256 (doomlegacy_1.46.3_common.zip) = 6447e12b9b1238a096e59bae8429329ed04786fb10d16a927405df3d3b225df2 -SIZE (doomlegacy_1.46.3_common.zip) = 971347 +TIMESTAMP = 1532515359 +SHA256 (doomlegacy_1.47.2_source.tar.bz2) = ed50c5091f39e08a2cd1163497c8d047467a059f3ade14915f07e38da5174373 +SIZE (doomlegacy_1.47.2_source.tar.bz2) = 2276199 +SHA256 (doomlegacy_1.47.2_common.zip) = 7fbd94a8c0186170f3250c7ee60dacfc30d7f8f08102f3b990b91f31c7b339d1 +SIZE (doomlegacy_1.47.2_common.zip) = 981654 diff --git a/games/doomlegacy/files/patch-src_Makefile b/games/doomlegacy/files/patch-src_Makefile index ff23210c1b91..14bb6221d117 100644 --- a/games/doomlegacy/files/patch-src_Makefile +++ b/games/doomlegacy/files/patch-src_Makefile @@ -1,6 +1,18 @@ ---- src/Makefile.orig 2017-01-01 23:32:38 UTC +--- src/Makefile.orig 2018-07-16 09:17:06 UTC +++ src/Makefile -@@ -577,7 +577,7 @@ ifeq ($(SMIF), SDL) +@@ -554,8 +554,10 @@ LIBS:= + LDFLAGS:= + INSTALL_SUPPL:= + +-CFLAGS:= ++#CFLAGS:= + # Machine architecture. ++# (Ab)using ARCH is very bad idea and can easily break things! ++override undefine ARCH + ifdef ARCH + # if does not have leading -march, -mcpu, -mtune, or similar. + ifeq ($(filter -march% -mcpu% -mtune% -m%, $(strip $(ARCH))),) +@@ -598,7 +600,7 @@ ifeq ($(SMIF), SDL) # default is Linux, for all unix SDL EXENAME:=doomlegacy LDFLAGS=-L/usr/X11R6/lib @@ -9,16 +21,7 @@ # -L/usr/X11R6/lib is needed by Linux 2.4 and others that still have # the GLU libraries in an X11 directory. # -lm is needed for pow, powf, and other MATH1 functions. -@@ -963,7 +963,7 @@ ifdef CDMUS - endif - - # compiler and linker flags --CFLAGS:=$(WFLAGS) -+#CFLAGS:=$(WFLAGS) - - ifdef PROFILEMODE - # build with gprof profiling information -@@ -980,11 +980,11 @@ ifdef DEBUG +@@ -1001,11 +1003,11 @@ ifdef DEBUG else # build a normal optimized version #CFLAGS+=-O3 diff --git a/games/doomlegacy/files/patch-src_d__main.c b/games/doomlegacy/files/patch-src_d__main.c index f7184d3238a3..43247157ff16 100644 --- a/games/doomlegacy/files/patch-src_d__main.c +++ b/games/doomlegacy/files/patch-src_d__main.c @@ -1,27 +1,26 @@ ---- src/d_main.c.orig 2017-03-03 19:49:10 UTC +--- src/d_main.c.orig 2018-07-25 10:14:34 UTC +++ src/d_main.c -@@ -439,11 +439,13 @@ extern char mac_user_home[FILENAME_SIZE] - void owner_wad_search_order( void ) - { - // Wad search order. -+#if 0 - if( defdir_stat ) - { - // Search current dir near first, for other wad searches. - doomwaddir[1] = defdir; +@@ -454,18 +454,20 @@ void owner_wad_search_order( void ) + } + else + if( (strcmp( defdir, cv_home.string ) != 0) // not home directory +- && (strcmp( defdir, progdir ) != 0) // not program directory +- && (strcmp( defdir, progdir_wads ) != 0) ) // not wads directory +- { ++ ) { if( verbose ) ++ GenPrintf( EMSG_ver, "User's home is default dir, not searched.\n"); ++ } else { + defdir_search = 1; + // Search current dir near first, for other wad searches. + doomwaddir[1] = defdir; + } } -+#endif ++#if 0 // only useful for developers, missing NULL checks // Search progdir/wads early, for other wad searches. doomwaddir[2] = progdir_wads; // Search last, for other wad searches. -@@ -1160,8 +1162,10 @@ void Print_search_directories( byte emf - // Verbose only. For IWAD or legacy.wad they are in doomwaddir entries. - if( (enables==0x0F) && progdir_wads ) - GenPrintf(emf, " : %s\n", progdir_wads ); -+#if 0 - if( (enables==0x0F) && defdir ) - GenPrintf(emf, " defdir: %s\n", defdir ); + doomwaddir[MAX_NUM_DOOMWADDIR-1] = progdir; +#endif - #ifdef LEGACYWADDIR - GenPrintf(emf, " LEGACYWADDIR: %s\n", LEGACYWADDIR ); - #endif + } + + diff --git a/games/doomlegacy/files/patch-src_i__tcp.c b/games/doomlegacy/files/patch-src_i__tcp.c deleted file mode 100644 index 4057de5862c7..000000000000 --- a/games/doomlegacy/files/patch-src_i__tcp.c +++ /dev/null @@ -1,15 +0,0 @@ ---- src/i_tcp.c.orig 2017-03-03 19:49:10 UTC -+++ src/i_tcp.c -@@ -411,8 +411,12 @@ byte IPX_hashaddr(mysockaddr_t *a) - // Not allowed to be 0. - // Big endian, want final addr byte. - #ifdef LINUX -+# ifdef FREEBSD -+ return ((byte)(a->ipx.sipx_addr.x_host.c_host[5])) | 0x80; -+# else - // Linux: IPX address hash - return ((byte)(a->ipx.sipx_node[5])) | 0x80; -+# endif - #else - // Windows, OS2, DJGPP: IPX address hash - return ((byte)(a->ipx.sa_nodenum[5])) | 0x80; |