aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--games/qzdoom/README7
-rw-r--r--games/qzdoom/README_SBo.txt36
-rw-r--r--games/qzdoom/doinst.sh3
-rw-r--r--games/qzdoom/qzdoom.SlackBuild91
-rw-r--r--games/qzdoom/qzdoom.desktop8
-rw-r--r--games/qzdoom/qzdoom.info10
-rw-r--r--games/qzdoom/qzdoom.pngbin0 -> 1618 bytes
-rw-r--r--games/qzdoom/slack-desc19
8 files changed, 174 insertions, 0 deletions
diff --git a/games/qzdoom/README b/games/qzdoom/README
new file mode 100644
index 0000000000000..23eed5a9c2907
--- /dev/null
+++ b/games/qzdoom/README
@@ -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.
diff --git a/games/qzdoom/README_SBo.txt b/games/qzdoom/README_SBo.txt
new file mode 100644
index 0000000000000..ea3125ad01717
--- /dev/null
+++ b/games/qzdoom/README_SBo.txt
@@ -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.
diff --git a/games/qzdoom/doinst.sh b/games/qzdoom/doinst.sh
new file mode 100644
index 0000000000000..5fb28930db0b9
--- /dev/null
+++ b/games/qzdoom/doinst.sh
@@ -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
diff --git a/games/qzdoom/qzdoom.SlackBuild b/games/qzdoom/qzdoom.SlackBuild
new file mode 100644
index 0000000000000..9f3c6883c7d15
--- /dev/null
+++ b/games/qzdoom/qzdoom.SlackBuild
@@ -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}
diff --git a/games/qzdoom/qzdoom.desktop b/games/qzdoom/qzdoom.desktop
new file mode 100644
index 0000000000000..9974e5aa265a9
--- /dev/null
+++ b/games/qzdoom/qzdoom.desktop
@@ -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;
diff --git a/games/qzdoom/qzdoom.info b/games/qzdoom/qzdoom.info
new file mode 100644
index 0000000000000..8eb7e5713b899
--- /dev/null
+++ b/games/qzdoom/qzdoom.info
@@ -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"
diff --git a/games/qzdoom/qzdoom.png b/games/qzdoom/qzdoom.png
new file mode 100644
index 0000000000000..013cf60890680
--- /dev/null
+++ b/games/qzdoom/qzdoom.png
Binary files differ
diff --git a/games/qzdoom/slack-desc b/games/qzdoom/slack-desc
new file mode 100644
index 0000000000000..f78128c5bbf76
--- /dev/null
+++ b/games/qzdoom/slack-desc
@@ -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: