ports/63082: New port: games/duke3d - Icculus.org Duke Nukem 3D port

alexander arundel at gmx.net
Thu Feb 19 21:30:16 UTC 2004


>Number:         63082
>Category:       ports
>Synopsis:       New port: games/duke3d - Icculus.org Duke Nukem 3D port
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Thu Feb 19 13:30:15 PST 2004
>Closed-Date:
>Last-Modified:
>Originator:     No Name
>Release:        FreeBSD 4.9-STABLE i386
>Organization:
<organization of PR author (multiple lines)>
>Environment:
System: FreeBSD skatecity 4.9-STABLE FreeBSD 4.9-STABLE #0: Sun Feb 8 17:15:36 CET 2004 arundel at skatecity:/usr/obj/usr/src/sys/ARUNDEL i386

>Description:
        Icculus.org Duke Nukem 3D port.

        There hasn't been a public release yet, so I just tar-ziped a cvs snapshot.
        If you want to commit this port please tell me where to send the snapshot.
        I left MASTER_SITES and MASTER_SITE_SUBDIR empty, so you can place any location
        in there quite easily.

>How-To-Repeat:
	<code/input/activities to reproduce the problem (multiple lines)>
>Fix:

	<how to correct or work around the problem, if known (multiple lines)>

--- output begins here ---
# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#	/usr/ports/games/duke3d/
#	/usr/ports/games/duke3d/files
#	/usr/ports/games/duke3d/files/patch-aa
#	/usr/ports/games/duke3d/files/patch-ab
#	/usr/ports/games/duke3d/files/patch-ac
#	/usr/ports/games/duke3d/scripts
#	/usr/ports/games/duke3d/scripts/fix.sh
#	/usr/ports/games/duke3d/scripts/wrapper.sh
#	/usr/ports/games/duke3d/pkg-descr
#	/usr/ports/games/duke3d/Makefile
#	/usr/ports/games/duke3d/pkg-plist
#	/usr/ports/games/duke3d/distinfo
#
echo c - /usr/ports/games/duke3d/
mkdir -p /usr/ports/games/duke3d/ > /dev/null 2>&1
echo c - /usr/ports/games/duke3d/files
mkdir -p /usr/ports/games/duke3d/files > /dev/null 2>&1
echo x - /usr/ports/games/duke3d/files/patch-aa
sed 's/^X//' >/usr/ports/games/duke3d/files/patch-aa << 'END-of-/usr/ports/games/duke3d/files/patch-aa'
X*** source/buildengine/Makefile.orig	Thu Sep 18 02:21:15 2003
X--- source/buildengine/Makefile	Thu Aug  7 12:06:17 2003
X***************
X*** 96,103 ****
X      SDL_LDFLAGS := -L$(SDL_LIB_DIR) -lSDL
X    endif
X  else
X!   SDL_CFLAGS := $(shell sdl-config --cflags)
X!   SDL_LDFLAGS := $(shell sdl-config --libs)
X  endif
X  
X  CC = gcc
X--- 96,103 ----
X      SDL_LDFLAGS := -L$(SDL_LIB_DIR) -lSDL
X    endif
X  else
X!   SDL_CFLAGS := $(shell sdl11-config --cflags)
X!   SDL_LDFLAGS := $(shell sdl11-config --libs)
X  endif
X  
X  CC = gcc
X
END-of-/usr/ports/games/duke3d/files/patch-aa
echo x - /usr/ports/games/duke3d/files/patch-ab
sed 's/^X//' >/usr/ports/games/duke3d/files/patch-ab << 'END-of-/usr/ports/games/duke3d/files/patch-ab'
X*** source/buildengine/mmulti.c.orig	Sat Jun  7 08:58:45 2003
X--- source/buildengine/mmulti.c	Thu Sep 18 02:24:25 2003
X***************
X*** 916,929 ****
X      if (!set_socket_blockmode(0))
X          return(0);
X  
X-     #if !PLATFORM_WIN32 && !PLATFORM_MACOSX
X-     {
X-         /* Linux-specific. */
X-         int flags = 1;
X-         setsockopt(udpsocket, SOL_IP, IP_RECVERR, &flags, sizeof (flags));
X-     }
X-     #endif
X- 
X      memset(&addr, '\0', sizeof (addr));
X      addr.sin_family = AF_INET;
X      addr.sin_addr.s_addr = htonl(ip);
X--- 916,921 ----
X
END-of-/usr/ports/games/duke3d/files/patch-ab
echo x - /usr/ports/games/duke3d/files/patch-ac
sed 's/^X//' >/usr/ports/games/duke3d/files/patch-ac << 'END-of-/usr/ports/games/duke3d/files/patch-ac'
X*** source/Makefile.orig        Fri Sep 12 20:08:26 2003
X--- source/Makefile    Thu Sep 18 02:43:35 2003
X***************
X*** 47,54 ****
X      SDL_LDFLAGS := -L$(SDL_LIB_DIR) -lSDL
X    endif                                  
X  else
X!   SDL_CFLAGS := $(shell sdl-config --cflags)
X!   SDL_LDFLAGS := $(shell sdl-config --libs)
X  endif
X
X  ifeq ($(strip $(macosx)),true)
X--- 47,54 ----
X      SDL_LDFLAGS := -L$(SDL_LIB_DIR) -lSDL
X    endif                                  
X  else
X!   SDL_CFLAGS := $(shell sdl11-config --cflags)
X!   SDL_LDFLAGS := $(shell sdl11-config --libs)
X  endif
X
X  ifeq ($(strip $(macosx)),true)
X***************
X*** 94,100 ****
X  #CC = icc
X  #CFLAGS = -g $(SDL_CFLAGS) -DUSE_SDL=1 -DPLATFORM_UNIX=1 -DUSE_I386_ASM=1 $(EXTRACFLAGS) -O2
X
X! LDLIBS = $(SDL_LDFLAGS) -lSDL -lSDL_mixer $(EXTRALDFLAGS)
X
X  # !!! FIXME: Do we even need this? It doesn't fly on MacOS X.  --ryan.
X  #LDLIBS += -Wl,-E
X--- 94,100 ----
X  #CC = icc
X  #CFLAGS = -g $(SDL_CFLAGS) -DUSE_SDL=1 -DPLATFORM_UNIX=1 -DUSE_I386_ASM=1 $(EXTRACFLAGS) -O2
X
X! LDLIBS = $(SDL_LDFLAGS) -lSDL_mixer $(EXTRALDFLAGS)
X
X  # !!! FIXME: Do we even need this? It doesn't fly on MacOS X.  --ryan.
X  #LDLIBS += -Wl,-E
X
END-of-/usr/ports/games/duke3d/files/patch-ac
echo c - /usr/ports/games/duke3d/scripts
mkdir -p /usr/ports/games/duke3d/scripts > /dev/null 2>&1
echo x - /usr/ports/games/duke3d/scripts/fix.sh
sed 's/^X//' >/usr/ports/games/duke3d/scripts/fix.sh << 'END-of-/usr/ports/games/duke3d/scripts/fix.sh'
X#!/bin/sh
Xcd %%DUKEDIR%%
X
Xif [ ! -d %%DUKEDIR%% ] || [ ! -w %%DUKEDIR%% ]
Xthen
X	echo You do not have permission to write to %%DUKEDIR%%.
X	exit
Xfi
X
Xif [ ! -d testdata ]
Xthen
X	echo testdata directory is missing
X	exit
Xfi
X
Xif [ ! -f testdata/defs.con ] || [ ! -f testdata/game.con ] ||  [ ! -f testdata/user.con ]
Xthen
X	echo At least one resource file in testdata is missing
X	exit
Xfi
X
Xif [ -f DEFS.CON ]
Xthen                                                             
X        echo Backing up original DEFS.CON to DEFS.BAK
X	cp DEFS.CON DEFS.BAK
Xfi
X
Xif [ -f GAME.CON ]
Xthen                                                             
X        echo Backing up original GAME.CON to GAME.BAK
X	cp GAME.CON GAME.BAK
Xfi
X
Xif [ -f USER.CON ]
Xthen                                                             
X        echo Backing up original USER.CON to USER.BAK
X	cp USER.CON USER.BAK
Xfi
X
Xcp -f testdata/defs.con ./DEFS.CON
Xcp -f testdata/game.con ./GAME.CON
Xcp -f testdata/user.con ./USER.CON
END-of-/usr/ports/games/duke3d/scripts/fix.sh
echo x - /usr/ports/games/duke3d/scripts/wrapper.sh
sed 's/^X//' >/usr/ports/games/duke3d/scripts/wrapper.sh << 'END-of-/usr/ports/games/duke3d/scripts/wrapper.sh'
X#!/bin/sh
X# Needed to make symlinks/shortcuts work.
X# Wrap lsdldoom binary
Xcd %%DUKEDIR%%
X./duke3d $*
Xexit $?
END-of-/usr/ports/games/duke3d/scripts/wrapper.sh
echo x - /usr/ports/games/duke3d/pkg-descr
sed 's/^X//' >/usr/ports/games/duke3d/pkg-descr << 'END-of-/usr/ports/games/duke3d/pkg-descr'
XDuke3D for Linux
X
XThis port was done by Dan Olson, Steven Fuller, and Ryan C. Gordon, 
Xwith contributions from David Koenig, Dave Watson, among others.
X
XThe real nasty part (porting the Build Engine) was the work of:
X
X    * Ryan C. Gordon
X    * Dan Olson
X    * Andrew Henderson
X    * Christian Zander
X    * Adrian Neill
X    * Matt Helsley
X    * Nicholas Vining
X    * Matt Saettler
X    * Steven Fuller
X    * A cast of thousands. 
X
XWWW:  http://www.icculus.org/duke3d/
END-of-/usr/ports/games/duke3d/pkg-descr
echo x - /usr/ports/games/duke3d/Makefile
sed 's/^X//' >/usr/ports/games/duke3d/Makefile << 'END-of-/usr/ports/games/duke3d/Makefile'
X# New ports collection makefile for:	duke3d
X# Date Created:				18 September 2003
X# Whom:					<arundel at gmx.net>
X#
X# $FreeBSD$
X
XPORTNAME=	duke3d
XPORTVERSION=	06232001
XCATEGORIES=	games
XMASTER_SITES=	?
XMASTER_SITE_SUBDIR=	?
XPKGNAMESUFFIX=	-cvs
XDISTNAME=	${PORTNAME}-src${PKGNAMESUFFIX}-${PORTVERSION}
X
XMAINTAINER=	arundel at gmx.net
XCOMMENT=	Icculus Duke Nukem 3D port for various Operating Systems.
X
XBUILD_DEPENDS=	nasm:${PORTSDIR}/devel/nasm
XLIB_DEPENDS=	SDL_mixer.2:${PORTSDIR}/audio/sdl_mixer
X
XNO_CDROM=	yes
XUSE_XLIB=	yes
XUSE_GMAKE=	yes
XUSE_SDL=	yes
X
XWRKSRC=		${WRKDIR}/duke3d
X
XTARGET_DIR=	${LOCALBASE}/${PORTNAME}
X
XDATA_FILES=	defs.con game.con user.con
XPROG_FILES=	${WRKSRC}/source/${PORTNAME} ${WRKSRC}/source/buildengine/build
XDOC_FILES1=	README 	BUILDLIC.TXT CONTRIB TODO CHANGELOG
XDOC_FILES2=	${WRKSRC}/readme.txt ${WRKSRC}/gnu.txt
X
Xpre-everything::
X.ifndef(WITHOUT_DOSBOX)
X	@${ECHO_MSG} ""
X	@${ECHO_MSG} "Define WITHOUT_DOSBOX to disable the dependency on dosbox."
X	@${ECHO_MSG} "Then however you will not be able to change the Duke3D config."
X	@${ECHO_MSG} ""
X
XRUN_DEPENDS=	${LOCALBASE}/bin/dosbox:${PORTSDIR}/emulators/dosbox
X.endif
X
Xpost-patch:
X	@${SED} -e "s|%%DUKEDIR%%|${PREFIX}/${PORTNAME}|g" ${SCRIPTDIR}/fix.sh > \
X		${WRKDIR}/fix.sh
X
X	@${SED} -e "s|%%DUKEDIR%%|${PREFIX}/${PORTNAME}|" ${SCRIPTDIR}/wrapper.sh > \
X		${WRKDIR}/wrapper.sh
X
Xdo-build:
X	cd ${WRKSRC}/source/buildengine && ${GMAKE}
X	cd ${WRKSRC}/source && ${GMAKE}
X
Xdo-install:
X	${INSTALL} -d ${TARGET_DIR}
X	${INSTALL_PROGRAM} ${PROG_FILES} ${TARGET_DIR}
X	${INSTALL_SCRIPT} ${WRKDIR}/fix.sh ${TARGET_DIR}
X	${INSTALL_SCRIPT} ${WRKDIR}/wrapper.sh ${TARGET_DIR}/duke.sh
X	${INSTALL} -d ${TARGET_DIR}/testdata
X
X.for file in ${DATA_FILES}
X	${INSTALL_DATA} ${WRKSRC}/testdata/${file} ${TARGET_DIR}/testdata
X.endfor
X
X	${LN} -s ${TARGET_DIR}/duke.sh ${LOCALBASE}/bin/duke3d
X
Xpost-install:
X.if !defined(NOPORTDOCS)
X	${MKDIR} ${DOCSDIR}
X
X.for file in ${DOC_FILES1}
X	${INSTALL_MAN} ${WRKSRC}/source/buildengine/${file} ${DOCSDIR}
X.endfor
X
X	${INSTALL_MAN} ${DOC_FILES2} ${DOCSDIR}
X.endif
X
X	@${ECHO_MSG} ""
X	@${ECHO_MSG} "##########################################################################"
X	@${ECHO_MSG} ""
X	@${ECHO_MSG} "Copy the data files from the Duke Nukem 3D CD-ROM or from the Sharware"
X	@${ECHO_MSG} "release to ${PREFIX}/${PORTNAME} and run fix.sh."
X	@${ECHO_MSG} ""
X	@${ECHO_MSG} "If you want to edit you config run dosbox, mount ${PREFIX}/${PORTNAME}"
X	@${ECHO_MSG} "and run SETUP.EXE. Be sure you have write permission. Otherwise your"
X	@${ECHO_MSG} "changes will get lost."
X	@${ECHO_MSG} ""
X	@${ECHO_MSG} "WARNING: Icculus Duke3D port is still in alpha stage and runs very slowly!"
X	@${ECHO_MSG} ""
X	@${ECHO_MSG} "Hail to the King, baby. ;)"
X	@${ECHO_MSG} ""
X	@${ECHO_MSG} "#########################################################################"
X	@${ECHO_MSG} ""
X
X.include <bsd.port.mk>
END-of-/usr/ports/games/duke3d/Makefile
echo x - /usr/ports/games/duke3d/pkg-plist
sed 's/^X//' >/usr/ports/games/duke3d/pkg-plist << 'END-of-/usr/ports/games/duke3d/pkg-plist'
Xduke3d/duke3d
Xduke3d/duke.sh
Xduke3d/build
Xduke3d/fix.sh
Xduke3d/testdata/defs.con
Xduke3d/testdata/game.con
Xduke3d/testdata/user.con
Xbin/duke3d
X%%PORTDOCS%%%%DOCSDIR%%/README
X%%PORTDOCS%%%%DOCSDIR%%/BUILDLIC.TXT
X%%PORTDOCS%%%%DOCSDIR%%/CONTRIB
X%%PORTDOCS%%%%DOCSDIR%%/TODO
X%%PORTDOCS%%%%DOCSDIR%%/CHANGELOG
X%%PORTDOCS%%%%DOCSDIR%%/readme.txt
X%%PORTDOCS%%%%DOCSDIR%%/gnu.txt
X at dirrm share/doc/duke3d
X at dirrm duke3d/testdata
X at dirrm duke3d
END-of-/usr/ports/games/duke3d/pkg-plist
echo x - /usr/ports/games/duke3d/distinfo
sed 's/^X//' >/usr/ports/games/duke3d/distinfo << 'END-of-/usr/ports/games/duke3d/distinfo'
XMD5 (duke3d-src-cvs-06232001.tar.gz) = c112ff7c06dfeadaeb49d285f6c96436
END-of-/usr/ports/games/duke3d/distinfo
exit
--- output ends here ---

>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list