games/wmquake: New maintainer, fix build.

This commit is contained in:
B. Watson 2016-08-18 05:36:30 -04:00 committed by Willy Sudiarto Raharjo
parent 2cf550c755
commit 3a1ee18cb5
No known key found for this signature in database
GPG key ID: 887B8374D7333381
5 changed files with 65 additions and 34 deletions

View file

@ -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".

View file

@ -1,4 +0,0 @@
#!/bin/bash
cd /usr/share/games/quake/wmquake
./wmquake $*

View file

@ -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
make CFLAGS="$SLKCFLAGS"
# 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 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

View file

@ -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"

12
games/wmquake/wmquake.sh Normal file
View file

@ -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 "$@"