games/doomlegacy: update Doom Legacy to version 1.48.14 (rev1663)

- Retire IPX support (removed from FreeBSD nearly 10 years ago)
- Add optional support for zipped WAD files, e.g. `phobiata.zip'
- Link against zlib to decompress some "extended node" formats
- Do not patch the `make_options' file, propagate the variables
  down to make(1) via the environment and command line instead
- Drop needless parentheses when installing documentation files

Reported by:	portscout
2024Q1
Alexey Dokuchaev 2024-01-04 08:48:26 +00:00
parent 184f03fed0
commit 3942b3cb0d
3 changed files with 31 additions and 45 deletions

View File

@ -1,5 +1,5 @@
PORTNAME= doomlegacy
PORTVERSION= 1.48.12
PORTVERSION= 1.48.14
PORTEPOCH= 1
CATEGORIES= games
MASTER_SITES= SF/${PORTNAME}/${DISTVERSION:S,_,%20,}/
@ -16,38 +16,32 @@ LICENSE= GPLv2
USES= gl gmake sdl tar:bzip2
USE_GL= gl glu
USE_SDL= mixer sdl
MAKE_ARGS= OS=${OPSYS:tu}
MAKE_ENV= CC_ENVIRONMENT=1 HAVE_ZLIB=1
PLIST_FILES= bin/${PORTNAME} share/doom/dogs.wad share/doom/legacy.wad
PORTDOCS= *
OPTIONS_DEFINE= DOCS
OPTIONS_DEFINE= DOCS LIBZIP
OPTIONS_DEFINE_i386= ASM
OPTIONS_DEFAULT= LIBZIP
ASM_BROKEN= segmentation fault in ASM_PatchRowBytes()
.if exists(/usr/include/netipx/ipx.h)
OPTIONS_DEFINE+= IPX
IPX_DESC= IPX protocol support
.endif
ASM_BUILD_DEPENDS= nasm:devel/nasm
ASM_MAKE_ENV= USEASM=1
.include <bsd.port.options.mk>
LIBZIP_DESC= Zipped WAD file support via libzip
LIBZIP_LIB_DEPENDS= libzip.so:archivers/libzip
LIBZIP_MAKE_ENV= HAVE_LIBZIP=1
post-patch: .SILENT
# Adjust default WAD search path
# Adjust default WAD search path and disable IPX
${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
${REINPLACE_CMD} -e 's| -lipx||' ${WRKSRC}/src/Makefile
.endif
-e '/USE_IPX/s|define|undef|' ${WRKSRC}/src/doomdef.h
pre-build:
${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
@${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS} depend \
-C ${BUILD_WRKSRC}
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/bin/doomlegacy ${STAGEDIR}${PREFIX}/bin
@ -55,7 +49,7 @@ do-install:
${INSTALL_DATA} ${WRKDIR}/${PORTNAME}_${PORTVERSION}_common/*.wad \
${STAGEDIR}${DMDIR}
@${MKDIR} ${STAGEDIR}${DOCSDIR}
(cd ${WRKSRC}/docs && ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR})
cd ${WRKSRC}/docs && ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR}
.include "${.CURDIR}/../doom-data/Makefile.include"
.include <bsd.port.mk>

View File

@ -1,5 +1,5 @@
TIMESTAMP = 1671410365
SHA256 (doomlegacy_1.48.12_source.tar.bz2) = 8378e69730ae8fa57596b0c78d24d158618b90dabe9597793b5bd077324b5c44
SIZE (doomlegacy_1.48.12_source.tar.bz2) = 2572064
SHA256 (doomlegacy_1.48.12_common.zip) = 94cec77e7674b4c80d3f05812335918030056b33889c08d0389c6fffa28f368b
SIZE (doomlegacy_1.48.12_common.zip) = 1055689
TIMESTAMP = 1703805810
SHA256 (doomlegacy_1.48.14_source.tar.bz2) = 32f1de12088aa0fc339c12de1d2ba6756a9e6ab85ef6c4bcd6f8985374a73064
SIZE (doomlegacy_1.48.14_source.tar.bz2) = 2624909
SHA256 (doomlegacy_1.48.14_common.zip) = 3fecd4ee0fe943b92bf77eac08436953ab1a032403f539879c8599c8c02fb9f8
SIZE (doomlegacy_1.48.14_common.zip) = 1056545

View File

@ -1,15 +1,6 @@
--- src/Makefile.orig 2022-12-18 00:00:15 UTC
--- src/Makefile.orig 2023-12-28 23:33:46 UTC
+++ src/Makefile
@@ -234,7 +234,7 @@ OPTLEV=-O3
# Developers with svn can enable this to have svn revision number in executable.
# Causes compile error message otherwise.
# Until can find test for presence of svn, this is best that can be done.
-SVN_ENABLE=1
+#SVN_ENABLE=1
# This Makefile may be invoked from within the src directory,
# or invoked from the Main Makefile with SRC=<directory>.
@@ -610,8 +610,10 @@ endif
@@ -613,8 +613,10 @@ endif
OPTINC:=
INSTALL_SUPPL:=
@ -21,16 +12,17 @@
ifdef ARCH
# if does not have leading -march, -mcpu, -mtune, or similar.
ifeq ($(filter -march% -mcpu% -mtune% -m%, $(strip $(ARCH))),)
@@ -770,7 +772,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.
@@ -1305,11 +1307,11 @@ ifdef DEBUG
@@ -1260,8 +1262,7 @@ ifdef CDMUS
endif
# LIBZIP
-# For now, Linux only.
-ifeq ($(OS), LINUX)
+ifneq ($(filter LINUX FREEBSD,$(OS)),)
ifdef HAVE_DLOPEN
LIBS+=-ldl
OPTS+=-DHAVE_DLOPEN
@@ -1317,11 +1318,11 @@ ifdef DEBUG
else
# build a normal optimized version
#CFLAGS+=-O3