summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--games/gzdoom/README18
-rw-r--r--games/gzdoom/README_SBo.txt37
-rw-r--r--games/gzdoom/README_versions.txt28
-rw-r--r--games/gzdoom/gzdoom.SlackBuild77
-rw-r--r--games/gzdoom/gzdoom.info8
-rw-r--r--games/gzdoom/window_title_version.diff14
6 files changed, 43 insertions, 139 deletions
diff --git a/games/gzdoom/README b/games/gzdoom/README
index 372c90f18f..7755b41bfe 100644
--- a/games/gzdoom/README
+++ b/games/gzdoom/README
@@ -1,19 +1,9 @@
Enhanced OpenGL port of the official DOOM source code that also supports
Heretic, Hexen, and Strife.
-Optional compile-time dependencies: fluidsynth and OpenAL. These are
-auto-detected.
+This is the latest version of gzdoom, which may not run well on
+older/slower systems. If gzdoom does't run smoothly on your system,
+try installing gzdoom-legacy instead. Note that gzdoom and gzdoom-legacy
+conflict: only install one or the other.
See README_SBo.txt for optional runtime dependencies.
-
-This script can be used to build gzdoom 1.8.09, 1.9.1, or 2.3.2. For
-more information, see README_versions.txt.
-
-*Note: if you're upgrading from gzdoom-1.5.x to 1.9.x or 2.0.x, the
-config file location has changed. To keep your old settings:
-
- mkdir -p ~/.config/gzdoom
- cp ~/.gzdoom/zdoom.ini ~/.config/gzdoom/gzdoom.ini
-
-If you're upgrading from gzdoom 1.7 or 1.8:
- mv ~/.config/gzdoom/zdoom.ini ~/.config/gzdoom/gzdoom.ini
diff --git a/games/gzdoom/README_SBo.txt b/games/gzdoom/README_SBo.txt
index 66d71b6d5e..1fac7e489e 100644
--- a/games/gzdoom/README_SBo.txt
+++ b/games/gzdoom/README_SBo.txt
@@ -14,42 +14,23 @@ of these slackbuilds.org packages to get a playable game:
- hexen_demo_data
- chexquest3
-Sound Backend
--------------
-The default sound backend is FMOD. If OpenAL was found when the package
-was built, it can be used instead of FMOD. From the main menu:
-
-Options -> Sound Options -> Sound Backend.
-
-If you have issues with positional audio, try switching to OpenAL. However,
-some mods (notably Brutal Doom) require FMOD for correct audio support.
-Unfortunately there are probably some other mods that only work with
-OpenAL :(
-
-If you use FMOD, set "FMOD Options -> Output System" to either "ALSA"
-or "PulseAudio". Otherwise, the default is OSS emulation, which doesn't
-share the soundcard nicely with other apps.
-
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. FMOD (the default) - Install ff8dls and set the console variable
-snd_midipatchset to "/usr/share/sounds/dls/ff8.dls" (from the in-game
-console or by editing ~/.config/gzdoom/zdoom.ini). Alternatively,
-if you dual-boot with Windows, use something like
-/dosC/windows/system32/drivers/gm.dls (replace dosC with the mountpoint
-of your C: drive in Windows).
-
-2. FluidSynth - Install fluidsynth (before building gzdoom) and
-fluid-soundfont.
+1. FluidSynth - Install fluidsynth and fluid-soundfont. These are runtime
+dependencies (no need to rebuild gzdoom).
-3. Timidity - Install TiMidity++ and either eawpats or freepats, and
-set up /etc/timidity/timidity.cfg to use it.
+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.
-4. GUS or OPL - Nothing extra required; these are software emulations
+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.
+
+gzdoom also supports WildMIDI, but this is currently not available on SBo.
diff --git a/games/gzdoom/README_versions.txt b/games/gzdoom/README_versions.txt
deleted file mode 100644
index 5847cfca2e..0000000000
--- a/games/gzdoom/README_versions.txt
+++ /dev/null
@@ -1,28 +0,0 @@
-
-This SlackBuild script can be used to build older versions
-of gzdoom. Supported versions:
-
-1.8.09 - last version to use SDL1 (good for older/slower systems).
-1.9.1 - last version to not require OpenGL 3.0 (good for nouveau).
-2.4.0 - latest version of gzdoom (best choice for fast modern systems).
-
-By default, 2.4.0 is built (as per the .info file). If you'd like to
-try one of the others, download the source, save it in the SlackBuild
-directory, and run gzdoom.SlackBuild with VERSION=1.8.09 or VERSION=1.9.1
-set in the environment. If you use sbopkg, you can create a custom .info
-file, and copy the lines below:
-
-For 1.8.09:
-
-VERSION="1.8.09"
-DOWNLOAD="http://urchlay.naptime.net/~urchlay/src/g1.8.09.tar.gz"
-MD5SUM="ddc1dd8aef254312031184be6dec21e6"
-
-Note that SDL2 is not required for 1.8.09 (you can remove it from REQUIRES
-in the .info file, if you like).
-
-For 1.9.1:
-
-VERSION="1.9.1"
-DOWNLOAD="https://github.com/coelckers/gzdoom/archive/g1.9.1.tar.gz"
-MD5SUM="0fb38fcf73084f9a798f9d3af643d02e"
diff --git a/games/gzdoom/gzdoom.SlackBuild b/games/gzdoom/gzdoom.SlackBuild
index c024f5d97e..b9f3a6a28d 100644
--- a/games/gzdoom/gzdoom.SlackBuild
+++ b/games/gzdoom/gzdoom.SlackBuild
@@ -6,53 +6,19 @@
# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
-# 20170324 bkw:
-# - Updated for 2.4.0.
-
-# 20170207 bkw:
-# - BUILD=2
-# - Get rid of private fmodapi, now that the SBo fmodapi has been updated
-# to a new enough version. Re-add fmodapi to REQUIRES.
-# - Fix download link so we always get the correct filename.
-
-# 20170113 bkw:
-# - Updated for 2.3.2. 1.9.1 and 1.8.09 still work, too.
-# - Use newer version of fmodapi. Due to licensing confusion, the
-# fmodapi version on SBo hasn't been upgraded in forever. So this
-# build now uses its own dedicated fmodapi, which installs to
-# a private directory (won't conflict with system fmodapi, if present).
-
-# 20160928 bkw:
-# - Updated for 2.2.0. 1.9.1 and 1.8.09 still work, too.
-
-# 20160803 bkw:
-# - Updated for 2.1.1. Also for 1.9.1 and 1.8.09 (see README_versions.txt)
-# - Update .info for new HOMEPAGE
-# - Upstream's now doing releases on github, so README.source is
-# no longer needed.
-# - Install executable in /usr/games, not /usr/bin
-# - Get rid of -j1 on make command (parallel builds work now)
-# - Make the game version show up in the window title, instead
-# of <unknown version>.
-# - Fix VERSIONSTR if it's wrong.
-# - i486 => i586
-
-# 20140305 bkw:
-# - Moved giant block comments about the source to README.source,
-# updated them to reflect upstream's change from svn to git.
-# - Updated for 1.8.2 (sort-of; see README.source)
-
-# 20130612 bkw: Updated for 1.8.00
-
-# 20130416 bkw:
-# - Updated for 1.7.01
-# - Add README note about config file location change
-# - Split up giant README
-# - Fix CRLF endings in usr/doc/gzdoom-*/*
-# - Add WTFPL
+# 20170608 bkw:
+# - Updated for 3.1.0. fmodapi support has been removed by upstream, so
+# it's no longer a dep.
+# - Add OpenAL as a dep. Technically it's not required, as gzdoom will
+# happily compile & run without it... but it won't be able to make
+# any sound at all. Nobody wants this. If you disagree with my decision
+# to make OpenAL a hard dep, I don't want to hear about it (you won't
+# be able to make sound anyway, so I won't have to...)
+# - Stop supporting old versions of gzdoom. The old versions are now
+# supported as "gzdoom-legacy" for those that need them.
PRGNAM=gzdoom
-VERSION=${VERSION:-2.4.0}
+VERSION=${VERSION:-3.1.0}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -101,26 +67,22 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \+
-# fmodapi support tries to find its lib in the current dir, fix it:
-sed -i \
- "s,setPluginPath(progdir),setPluginPath(\"/usr/lib$LIBDIRSUFFIX/$PRGNAM\")," \
- src/sound/fmodsound.cpp
-
# gzdoom in windowed mode wants to display its git tag and hash as part
# of the window title. For releases this shows up as "<unknown version> 0",
# which doesn't hurt anything but is ugly.
# This makes the window title appear as e.g. "GZDOOM 2.1.1 (Aug 3 2016)". The
# date is the build date.
patch -p1 < $CWD/window_title_version.diff
-
-# Sometimes upstream forgets to bump the version number, so the window
-# title will read 1.8.08 for version 1.8.09, eg.
-sed -i "/#define *VERSIONSTR/s,\"[^\"]*\",\"$VERSION\"," src/version.h
+sed -i "/#define *VERSIONSTR/s,GIT_DESCRIPTION,\"$VERSION\"," src/version.h
# This isn't currently used, but was in the past, and will be again I'm sure.
[ -e $CWD/compilefix.$VERSION.diff ] && \
patch -p1 < $CWD/compilefix.$VERSION.diff
+# 3.1.0 started needing -DNDEBUG. Using ld.gold speeds up the final link
+# enough to be worth using (saves 17+ sec on my test box).
+SLKCFLAGS="$SLKCFLAGS -DNDEBUG -fuse-ld=gold"
+
mkdir -p build
cd build
cmake \
@@ -129,18 +91,11 @@ cd build
-DCMAKE_INSTALL_PREFIX=/usr \
-DLIB_SUFFIX=${LIBDIRSUFFIX} \
-DMAN_INSTALL_DIR=/usr/man \
- -DFMOD_LIBRARY=/usr/lib${LIBDIRSUFFIX}/libfmodex${LIBDIRSUFFIX}.so \
-DCMAKE_BUILD_TYPE=Release ..
make VERBOSE=1
mkdir -p $PKG/usr/games $PKG/usr/share/games/doom
install -m0755 -s $PRGNAM $PKG/usr/games/$PRGNAM
install -m0644 *.pk3 $PKG/usr/share/games/doom/
-
- # If fmodapi support was compiled in:
- if [ -e liboutput_sdl.so ]; then
- mkdir -p $PKG/usr/lib$LIBDIRSUFFIX/$PRGNAM
- install -m0755 -s liboutput_sdl.so $PKG/usr/lib$LIBDIRSUFFIX/$PRGNAM/liboutput_sdl.so
- fi
cd ..
# .desktop written for this SlackBuild
diff --git a/games/gzdoom/gzdoom.info b/games/gzdoom/gzdoom.info
index 503435a8f1..f4f25921f8 100644
--- a/games/gzdoom/gzdoom.info
+++ b/games/gzdoom/gzdoom.info
@@ -1,10 +1,10 @@
PRGNAM="gzdoom"
-VERSION="2.4.0"
+VERSION="3.1.0"
HOMEPAGE="http://gzdoom.drdteam.org/"
-DOWNLOAD="https://github.com/coelckers/gzdoom/archive/g2.4.0/gzdoom-g2.4.0.tar.gz"
-MD5SUM="2337388b44cd206ddbb3a2c44c78d3cc"
+DOWNLOAD="https://github.com/coelckers/gzdoom/archive/g3.1.0/gzdoom-g3.1.0.tar.gz"
+MD5SUM="fe69a6c2251a3a702660c70c71744362"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES="SDL2 fmodapi"
+REQUIRES="SDL2 OpenAL"
MAINTAINER="B. Watson"
EMAIL="yalhcru@gmail.com"
diff --git a/games/gzdoom/window_title_version.diff b/games/gzdoom/window_title_version.diff
index 749b655465..253c88207f 100644
--- a/games/gzdoom/window_title_version.diff
+++ b/games/gzdoom/window_title_version.diff
@@ -1,7 +1,13 @@
-diff -Naur gzdoom-g2.1.1.orig/src/gitinfo.cpp gzdoom-g2.1.1/src/gitinfo.cpp
---- gzdoom-g2.1.1.orig/src/gitinfo.cpp 2016-02-23 04:20:43.000000000 -0500
-+++ gzdoom-g2.1.1/src/gitinfo.cpp 2016-08-03 15:18:12.164389643 -0400
-@@ -44,22 +44,15 @@
+diff -Naur gzdoom-g3.1.0/src/gitinfo.cpp gzdoom-g3.1.0.patched/src/gitinfo.cpp
+--- gzdoom-g3.1.0/src/gitinfo.cpp 2017-05-31 06:11:33.000000000 -0400
++++ gzdoom-g3.1.0.patched/src/gitinfo.cpp 2017-06-10 16:21:51.138003050 -0400
+@@ -39,27 +39,20 @@
+
+ const char *GetGitDescription()
+ {
+- return GIT_DESCRIPTION;
++ return VERSIONSTR;
+ }
const char *GetGitHash()
{