- Update Doom Legacy to version 1.46.3

- Do not pass SVN_REV via CFLAGS, it is now defined in `src/d_main.c'
- OLD_DEPENDENCIES is no longer a valid setting, stop referencing it
- When adjusting default WAD search path, fix only one DEFWADS rather
  than a bunch of them (one is enough)
- Remove old hack for better support for relative paths (for `-iwad'
  switch): it no longer applies and the game works correctly per se
- Remove Clang-related fixes that were integrated upstream
- Do not overwrite `make_options' file, simply append few necessary
  settings at the end of it

List of changes: http://doomlegacy.sourceforge.net/docs/whatsnew.html
This commit is contained in:
Alexey Dokuchaev 2017-04-07 15:43:20 +00:00
parent 5b516f1146
commit ab83df2487
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=437928
5 changed files with 60 additions and 52 deletions

View File

@ -2,7 +2,7 @@
# $FreeBSD$
PORTNAME= doomlegacy
PORTVERSION= 1.45.2
PORTVERSION= 1.46.3
PORTEPOCH= 1
CATEGORIES= games
MASTER_SITES= SF/${PORTNAME}/${DISTVERSION:S,_,%20,}/
@ -19,8 +19,6 @@ USES= gmake tar:bzip2
USE_GL= glu
USE_SDL= mixer sdl
CFLAGS+= -DSVN_REV=\\\"1139\\\"
PLIST_FILES= bin/${PORTNAME} share/doom/legacy.wad
PORTDOCS= *
@ -33,30 +31,22 @@ IPX_DESC= IPX protocol support
.endif
ASM_BUILD_DEPENDS= nasm:devel/nasm
ASM_MAKE_ENV= USEASM=1 OLD_DEPENDENCIES=1
ASM_MAKE_ENV= USEASM=1
.include <bsd.port.options.mk>
post-patch: .SILENT
# Adjust default WAD search path
${REINPLACE_CMD} -e '/DEFWADS1/s|/.*|${DMDIR}"|' \
${REINPLACE_CMD} -e '/DEFWADS20/s|/.*|${DMDIR}"|' \
${WRKSRC}/src/doomdef.h
# Provide better support for relative paths (for `-iwad' switch)
${REINPLACE_CMD} -e "s|s\[0\] ==[^)]*|strchr(s, '/')|" \
${WRKSRC}/src/d_main.c
# Unbreak against Clang (https://llvm.org/bugs/show_bug.cgi?id=10365)
${REINPLACE_CMD} -e 's,%cc,cc,' ${WRKSRC}/src/m_fixed.h
# Unbreak against Clang 3.7.0
${REINPLACE_CMD} -e '/draw_dir_line(/s,inline,static &,' \
${WRKSRC}/src/m_menu.c
.if ! ${PORT_OPTIONS:MIPX}
${REINPLACE_CMD} -e '/USE_IPX/s|define|undef|' ${WRKSRC}/src/doomdef.h
${REINPLACE_CMD} -e 's| -lipx||' ${WRKSRC}/Makefile
${REINPLACE_CMD} -e 's| -lipx||' ${WRKSRC}/src/Makefile
.endif
pre-build:
${ECHO_CMD} CC_ENVIRONMENT=1 MAKE_OPTIONS_PRESENT=1 HAVE_MIXER=1 | \
${XARGS} -n 1 > ${BUILD_WRKSRC}/make_options
${ECHO_CMD} CC_ENVIRONMENT=1 OS=${OPSYS:tu} | \
${XARGS} -n 1 >> ${BUILD_WRKSRC}/make_options
${MAKE_CMD} -C ${BUILD_WRKSRC} dirs
${MAKE_CMD} -C ${BUILD_WRKSRC} depend

View File

@ -1,4 +1,5 @@
SHA256 (doomlegacy_1.45.2_source.tar.bz2) = 092c23418974062a516df4c21ccd8c7d6187755220ba518475935ea5b2688fb9
SIZE (doomlegacy_1.45.2_source.tar.bz2) = 2076653
SHA256 (doomlegacy_1.45.2_common.zip) = 509bac4a05e55a9640846d64d43a0371eaed06ff82a9c4a0d8d564d35a9aec28
SIZE (doomlegacy_1.45.2_common.zip) = 941784
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

View File

@ -1,32 +0,0 @@
--- Makefile.orig 2014-05-17 18:32:47 UTC
+++ Makefile
@@ -263,9 +263,9 @@ ifeq ($(SMIF), SDL)
else
# default is Linux, for all unix SDL
EXENAME:=doomlegacy
- OPTS:=-DLINUX
+ OPTS:=-DLINUX -DFREEBSD
LDFLAGS=-L/usr/X11R6/lib
- LIBS:=-lGL -lGLU -lm
+ LIBS:=-lGL -lGLU -lm -lipx
# -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.
@@ -599,7 +599,7 @@ ifdef CDMUS
endif
# compiler and linker flags
-CFLAGS:=$(WFLAGS)
+#CFLAGS:=$(WFLAGS)
ifdef PROFILEMODE
# build with gprof profiling information
@@ -616,7 +616,7 @@ ifdef DEBUG
else
# build a normal optimized version
#CFLAGS+=-O3
- CFLAGS+=$(OPTLEV) -fomit-frame-pointer
+ #CFLAGS+=$(OPTLEV) -fomit-frame-pointer
endif
endif

View File

@ -0,0 +1,34 @@
--- src/Makefile.orig 2017-01-01 23:32:38 UTC
+++ src/Makefile
@@ -577,7 +577,7 @@ ifeq ($(SMIF), SDL)
# default is Linux, for all unix SDL
EXENAME:=doomlegacy
LDFLAGS=-L/usr/X11R6/lib
- LIBS:=-lGL -lGLU -lm
+ LIBS:=-lGL -lGLU -lm -lipx
# -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
else
# build a normal optimized version
#CFLAGS+=-O3
- CFLAGS+=$(OPTLEV) -fomit-frame-pointer
+ #CFLAGS+=$(OPTLEV) -fomit-frame-pointer
endif
endif
-CFLAGS+=-ffast-math -fno-strict-aliasing
+#CFLAGS+=-ffast-math -fno-strict-aliasing
# WIN98 linking needs LCFLAGS without -D flags and does not need includes
LCFLAGS:=$(CFLAGS)
CFLAGS+=$(OPTS) $(OPTINC)

View File

@ -0,0 +1,15 @@
--- 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;