summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexey Dokuchaev <danfe@FreeBSD.org>2019-12-08 12:15:29 +0000
committerAlexey Dokuchaev <danfe@FreeBSD.org>2019-12-08 12:15:29 +0000
commit94108af78bab9a7002d363b35421bf1f6ac69205 (patch)
tree4a7a73f964e45ade81f35bbe9d455db5c7fb1583
parentdevel/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/Makefile10
-rw-r--r--games/doomlegacy/distinfo10
-rw-r--r--games/doomlegacy/files/patch-src_Makefile27
-rw-r--r--games/doomlegacy/files/patch-src_d__main.c41
-rw-r--r--games/doomlegacy/files/patch-src_i__tcp.c15
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;