diff --git a/games/eduke32/README b/games/eduke32/README new file mode 100644 index 0000000000..4d31c73295 --- /dev/null +++ b/games/eduke32/README @@ -0,0 +1,14 @@ +EDuke32 is a fork of the JFDuke3D port of Duke Nukem 3D (aka Duke3D), +merging it with EDuke to provide many new features for mod authors. +Also included is a map editor (mapster32). + +To play the game, you will need the DUKE32.GRP file from either the +Duke Nukem 3D CD-ROM, or from the shareware version of Duke Nukem 3D. + +To play the game, you must provide the data files. +For convenience, the shareware GRP file has been packaged as +eduke32_shareware_data, also available from slackbuilds.org. +See README_game_data.txt + +If you want to play the HRP (High Resolution Pack), get the +eduke32_hires_pack package from slackbuilds.org diff --git a/games/eduke32/README_game_data.txt b/games/eduke32/README_game_data.txt new file mode 100644 index 0000000000..96f85bd8cb --- /dev/null +++ b/games/eduke32/README_game_data.txt @@ -0,0 +1,23 @@ + +Although the Duke Nukem 3D code has been released under the GPL, the game +data (graphics, sounds, levels, etc) is still proprietary, (c) 3D Realms. + +To play the game, you must provide the data files. There are a couple of +options: + +- Buy the game, and copy DUKE3D.GRP and DUKE.RTS file from the game CD to + /usr/share/games/eduke32/ or your ~/.eduke32 directory. + + Note: DUKE3D.GRP should be named "duke3d.grp" (lowercase), but DUKE.RTS + should be uppercase. + +- Use the files from the shareware version, which is still available for + download from the 3D Realms site. For convenience, you may install the + eduke32_shareware_data package from slackbuilds.org, which simply creates + a Slackware package from the files in the shareware Duke3D installer. + +For information on playing user-created levels or other Build engine games +(such as Nam), see http://wiki.eduke32.com/ and http://www.eduke32.com/ + +If you want to play the HRP (High Resolution Pack), get the +eduke32_hires_pack package from slackbuilds.org diff --git a/games/eduke32/doinst.sh b/games/eduke32/doinst.sh new file mode 100644 index 0000000000..854e20633d --- /dev/null +++ b/games/eduke32/doinst.sh @@ -0,0 +1,3 @@ +if [ -x /usr/bin/update-desktop-database ]; then + ./usr/bin/update-desktop-database -q usr/share/applications +fi diff --git a/games/eduke32/eduke32.SlackBuild b/games/eduke32/eduke32.SlackBuild new file mode 100644 index 0000000000..5847c766fe --- /dev/null +++ b/games/eduke32/eduke32.SlackBuild @@ -0,0 +1,105 @@ +#!/bin/sh + +# Slackware build script for eduke32 + +# Written by B. Watson (yalhcru@gmail.com) + +# Comment next line to skip building the Build utilities: +BUILD_UTILS=${BUILD_UTILS:-"yes"} + +PRGNAM=eduke32 +VERSION=${VERSION:-20080709} +SRCDIR=${PRGNAM}_src_${VERSION} +ARCH=${ARCH:-i486} +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} + +CWD=$(pwd) +TMP=${TMP:-/tmp/SBo} # For consistency's sake, use this +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} # Drop the package in /tmp + +# TODO: fix the Makefiles so they'll honor external CFLAGS. +# The default flags include -O2 already, which is good enough for now. +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" +else + echo "Sorry, $PRGNAM can't be compiled on $ARCH with this script (yet)" + exit 1 +fi + +set -e + +rm -rf $PKG +mkdir -p $TMP $PKG/usr/libexec/$PRGNAM $PKG/usr/bin \ + $PKG/usr/share/games/$PRGNAM $OUTPUT +cd $TMP +rm -rf $SRCDIR +unzip $CWD/$SRCDIR.zip + +cd $SRCDIR +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +cd eduke32 +make +# There is no "make install"; binary is already stripped + +for i in eduke32 mapster32; do + cat $i > $PKG/usr/libexec/$PRGNAM/$i + chown root:root $PKG/usr/libexec/$PRGNAM/$i + chmod 0755 $PKG/usr/libexec/$PRGNAM/$i +done + +# Wrapper script to make things behave nicer +cat $CWD/eduke32.wrapper > $PKG/usr/bin/eduke32 +chown root:root $PKG/usr/bin/eduke32 +chmod 755 $PKG/usr/bin/eduke32 +( cd $PKG/usr/bin ; ln -s eduke32 mapster32 ) + +# Mapster help files +cp *.hlp *.HLP names.h tiles.cfg $PKG/usr/share/games/eduke32 + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cp -a ChangeLog* *.txt *.TXT *.sample *.cfg \ + $PKG/usr/doc/$PRGNAM-$VERSION +cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild +cp $CWD/README_game_data.txt $PKG/usr/doc/$PRGNAM-$VERSION +( cd $PKG/usr/share/games/$PRGNAM + ln -s ../../../doc/$PRGNAM-$VERSION/README_game_data.txt . ) + +# Icon and desktop link +mkdir -p $PKG/usr/share/applications +cp $CWD/mapster32.desktop $CWD/eduke32.desktop $PKG/usr/share/applications +mkdir -p $PKG/usr/share/pixmaps +cp $CWD/eduke32.png $PKG/usr/share/pixmaps + +# slack-desc +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc +cat $CWD/doinst.sh > $PKG/install/doinst.sh + +# Build the utilities, if requested. +if [ "$BUILD_UTILS" = "yes" ]; then + cd $TMP/$SRCDIR/build + make utils + + for i in kextract kgroup transpal wad2art wad2map; do + strip $i + cat $i > $PKG/usr/bin/$i + chown root:root $PKG/usr/bin/$i + chmod 0755 $PKG/usr/bin/$i + done + + cp doc/* $PKG/usr/doc/$PRGNAM-$VERSION + echo "$PRGNAM: This package includes the Build engine utiliies (kextract et al)" >> $PKG/install/slack-desc +fi + +cd $PKG +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.tgz diff --git a/games/eduke32/eduke32.desktop b/games/eduke32/eduke32.desktop new file mode 100644 index 0000000000..b50def0dfa --- /dev/null +++ b/games/eduke32/eduke32.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Encoding=UTF-8 +Name=EDuke32 +GenericName=Duke Nukem 3D Engine +Comment=EDuke32 Duke Nukem 3D Engine +Icon=/usr/share/pixmaps/eduke32.png +Exec=eduke32 +Terminal=false +Type=Application +Categories=Application;Game; diff --git a/games/eduke32/eduke32.info b/games/eduke32/eduke32.info new file mode 100644 index 0000000000..8229e3a457 --- /dev/null +++ b/games/eduke32/eduke32.info @@ -0,0 +1,8 @@ +PRGNAM="eduke32" +VERSION="20080709" +HOMEPAGE="http://www.eduke32.com/" +DOWNLOAD="http://wiki.eduke32.com/stuff/eduke32_src_20080709.zip" +MD5SUM="25dea16254a227b0ad3dffe01ca604bf" +MAINTAINER="B. Watson" +EMAIL="yalhcru@gmail.com" +APPROVED="David Somero" \ No newline at end of file diff --git a/games/eduke32/eduke32.png b/games/eduke32/eduke32.png new file mode 100644 index 0000000000..58d4f7cf18 Binary files /dev/null and b/games/eduke32/eduke32.png differ diff --git a/games/eduke32/eduke32.wrapper b/games/eduke32/eduke32.wrapper new file mode 100644 index 0000000000..969cf757ea --- /dev/null +++ b/games/eduke32/eduke32.wrapper @@ -0,0 +1,24 @@ +#!/bin/sh + +# Wrapper script for eduke32 and mapster32 +# Ensure ~/.eduke32 exists, populate with a symlink forest +# (Need this because the game normally expects to run from its own dir) + +SHAREDIR=/usr/share/games/eduke32 +BINDIR=/usr/libexec/eduke32 + +PROG="`echo $0 | sed 's/.*\///'`" +mkdir -p ~/.eduke32 + +if ! cd ~/.eduke32; then + echo 2>&1 "$PROG: Can't create ~/.eduke32 directory" + exit 1 +fi + +for i in autoload m32help.hlp SEHELP.HLP STHELP.HLP names.h tiles.cfg; do + if [ -e $SHAREDIR/$i -a ! -e $i ]; then + ln -s $SHAREDIR/$i $i + fi +done + +exec $BINDIR/$PROG "$@" diff --git a/games/eduke32/mapster32.desktop b/games/eduke32/mapster32.desktop new file mode 100644 index 0000000000..2ce830862d --- /dev/null +++ b/games/eduke32/mapster32.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Encoding=UTF-8 +Name=Mapster32 +GenericName=Duke Nukem 3D Editor +Comment=Mapster32 Duke Nukem 3D Editor +Icon=/usr/share/pixmaps/eduke32.png +Exec=mapster32 +Terminal=false +Type=Application +Categories=Application;Game;Editor diff --git a/games/eduke32/slack-desc b/games/eduke32/slack-desc new file mode 100644 index 0000000000..0ca6bbb969 --- /dev/null +++ b/games/eduke32/slack-desc @@ -0,0 +1,11 @@ +eduke32: EDuke32 (fork of the JFDuke3D port of Duke Nukem 3D) +eduke32: +eduke32: EDuke32 is a fork of the JFDuke3D port of Duke Nukem 3D (aka Duke3D), +eduke32: merging it with EDuke to provide many new features for mod authors. +eduke32: Also included is a map editor (mapster32). +eduke32: +eduke32: To play the game, you will need the DUKE3D.GRP file from either the +eduke32: Duke Nukem 3D CD-ROM, or from the shareware version of Duke Nukem 3D. +eduke32: +eduke32: For convenience, the shareware GRP file has been packaged as +eduke32: eduke32_shareware_data, also available from slackbuilds.org. \ No newline at end of file