aboutsummaryrefslogtreecommitdiff
path: root/games/eduke32
diff options
context:
space:
mode:
authorThomas Zander <riggs@FreeBSD.org>2016-01-06 16:00:59 +0000
committerThomas Zander <riggs@FreeBSD.org>2016-01-06 16:00:59 +0000
commitce3ffa3f655e4c555aa7c567d27cc63bf816338a (patch)
tree96b78c148a82368147dba18802ab59cf589ca828 /games/eduke32
parent47c1a3f6f2d40f2587b02f9f80c1545038869bb0 (diff)
downloadports-ce3ffa3f655e4c555aa7c567d27cc63bf816338a.tar.gz
ports-ce3ffa3f655e4c555aa7c567d27cc63bf816338a.zip
Notes
Diffstat (limited to 'games/eduke32')
-rw-r--r--games/eduke32/Makefile64
-rw-r--r--games/eduke32/distinfo10
-rw-r--r--games/eduke32/files/patch-Makefile.common3
-rw-r--r--games/eduke32/files/patch-build_src_engine.c14
-rw-r--r--games/eduke32/files/pkg-message.in11
5 files changed, 84 insertions, 18 deletions
diff --git a/games/eduke32/Makefile b/games/eduke32/Makefile
index cff977f6d941..2e7833643100 100644
--- a/games/eduke32/Makefile
+++ b/games/eduke32/Makefile
@@ -2,11 +2,11 @@
# $FreeBSD$
PORTNAME= eduke32
-PORTVERSION= 20150830
+PORTVERSION= 20160103
CATEGORIES= games
-MASTER_SITES= http://dukeworld.duke4.net/eduke32/synthesis/${PORTVERSION}-${SVNREVISION}/ \
- http://dukeworld.duke4.net/eduke32/synthesis/old/${PORTVERSION}-${SVNREVISION}/
-DISTNAME= ${PORTNAME}_src_${PORTVERSION}-${SVNREVISION}
+MASTER_SITES= http://dukeworld.duke4.net/eduke32/synthesis/${PORTVERSION}-${SVNREVISION}/:eduke32
+DISTFILES= ${PORTNAME}_src_${PORTVERSION}-${SVNREVISION}${EXTRACT_SUFX}:eduke32
+EXTRACT_ONLY= ${PORTNAME}_src_${PORTVERSION}-${SVNREVISION}${EXTRACT_SUFX}
MAINTAINER= pkubaj@riseup.net
COMMENT= Duke Nukem 3D Port based on JFDuke and EDuke
@@ -25,7 +25,10 @@ USE_GL= gl glu
USE_GNOME= gtk20
USE_SDL= sdl2 mixer2
WRKSRC= ${WRKDIR}/${PORTNAME}_${PORTVERSION}-${SVNREVISION}
-SVNREVISION= 5338
+SVNREVISION= 5506
+DATADIR= ${LOCALBASE}/share/duke3d
+SUB_FILES= pkg-message
+SUB_LIST= DATADIR=${DATADIR}
PLIST_FILES= bin/eduke32 bin/mapster32
PORTDOCS= *
@@ -33,7 +36,7 @@ PORTEXAMPLES= *
BROKEN_sparc64= does not compile on sparc64
-OPTIONS_DEFINE= DOCS EXAMPLES
+OPTIONS_DEFINE= DOCS EXAMPLES HRP OFFENSIVE SHAREWARE
OPTIONS_RADIO= MIDI
OPTIONS_RADIO_MIDI= TIMIDITY TIMIDITYPLUS
OPTIONS_DEFAULT=TIMIDITY
@@ -41,13 +44,48 @@ OPTIONS_DEFINE_i386= ASM
OPTIONS_DEFAULT_i386= ASM
ASM_BUILD_DEPENDS= nasm:${PORTSDIR}/devel/nasm
+HRP_DESC= Install High Resolution Pack
MIDI_DESC= MIDI music support
+OFFENSIVE_DESC= Install full XXX Pack
+OFFENSIVE_IMPLIES= HRP
+SHAREWARE_DESC= Install shareware game data version 1.3
TIMIDITY_DESC= Use Timidity for music support
TIMIDITY_RUN_DEPENDS= timidity:${PORTSDIR}/audio/timidity
TIMIDITYPLUS_DESC= Use Timidity++ for music support
TIMIDITYPLUS_RUN_DEPENDS= timidity:${PORTSDIR}/audio/timidity++
-.include "${.CURDIR}/../duke3d-data/Makefile.include"
+.include <bsd.port.options.mk>
+
+.if ${PORT_OPTIONS:MHRP}
+DISTFILES+= duke3d_hrp.zip:hrp
+PLIST_SUB+= HRP=""
+PLIST_FILES+= ${DATADIR}/duke3d_hrp.zip
+MASTER_SITES+= http://www.duke4.org/files/nightfright/hrp/:hrp
+.else
+PLIST_SUB+= HRP="@comment "
+.endif
+
+.if ${PORT_OPTIONS:MOFFENSIVE}
+DISTFILES+= duke3d_xxx.zip:xxx
+PLIST_SUB+= OFFENSIVE=""
+PLIST_FILES+= ${DATADIR}/duke3d_xxx.zip
+MASTER_SITES+= http://www.duke4.org/files/nightfright/:xxx
+.else
+PLIST_SUB+= XXX="@comment "
+.endif
+
+.if ${PORT_OPTIONS:MSHAREWARE}
+EXTRACT_ONLY+= 3dduke13.zip
+DISTFILES+= 3dduke13.zip:shareware
+PLIST_SUB+= SHAREWARE=""
+PLIST_FILES+= ${DATADIR}/duke3d.grp
+MASTER_SITES+= ftp://ftp.3drealms.com/share/:shareware
+.else
+PLIST_SUB+= SHAREWARE="@comment "
+.endif
+
+post-extract-SHAREWARE-on:
+ @cd ${WRKDIR} && ${UNZIP_NATIVE_CMD} -qo DN3DSW13.SHR
post-patch:
@${REINPLACE_CMD} -e '/^CC=/s|gcc|${CC}|' -e '/^CXX=/s|g++|${CXX}|' \
@@ -73,4 +111,16 @@ do-install-EXAMPLES-on:
${INSTALL_DATA} ${WRKSRC}/package/sdk/*.cfg ${STAGEDIR}${EXAMPLESDIR}
${INSTALL_DATA} ${WRKSRC}/package/sdk/samples/*.txt ${STAGEDIR}${EXAMPLESDIR}
+do-install-HRP-on:
+ @${MKDIR} ${STAGEDIR}${DATADIR}
+ ${INSTALL_DATA} ${DISTDIR}/duke3d_hrp.zip ${STAGEDIR}${DATADIR}/duke3d_hrp.zip
+
+do-install-OFFENSIVE-on:
+ @${MKDIR} ${STAGEDIR}${DATADIR}
+ ${INSTALL_DATA} ${DISTDIR}/duke3d_xxx.zip ${STAGEDIR}${DATADIR}/duke3d_xxx.zip
+
+do-install-SHAREWARE-on:
+ @${MKDIR} ${STAGEDIR}${DATADIR}
+ ${INSTALL_DATA} ${WRKDIR}/DUKE3D.GRP ${STAGEDIR}${DATADIR}/duke3d.grp
+
.include <bsd.port.mk>
diff --git a/games/eduke32/distinfo b/games/eduke32/distinfo
index 839d1ce42e03..9afb8d43944a 100644
--- a/games/eduke32/distinfo
+++ b/games/eduke32/distinfo
@@ -1,2 +1,8 @@
-SHA256 (eduke32_src_20150830-5338.tar.xz) = 122375d58eb800e6b1eb4856757fccc3c6f463e5b724a866afc7ab6d84b1a0c2
-SIZE (eduke32_src_20150830-5338.tar.xz) = 14328856
+SHA256 (eduke32_src_20160103-5506.tar.xz) = bdd4ea7100c3913981f1be0fc26285a433659bf83528cb2a93f0bcabd95aa34a
+SIZE (eduke32_src_20160103-5506.tar.xz) = 14352508
+SHA256 (duke3d_hrp.zip) = f217df456b4f11055041731033e35e4402fada99253e714e37c4a27e6fdc78a5
+SIZE (duke3d_hrp.zip) = 933440151
+SHA256 (duke3d_xxx.zip) = c31713e6400a175a1bfa3bd369d132f8a8abce8915c113549f98262b9a84b534
+SIZE (duke3d_xxx.zip) = 26586453
+SHA256 (3dduke13.zip) = c67efd179022bc6d9bde54f404c707cbcbdc15423c20be72e277bc2bdddf3d0e
+SIZE (3dduke13.zip) = 5924374
diff --git a/games/eduke32/files/patch-Makefile.common b/games/eduke32/files/patch-Makefile.common
index f6cafcb20acb..d379ba1916e7 100644
--- a/games/eduke32/files/patch-Makefile.common
+++ b/games/eduke32/files/patch-Makefile.common
@@ -12,9 +12,8 @@
OPTIMIZATIONS += $(DEBUGFLAG)
endif
--CONLYFLAGS=-std=gnu99 -Wimplicit -Werror-implicit-function-declaration
+ CONLYFLAGS=-std=gnu99 -Wimplicit -Werror-implicit-function-declaration
-CPPONLYFLAGS= -fno-exceptions -fno-rtti -Wno-write-strings
-+CONLYFLAGS=-std=gnu99 -Wimplicit
+CPPONLYFLAGS= -fno-exceptions -fno-rtti -fpermissive -Wno-write-strings
ASFORMAT=elf$(SYSBITS)
ASFLAGS=-s -f $(ASFORMAT) #-g
diff --git a/games/eduke32/files/patch-build_src_engine.c b/games/eduke32/files/patch-build_src_engine.c
index a7ccecc9d871..4ff51fd95252 100644
--- a/games/eduke32/files/patch-build_src_engine.c
+++ b/games/eduke32/files/patch-build_src_engine.c
@@ -1,11 +1,11 @@
---- build/src/engine.c.orig 2015-08-02 08:40:39 UTC
+--- build/src/engine.c.orig 2015-09-23 17:55:31 UTC
+++ build/src/engine.c
@@ -5349,7 +5349,8 @@ static void drawalls(int32_t bunch)
static char fn[32], tmpbuf[80];
- char purple = getclosestcol(63, 0, 63);
- char yellow = getclosestcol(63, 63, 0);
+ char purple = getclosestcol(255, 0, 255);
+ char yellow = getclosestcol(255, 255, 0);
- char *bakframe = (char *)Xaligned_alloc(16, xdim*ydim);
-+ char *bakframe;
++ char *bakframe;
+ posix_memalign(&bakframe, 16, xdim*ydim);
begindrawing(); //{{{
@@ -19,9 +19,9 @@
if (xdimen < 1 << 11)
{
-@@ -11654,7 +11655,7 @@ static void initsmost(void)
- if (*dynarray[i].ptr)
- Baligned_free(*dynarray[i].ptr);
+@@ -11757,7 +11758,7 @@ static void initsmost(void)
+ {
+ Baligned_free(*dynarray[i].ptr);
- *dynarray[i].ptr = Xaligned_alloc(16, dynarray[i].size);
+ posix_memalign(dynarray[i].ptr, 16, dynarray[i].size);
diff --git a/games/eduke32/files/pkg-message.in b/games/eduke32/files/pkg-message.in
new file mode 100644
index 000000000000..e021114ff1db
--- /dev/null
+++ b/games/eduke32/files/pkg-message.in
@@ -0,0 +1,11 @@
+==============================================================================
+
+To complete the installation of this port you need to copy the file
+"DUKE3D.GRP" from the original Duke Nukem 3D distribution as "duke3d.grp" to
+%%DATADIR%%, if you want to install it globally, and then run with
+-g %%DATADIR%%/duke3d.grp parameter. If you also installed any of the
+optional packs, you need to add the -g parameter in the same manner.
+
+If you installed the XXX Pack, you need to include both HRP and XXX Packs.
+
+==============================================================================