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