aboutsummaryrefslogtreecommitdiff
path: root/games/qzdoom
diff options
context:
space:
mode:
authorB. Watson <yalhcru@gmail.com>2020-10-27 23:32:07 -0400
committerWilly Sudiarto Raharjo <willysr@slackbuilds.org>2020-10-31 11:15:41 +0700
commit48e2ee64ef9048be83934955317f396fd2e7e575 (patch)
tree7295fbe85b1b8013fed5a51bdc3133bdb71411d4 /games/qzdoom
parent4f32a3c5b2d9983fa8cc790d2814e92ff7081af3 (diff)
games/qzdoom: Build enhancements.
Signed-off-by: B. Watson <yalhcru@gmail.com> Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
Diffstat (limited to 'games/qzdoom')
-rw-r--r--games/qzdoom/README5
-rw-r--r--games/qzdoom/doinst.sh6
-rw-r--r--games/qzdoom/qzdoom.SlackBuild85
-rw-r--r--games/qzdoom/qzdoom.info2
-rw-r--r--games/qzdoom/slack-desc2
5 files changed, 77 insertions, 23 deletions
diff --git a/games/qzdoom/README b/games/qzdoom/README
index 23eed5a9c2907..ae6406d25c2ab 100644
--- a/games/qzdoom/README
+++ b/games/qzdoom/README
@@ -2,6 +2,9 @@ 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.
+Doom II, Heretic, Hexen, Strife, and most other IWAD games.
See README_SBo.txt for optional runtime dependencies.
+
+Starting with qzdoom-2.1.0 BUILD=2, it's now safe to install gzdoom
+and qzdoom on the same Slackware system.
diff --git a/games/qzdoom/doinst.sh b/games/qzdoom/doinst.sh
index 5fb28930db0b9..3e5691a052b5b 100644
--- a/games/qzdoom/doinst.sh
+++ b/games/qzdoom/doinst.sh
@@ -1,3 +1,9 @@
if [ -x /usr/bin/update-desktop-database ]; then
/usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1
fi
+
+if [ -e usr/share/icons/hicolor/icon-theme.cache ]; then
+ if [ -x /usr/bin/gtk-update-icon-cache ]; then
+ /usr/bin/gtk-update-icon-cache usr/share/icons/hicolor >/dev/null 2>&1
+ fi
+fi
diff --git a/games/qzdoom/qzdoom.SlackBuild b/games/qzdoom/qzdoom.SlackBuild
index 9a4cac59135a4..d33020ff036cd 100644
--- a/games/qzdoom/qzdoom.SlackBuild
+++ b/games/qzdoom/qzdoom.SlackBuild
@@ -9,9 +9,30 @@
# Heavily based on gzdoom.SlackBuild, since gzdoom and qzdoom are synced
# up regularly.
+# 20201027 bkw: BUILD=2
+# - Updated download URL.
+# - Install .pk3 files somewhere else, so they don't conflict with gzdoom.
+# - Use upstream icon (also scaled versions in /usr/share/icons).
+# - Make fluidsynth MIDI work again.
+# - Fix <unknown version> in the window title.
+# - Remove extraneous article from README & slack-desc ("a most" => "most").
+
+# Note about "new" releases:
+
+# qzdoom now belongs to a different github user, so the URL is
+# updated... but there's still no new release of it. If you check the
+# repo, you'll see the same releases as gzdoom (e.g. g4.4.2). These
+# are *not* qzdoom, they're gzdoom (try downloading the tarballs from
+# the qzdoom and gzdoom repos with the same version number and diffing
+# them). So only releases (tags) that begin with "q" are really
+# qzdoom, and 2.1.0 is still the latest.
+
+# TL;DR: Please don't email me saying there's a new release unless the
+# version number starts with "q".
+
PRGNAM=qzdoom
VERSION=${VERSION:-2.1.0}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
@@ -43,44 +64,68 @@ fi
set -e
+SRCVER=q$VERSION
+
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
+rm -rf $PRGNAM-$SRCVER
+tar xvf $CWD/$PRGNAM-$SRCVER.tar.gz
+cd $PRGNAM-$SRCVER
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 {} \+
+find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \
+ \! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+
-SLKCFLAGS="$SLKCFLAGS -DNDEBUG -fuse-ld=gold"
+# 20201027 bkw: dirty hack to get fluidsynth 2.x to work. qzdoom's
+# fluidsynth support stopped working when fluidsynth got updated
+# to 2.x.
+sed -i '/libfluidsynth\.so/s,\.1,.2,' \
+ src/sound/mididevices/music_fluidsynth_mididevice.cpp
+
+# 20201027 bkw: fix the '<unknown version>' in the window title.
+( echo "#define GIT_DESCRIPTION \"$VERSION\""
+ echo "#define GIT_HASH \"release\""
+ echo "#define GIT_TIME __DATE__" ) > src/gitinfo.h
+
+# 20201027 bkw: change SHARE_DIR to qzdoom, to avoid stepping on or
+# accidentally loading the *.pk3 stuff from gzdoom. This won't stop
+# qzdoom from finding the IWADs in /usr/share/games/doom since this
+# path is also searched.
+SLKCFLAGS="$SLKCFLAGS -DNDEBUG -fuse-ld=gold"
+SD=/usr/share/games/$PRGNAM
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_C_FLAGS_RELEASE="$SLKCFLAGS -DSHARE_DIR=\\\"$SD\\\"" \
+ -DCMAKE_CXX_FLAGS_RELEASE="$SLKCFLAGS -DSHARE_DIR=\\\"$SD\\\"" \
-DCMAKE_INSTALL_PREFIX=/usr \
-DINSTALL_PATH=games \
+ -DINSTALL_DOCS_PATH=doc/$PRGNAM-$VERSION \
-DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ -DINSTALL_PK3_PATH=$SD \
-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
+# .desktop written by SlackBuild author.
+mkdir -p $PKG/usr/share/applications
cat $CWD/$PRGNAM.desktop > $PKG/usr/share/applications/$PRGNAM.desktop
-cat $CWD/$PRGNAM.png > $PKG/usr/share/pixmaps/$PRGNAM.png
+# New-school desktop-ey icons.
+for i in 16 22 32 48 64 128 256; do
+ SIZE=${i}x${i}
+ DIR=$PKG/usr/share/icons/hicolor/$SIZE/apps
+ mkdir -p $DIR
+ convert src/posix/zdoom.xpm -resize $SIZE $DIR/$PRGNAM.png
+done
+
+# Old-school windowmanagerish icon.
+mkdir -p $PKG/usr/share/pixmaps
+ln -s ../icons/hicolor/64x64/apps/$PRGNAM.png $PKG/usr/share/pixmaps/$PRGNAM.png
+
+# docs already installed.
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
diff --git a/games/qzdoom/qzdoom.info b/games/qzdoom/qzdoom.info
index 7b812004842df..312b3b00c8f38 100644
--- a/games/qzdoom/qzdoom.info
+++ b/games/qzdoom/qzdoom.info
@@ -1,7 +1,7 @@
PRGNAM="qzdoom"
VERSION="2.1.0"
HOMEPAGE="https://qzdoom.drdteam.org/"
-DOWNLOAD="https://github.com/raa-eruanna/qzdoom/archive/q2.1.0/qzdoom-q2.1.0.tar.gz"
+DOWNLOAD="https://github.com/madame-rachelle/qzdoom/archive/q2.1.0/qzdoom-q2.1.0.tar.gz"
MD5SUM="170bb4b75d6b00030224bf250074c659"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
diff --git a/games/qzdoom/slack-desc b/games/qzdoom/slack-desc
index f78128c5bbf76..3ac2e4558339a 100644
--- a/games/qzdoom/slack-desc
+++ b/games/qzdoom/slack-desc
@@ -10,7 +10,7 @@ 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: Doom II, Heretic, Hexen, Strife, and most other IWAD games.
qzdoom:
qzdoom:
qzdoom: