aboutsummaryrefslogtreecommitdiff
path: root/games/jfduke3d
diff options
context:
space:
mode:
authorSergey Matveychuk <sem@FreeBSD.org>2005-09-16 13:28:51 +0000
committerSergey Matveychuk <sem@FreeBSD.org>2005-09-16 13:28:51 +0000
commite94e70ed2e3e611eb3d680528246152eca6ca0a1 (patch)
treead651f4bf1b5a8b9102523b17d75bda3f355827a /games/jfduke3d
parent988833cc4ac85819bb1104669138f9caafd96c45 (diff)
downloadports-e94e70ed2e3e611eb3d680528246152eca6ca0a1.tar.gz
ports-e94e70ed2e3e611eb3d680528246152eca6ca0a1.zip
Notes
Diffstat (limited to 'games/jfduke3d')
-rw-r--r--games/jfduke3d/Makefile73
-rw-r--r--games/jfduke3d/distinfo4
-rw-r--r--games/jfduke3d/files/build-wrapper.sh6
-rw-r--r--games/jfduke3d/files/fix.sh17
-rw-r--r--games/jfduke3d/files/patch-Makefile11
-rw-r--r--games/jfduke3d/files/patch-fbuild_src_20050531-Makefile.shared11
-rw-r--r--games/jfduke3d/files/pkg-message.in45
-rw-r--r--games/jfduke3d/files/wrapper.sh6
-rw-r--r--games/jfduke3d/pkg-descr11
-rw-r--r--games/jfduke3d/pkg-plist9
10 files changed, 193 insertions, 0 deletions
diff --git a/games/jfduke3d/Makefile b/games/jfduke3d/Makefile
new file mode 100644
index 000000000000..6f6df8ae3e88
--- /dev/null
+++ b/games/jfduke3d/Makefile
@@ -0,0 +1,73 @@
+# New ports collection makefile for: jfduke3d
+# Date Created: 26 August 2005
+# Whom: <arundel@h3c.de>
+#
+# $FreeBSD$
+
+PORTNAME= jfduke3d
+PORTVERSION= 20050531
+CATEGORIES= games
+MASTER_SITES= ftp://dialup.edgefiles.com/edgenetwork.org/jonof/buildport/ \
+ ftp://ftp1.edgefiles.com/edgenetwork.org/jonof/buildport/ \
+ ftp://ftp2.edgefiles.com/edgenetwork.org/jonof/buildport/ \
+ http://members.iinet.net.au.nyud.net:8090/~jonof/
+DISTFILES= ${PORTNAME}_src_${PORTVERSION}.zip \
+ jfbuild_src_${PORTVERSION}.zip
+
+MAINTAINER= arundel@h3c.de
+COMMENT= Jonathon Fowler's Duke Nukem 3D Port
+
+BUILD_DEPENDS= nasm:${PORTSDIR}/devel/nasm
+
+USE_ZIP= yes
+USE_GMAKE= yes
+USE_REINPLACE= yes
+USE_SDL= sdl
+CONFLICTS= duke3d-200[[0-9]*]
+
+WRKSRC= ${WRKDIR}/${PORTNAME}_src_${PORTVERSION}
+
+PROG_FILES= ${WRKSRC}/duke3d ${WRKSRC}/build
+DATA_FILES= ${WRKSRC}/build.cfg
+SCRIPT_FILES= ${WRKDIR}/fix.sh ${WRKDIR}/duke3d.sh ${WRKDIR}/build.sh
+PORTDOCS= ChangeLog readme.txt releasenotes.html duke3d.def.sample GNU.TXT
+
+SUB_FILES= pkg-message
+
+.include <bsd.port.pre.mk>
+
+.if ${OSVERSION} < 500000
+BROKEN= "Can't build on 4.x"
+.endif
+
+pre-build:
+ @${REINPLACE_CMD} -e 's|EROOT=../build/|EROOT=../jfbuild_src_${PORTVERSION}/|g' \
+ ${WRKSRC}/Makefile
+
+pre-install:
+ @${SED} -e 's|%%DUKEDIR%%|${DATADIR}|g' ${FILESDIR}/fix.sh > \
+ ${WRKDIR}/fix.sh
+ @${SED} -e 's|%%DUKEDIR%%|${DATADIR}|g' ${FILESDIR}/wrapper.sh > \
+ ${WRKDIR}/duke3d.sh
+ @${SED} -e 's|%%DUKEDIR%%|${DATADIR}|g' ${FILESDIR}/build-wrapper.sh > \
+ ${WRKDIR}/build.sh
+
+do-install:
+ ${INSTALL} -d ${DATADIR}
+ ${INSTALL_PROGRAM} ${PROG_FILES} ${DATADIR}
+ ${INSTALL_DATA} ${DATA_FILES} ${DATADIR}
+ ${INSTALL_SCRIPT} ${SCRIPT_FILES} ${DATADIR}
+ ${LN} -fs ${DATADIR}/duke3d.sh ${PREFIX}/bin/duke3d
+ ${LN} -fs ${DATADIR}/build.sh ${PREFIX}/bin/duke3d-build
+
+post-install:
+.ifndef(NOPORTDOCS)
+ ${INSTALL} -d ${DOCSDIR}
+
+.for file in ${PORTDOCS}
+ ${INSTALL_MAN} ${WRKSRC}/${file} ${DOCSDIR}
+.endfor
+.endif
+ ${CAT} ${PKGMESSAGE}
+
+.include <bsd.port.post.mk>
diff --git a/games/jfduke3d/distinfo b/games/jfduke3d/distinfo
new file mode 100644
index 000000000000..032a3f960c8b
--- /dev/null
+++ b/games/jfduke3d/distinfo
@@ -0,0 +1,4 @@
+MD5 (jfduke3d_src_20050531.zip) = 0a56a99da81c8358aa43a869cfac4f81
+SIZE (jfduke3d_src_20050531.zip) = 612758
+MD5 (jfbuild_src_20050531.zip) = 100c74de1bbbea5d661feb4665df2eb0
+SIZE (jfbuild_src_20050531.zip) = 542176
diff --git a/games/jfduke3d/files/build-wrapper.sh b/games/jfduke3d/files/build-wrapper.sh
new file mode 100644
index 000000000000..983ca5a0eb68
--- /dev/null
+++ b/games/jfduke3d/files/build-wrapper.sh
@@ -0,0 +1,6 @@
+#!/bin/sh
+# Needed to make symlinks/shortcuts work.
+# Wrap build (editor) binary
+cd %%DUKEDIR%%
+./build $*
+exit $?
diff --git a/games/jfduke3d/files/fix.sh b/games/jfduke3d/files/fix.sh
new file mode 100644
index 000000000000..9df35d1c4f39
--- /dev/null
+++ b/games/jfduke3d/files/fix.sh
@@ -0,0 +1,17 @@
+#!/bin/sh
+cd %%DUKEDIR%%
+
+if [ ! -d %%DUKEDIR%% ] || [ ! -w %%DUKEDIR%% ]
+then
+ echo You do not have permission to write to %%DUKEDIR%%.
+ exit
+fi
+
+if [ ! -f DUKE3D.GRP ]
+then
+ echo DUKE3D.GRP is missing
+ exit
+fi
+
+echo Renamed DUKE3D.GRP to duke3d.grp
+mv -f ./DUKE3D.GRP ./duke3d.grp
diff --git a/games/jfduke3d/files/patch-Makefile b/games/jfduke3d/files/patch-Makefile
new file mode 100644
index 000000000000..4a8f99bb447c
--- /dev/null
+++ b/games/jfduke3d/files/patch-Makefile
@@ -0,0 +1,11 @@
+--- Makefile.orig Fri Aug 26 20:17:49 2005
++++ Makefile Fri Aug 26 20:18:07 2005
+@@ -88,7 +88,7 @@
+ endif
+
+ ifeq ($(RENDERTYPE),SDL)
+- override CFLAGS+= $(subst -Dmain=SDL_main,,$(shell sdl-config --cflags))
++ override CFLAGS+= $(subst -Dmain=SDL_main,,$(shell sdl11-config --cflags))
+ AUDIOLIBOBJ=$(AUDIOLIB_MUSIC_STUB) $(AUDIOLIB_FX_STUB)
+ GAMEOBJS+= $(OBJ)game_icon.$o
+ EDITOROBJS+= $(OBJ)build_icon.$o
diff --git a/games/jfduke3d/files/patch-fbuild_src_20050531-Makefile.shared b/games/jfduke3d/files/patch-fbuild_src_20050531-Makefile.shared
new file mode 100644
index 000000000000..4bf6833a8a9c
--- /dev/null
+++ b/games/jfduke3d/files/patch-fbuild_src_20050531-Makefile.shared
@@ -0,0 +1,11 @@
+--- ../jfbuild_src_20050531/Makefile.shared.orig Sun Sep 4 15:03:56 2005
++++ ../jfbuild_src_20050531/Makefile.shared Sun Sep 4 15:04:04 2005
+@@ -10,7 +10,7 @@
+ GLLIBBSD=-lopengl32
+ GLLIBLIN=-lGL
+
+-SDLCONFIG=sdl-config
++SDLCONFIG=sdl11-config
+ #SDLCONFIG=/usr/local/bin/sdl11-config
+
+ # detect the platform
diff --git a/games/jfduke3d/files/pkg-message.in b/games/jfduke3d/files/pkg-message.in
new file mode 100644
index 000000000000..455bfcabbaf9
--- /dev/null
+++ b/games/jfduke3d/files/pkg-message.in
@@ -0,0 +1,45 @@
+-----------------------------------------------------------------
+JonoF's Duke Nukem 3D Port has been successfully installed.
+
+You still need the original Duke Nukem 3D data file. Please copy DUKE3D.GRP to
+the %%DATADIR%% directory and run the fix.sh script inside that directory.
+
+The JonoF Duke Nukem 3D Port supports the following Duke Nukem 3D versions:
+
+* Duke3D Shareware
+* Duke3D 1.3d
+* Duke3D 1.4/5 Atomic
+
+NOTE: Be sure to read the release notes in this distribution. There's important
+information about using the new features in this release.
+
+The release notes can be found in %%DOCSDIR%%.
+
+If you have any problems with running this port please contact the maintainer
+of this port and NOT Jonathan Fowler.
+
+The following features are not usable at the moment:
+
+* Sound doesn't work
+* No joystick support
+* GL mode doesn't work
+
+NOTE: You can find patches which enable sound and add joystick support here:
+
+http://jonof.edgenetwork.org/forum/viewtopic.php?p=3245
+
+I was not able to compile the port with these patches. If you manage to do so
+and the binary runs under FreeBSD with sound/jostick support enabled, please
+drop me a note telling me how you did it. I'd really like to add those patches
+to the port, because especially the lack of sound reduces the gameplay-fun a
+lot.
+
+NOTE: Additions to the retail version features of Duke Nukem 3D can be found on
+the 3D Realms forum. These patches/hacks feature high/low resolution textures,
+MD2/MD3 models, Blood and Gore hacks, map hacks, etc. The 3D Realms Forum can
+be accessed through this URL:
+
+http://forums.3drealms.com/
+
+Thx.
+-----------------------------------------------------------------
diff --git a/games/jfduke3d/files/wrapper.sh b/games/jfduke3d/files/wrapper.sh
new file mode 100644
index 000000000000..de588ed12486
--- /dev/null
+++ b/games/jfduke3d/files/wrapper.sh
@@ -0,0 +1,6 @@
+#!/bin/sh
+# Needed to make symlinks/shortcuts work.
+# Wrap duke3d binary
+cd %%DUKEDIR%%
+./duke3d $*
+exit $?
diff --git a/games/jfduke3d/pkg-descr b/games/jfduke3d/pkg-descr
new file mode 100644
index 000000000000..979db7439882
--- /dev/null
+++ b/games/jfduke3d/pkg-descr
@@ -0,0 +1,11 @@
+JonoF's Duke Nukem 3D Port
+
+This is the Duke Nukem 3D Port written by Jonathan Fowler. Like any
+other Duke Nukem 3D Port it is a hack of the original Duke Nukem 3D
+source code (v1.5 CD Version) which was made publicly avilable by
+3D Realms (the developer of Duke Nukem 3D) on the 1st of April 2003.
+
+WWW: http://jonof.edgenetwork.org/index.php?p=jfduke3d
+
+- Alexander Best
+arundel@h3c.de
diff --git a/games/jfduke3d/pkg-plist b/games/jfduke3d/pkg-plist
new file mode 100644
index 000000000000..279e6ff6e0d2
--- /dev/null
+++ b/games/jfduke3d/pkg-plist
@@ -0,0 +1,9 @@
+%%DATADIR%%/duke3d
+%%DATADIR%%/build
+%%DATADIR%%/fix.sh
+%%DATADIR%%/duke3d.sh
+%%DATADIR%%/build.sh
+%%DATADIR%%/build.cfg
+bin/duke3d
+bin/duke3d-build
+@unexec rmdir %D/share/jfduke3d 2> /dev/null || true