games/qzdoom: Added (engine for Doom and related games).

Signed-off-by: David Spencer <idlemoor@slackbuilds.org>
This commit is contained in:
B. Watson 2017-12-23 12:39:20 +00:00 committed by Robby Workman
parent 1f72dd6a99
commit 9fa8fc7c82
8 changed files with 174 additions and 0 deletions

7
games/qzdoom/README Normal file
View File

@ -0,0 +1,7 @@
qzdoom (software-rendered engine for Doom and related games)
QZDoom is a continuation of dpJudas's truecolor software rendering,
for ZDoom, merged with and forked from GZDoom. It supports Doom,
Doom II, Heretic, Hexen, Strife, and a most other IWAD games.
See README_SBo.txt for optional runtime dependencies.

View File

@ -0,0 +1,36 @@
Game Data
---------
qzdoom is only a game engine. To actually play the game, you'll need the
game data (IWAD file) from one or more of the supported games. These
include Doom, Ultimate Doom, Final Doom, FreeDoom, Heretic, Hexen,
and Strife. Place the .wad file(s) in /usr/share/games/doom.
If you don't own any of the supported games, you can install one or more
of these slackbuilds.org packages to get a playable game:
- freedoom
- doom_shareware_data
- heretic_shareware_data
- hexen_demo_data
- chexquest3
Music Support
-------------
To hear the in-game music, there are several options. In the game menu,
select "Options | Sound Options" and set "MIDI Device" to one of the
below:
1. FluidSynth - Install fluidsynth and fluid-soundfont. These are runtime
dependencies (no need to rebuild qzdoom).
2. Timidity - Install TiMidity++ and either eawpats or freepats (all
runtime dependencies), and set up /etc/timidity/timidity.cfg to use
it. This uses more CPU than FluidSynth, and may make the framerate
stutter and jerk even on high-end systems.
3. GUS or OPL - Nothing extra required; these are software emulations
of classic soundcards from the early 1990s. They may sound "clunky" to
modern ears, but they may also bring back fond memories for long-time
Doom players.
qzdoom also supports WildMIDI, but this is currently not available on SBo.

3
games/qzdoom/doinst.sh Normal file
View File

@ -0,0 +1,3 @@
if [ -x /usr/bin/update-desktop-database ]; then
/usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1
fi

View File

@ -0,0 +1,91 @@
#!/bin/sh
# Slackware build script for qzdoom
# Written by B. Watson (yalhcru@gmail.com)
# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
# Heavily based on gzdoom.SlackBuild, since gzdoom and qzdoom are synced
# up regularly.
PRGNAM=qzdoom
VERSION=${VERSION:-2.0.0}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i586 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
fi
CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
if [ "$ARCH" = "i586" ]; then
SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
else
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
fi
set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-q$VERSION
tar xvf $CWD/$PRGNAM-q$VERSION.tar.gz
cd $PRGNAM-q$VERSION
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
-o -perm 511 \) -exec chmod 755 {} \+ -o \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \+
SLKCFLAGS="$SLKCFLAGS -DNDEBUG -fuse-ld=gold"
mkdir -p build
cd build
cmake \
-DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS -DSHARE_DIR=\\\"/usr/share/games/doom\\\"" \
-DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS -DSHARE_DIR=\\\"/usr/share/games/doom\\\"" \
-DCMAKE_INSTALL_PREFIX=/usr \
-DINSTALL_PATH=games \
-DLIB_SUFFIX=${LIBDIRSUFFIX} \
-DCMAKE_BUILD_TYPE=Release ..
make VERBOSE=1
make install/strip DESTDIR=$PKG VERBOSE=1
cd ..
# no easy way to coerce the docs to go where they should, so:
mkdir -p $PKG/usr/doc/
mv $PKG/usr/share/doc/$PRGNAM $PKG/usr/doc/$PRGNAM-$VERSION
rm -rf $PKG/usr/share/doc
# icon is the same as gzdoom's, .desktop written by SlackBuild author.
mkdir -p $PKG/usr/share/applications $PKG/usr/share/pixmaps
cat $CWD/$PRGNAM.desktop > $PKG/usr/share/applications/$PRGNAM.desktop
cat $CWD/$PRGNAM.png > $PKG/usr/share/pixmaps/$PRGNAM.png
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cat $CWD/doinst.sh > $PKG/install/doinst.sh
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}

View File

@ -0,0 +1,8 @@
[Desktop Entry]
Type=Application
Name=QZDoom
GenericName=TrueColor Enhanced Doom Engine
Icon=qzdoom
Exec=/usr/games/qzdoom %F
Terminal=false
Categories=Game;ActionGame;

10
games/qzdoom/qzdoom.info Normal file
View File

@ -0,0 +1,10 @@
PRGNAM="qzdoom"
VERSION="2.0.0"
HOMEPAGE="https://qzdoom.drdteam.org/"
DOWNLOAD="https://github.com/raa-eruanna/qzdoom/archive/q2.0.0/qzdoom-q2.0.0.tar.gz"
MD5SUM="a20ec50bda671aaf14af7b24295a6956"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="SDL2 OpenAL"
MAINTAINER="B. Watson"
EMAIL="yalhcru@gmail.com"

BIN
games/qzdoom/qzdoom.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

19
games/qzdoom/slack-desc Normal file
View File

@ -0,0 +1,19 @@
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description.
# Line up the first '|' above the ':' following the base package name, and
# the '|' on the right side marks the last column you can put a character in.
# You must make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':' except on otherwise blank lines.
|-----handy-ruler------------------------------------------------------|
qzdoom: qzdoom (software-rendered engine for Doom and related games)
qzdoom:
qzdoom: QZDoom is a continuation of dpJudas's truecolor software rendering
qzdoom: for ZDoom, merged with and forked from GZDoom. It supports Doom,
qzdoom: Doom II, Heretic, Hexen, Strife, and a most other IWAD games.
qzdoom:
qzdoom:
qzdoom:
qzdoom:
qzdoom:
qzdoom: