summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--games/wmquake/README28
-rw-r--r--games/wmquake/wmquake4
-rw-r--r--games/wmquake/wmquake.SlackBuild51
-rw-r--r--games/wmquake/wmquake.info4
-rw-r--r--games/wmquake/wmquake.sh12
5 files changed, 65 insertions, 34 deletions
diff --git a/games/wmquake/README b/games/wmquake/README
index f0b131e499..438d4c3a8e 100644
--- a/games/wmquake/README
+++ b/games/wmquake/README
@@ -1,16 +1,22 @@
-Run id Software's legendary Quake inside a dockapp! Play full on software Quake, mods, or
-let it play demos. Fixed by Eukos for newer systems.
+wmquake (Quake as a windowmaker dockapp)
-Notes:
+Run id Software's legendary Quake inside a dockapp! Play full on software
+Quake, mods, or let it play demos. Fixed by Eukos for newer systems.
-Be sure to start it with -nosound other wise it will segfault!
+You need at least the shareware data files from Quake, available on SBo
+as quake_shareware_data. If you have the full version, copy or link its
+.pak files into "/usr/share/games/quake/id1".
-Sound will not work because it uses a very old method. It MAY work on a system with
-OSS3 installed. The OSS version on SBo (OSS4) will NOT work with this game and neither
-will aoss for ALSA users.
+Notes:
-This SlackBuild moves the executable into, "/usr/share/games/quake/wmquake". This is to allow
-other Quake engines to be placed in here, for example: "/usr/share/games/quake/darkplaces".
+This program will not work correctly on x86_64! You can try it, maybe
+you'll have better results than I did, but don't send me a bug report
+about 64-bit unless it includes a patch.
-Your id1 folder (and mods) must go into, "/usr/share/games/quake/wmquake", for there is no home
-folder for data. You should have permissions to modify this folder with the games group.
+Sound will not work because it uses a very old method. It MAY work on
+a system with ALSA's OSS emulation enabled (/etc/rc.d/rc.alsa-oss). The
+OSS version on SBo (OSS4) will NOT work with this game and neither will
+aoss for ALSA users.
+
+If you're looking for wmquake's config file, it's stored in
+"~/.wmquake/id1/config.cfg".
diff --git a/games/wmquake/wmquake b/games/wmquake/wmquake
deleted file mode 100644
index fcdeb2c665..0000000000
--- a/games/wmquake/wmquake
+++ /dev/null
@@ -1,4 +0,0 @@
- #!/bin/bash
-
-cd /usr/share/games/quake/wmquake
-./wmquake $*
diff --git a/games/wmquake/wmquake.SlackBuild b/games/wmquake/wmquake.SlackBuild
index e31c4cf16e..fec7f4c9cb 100644
--- a/games/wmquake/wmquake.SlackBuild
+++ b/games/wmquake/wmquake.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for wmquake
#
-# Copyright 2015 Gethyn ThomasQuail <gethyn@bloodbathsoftworks.com>
+# Copyright 2015 Gethyn ThomasQuail <email removed>
# All rights reserved.
#
# Based on:
@@ -25,15 +25,26 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+# Now maintained by B. Watson <yalhcru@gmail.com>
+
+# 20160818 bkw:
+# - take over maintenance
+# - BUILD=2
+# - i486 => i586
+# - document the fact that this doesn't work on x86_64
+# - actually use SLKCFLAGS
+# - install binary stripped
+# - install binary in /usr/libexec, *not /usr/share*! Dammit!
+# - fix wrapper script to run in user's homedir
+
PRGNAM=wmquake
VERSION=${VERSION:-1.1}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
TAG=${TAG:-_SBo}
-GAMDIR=usr/share/games/quake/wmquake
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) ARCH=i486 ;;
+ i?86) ARCH=i586 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
@@ -44,8 +55,8 @@ TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
-if [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
@@ -53,9 +64,21 @@ elif [ "$ARCH" = "i686" ]; then
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
+cat <<EOF
+ WARNING: $PRGNAM is known to segfault on $ARCH. Press ^C within
+ 10 seconds to abort this build, or press Enter (or wait 10 sec)
+ to continue.
+EOF
+ read -t 10 junk
else
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
+cat <<EOF
+ WARNING: $PRGNAM is untested on $ARCH and probably won't work. Press ^C
+ within 10 seconds to abort this build, or press Enter (or wait 10 sec)
+ to continue.
+EOF
+ read -t 10 junk
fi
set -e
@@ -73,20 +96,14 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
-make
-
-# Copies over compiled binary
-install -D -m 0755 $PRGNAM $PKG/$GAMDIR/$PRGNAM
-
-# Desktop and launcher related stuff
-install -D -m 0755 $CWD/$PRGNAM $PKG/usr/games/$PRGNAM
+make CFLAGS="$SLKCFLAGS"
-# Make it so the games group can access the folder
-chgrp games $PKG/$GAMDIR
-chmod 774 $PKG/$GAMDIR
+mkdir -p $PKG/usr/libexec/$PRGNAM $PKG/usr/games
+install -s -m0755 $PRGNAM $PKG/usr/libexec/$PRGNAM
+install -m0755 $CWD/$PRGNAM.sh $PKG/usr/games/$PRGNAM
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a README.INSTALL README.source README.wmquake $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a README.* $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
diff --git a/games/wmquake/wmquake.info b/games/wmquake/wmquake.info
index 32ce586e8a..aa5816fae9 100644
--- a/games/wmquake/wmquake.info
+++ b/games/wmquake/wmquake.info
@@ -6,5 +6,5 @@ MD5SUM="e84db45c669efd6bbfced8121512245b"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
-MAINTAINER="Gethyn ThomasQuail"
-EMAIL="gethyn@bloodbathsoftworks.com"
+MAINTAINER="B. Watson"
+EMAIL="yalhcru@gmail.com"
diff --git a/games/wmquake/wmquake.sh b/games/wmquake/wmquake.sh
new file mode 100644
index 0000000000..888c0ea461
--- /dev/null
+++ b/games/wmquake/wmquake.sh
@@ -0,0 +1,12 @@
+#!/bin/bash
+
+mkdir -p ~/.wmquake
+if ! cd ~/.wmquake; then
+ echo "Can't create ~/.wmquake" 2>&1
+ exit 1
+fi
+if [ ! -e id1 ]; then
+ mkdir -p id1
+ ln -s /usr/share/games/quake/id1/* id1/
+fi
+exec /usr/libexec/wmquake/wmquake "$@"