games/gzdoom: Updated for version 3.1.0.

Signed-off-by: B. Watson <yalhcru@gmail.com>
This commit is contained in:
B. Watson 2017-06-10 18:36:22 -04:00 committed by Willy Sudiarto Raharjo
parent 1235d56c08
commit ad9858ac91
6 changed files with 43 additions and 139 deletions

View File

@ -1,19 +1,9 @@
Enhanced OpenGL port of the official DOOM source code that also supports Enhanced OpenGL port of the official DOOM source code that also supports
Heretic, Hexen, and Strife. Heretic, Hexen, and Strife.
Optional compile-time dependencies: fluidsynth and OpenAL. These are This is the latest version of gzdoom, which may not run well on
auto-detected. 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. 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

View File

@ -14,42 +14,23 @@ of these slackbuilds.org packages to get a playable game:
- hexen_demo_data - hexen_demo_data
- chexquest3 - 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 Music Support
------------- -------------
To hear the in-game music, there are several options. In the game menu, 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 select "Options | Sound Options" and set "MIDI Device" to one of the
below: below:
1. FMOD (the default) - Install ff8dls and set the console variable 1. FluidSynth - Install fluidsynth and fluid-soundfont. These are runtime
snd_midipatchset to "/usr/share/sounds/dls/ff8.dls" (from the in-game dependencies (no need to rebuild gzdoom).
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 2. Timidity - Install TiMidity++ and either eawpats or freepats (all
fluid-soundfont. 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. Timidity - Install TiMidity++ and either eawpats or freepats, and 3. GUS or OPL - Nothing extra required; these are software emulations
set up /etc/timidity/timidity.cfg to use it.
4. GUS or OPL - Nothing extra required; these are software emulations
of classic soundcards from the early 1990s. They may sound "clunky" to 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 modern ears, but they may also bring back fond memories for long-time
Doom players. Doom players.
gzdoom also supports WildMIDI, but this is currently not available on SBo.

View File

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

View File

@ -6,53 +6,19 @@
# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details. # Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
# 20170324 bkw: # 20170608 bkw:
# - Updated for 2.4.0. # - Updated for 3.1.0. fmodapi support has been removed by upstream, so
# it's no longer a dep.
# 20170207 bkw: # - Add OpenAL as a dep. Technically it's not required, as gzdoom will
# - BUILD=2 # happily compile & run without it... but it won't be able to make
# - Get rid of private fmodapi, now that the SBo fmodapi has been updated # any sound at all. Nobody wants this. If you disagree with my decision
# to a new enough version. Re-add fmodapi to REQUIRES. # to make OpenAL a hard dep, I don't want to hear about it (you won't
# - Fix download link so we always get the correct filename. # be able to make sound anyway, so I won't have to...)
# - Stop supporting old versions of gzdoom. The old versions are now
# 20170113 bkw: # supported as "gzdoom-legacy" for those that need them.
# - 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
PRGNAM=gzdoom PRGNAM=gzdoom
VERSION=${VERSION:-2.4.0} VERSION=${VERSION:-3.1.0}
BUILD=${BUILD:-1} BUILD=${BUILD:-1}
TAG=${TAG:-_SBo} 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 \) \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \+ -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 # 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", # of the window title. For releases this shows up as "<unknown version> 0",
# which doesn't hurt anything but is ugly. # 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 # This makes the window title appear as e.g. "GZDOOM 2.1.1 (Aug 3 2016)". The
# date is the build date. # date is the build date.
patch -p1 < $CWD/window_title_version.diff patch -p1 < $CWD/window_title_version.diff
sed -i "/#define *VERSIONSTR/s,GIT_DESCRIPTION,\"$VERSION\"," src/version.h
# 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
# This isn't currently used, but was in the past, and will be again I'm sure. # This isn't currently used, but was in the past, and will be again I'm sure.
[ -e $CWD/compilefix.$VERSION.diff ] && \ [ -e $CWD/compilefix.$VERSION.diff ] && \
patch -p1 < $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 mkdir -p build
cd build cd build
cmake \ cmake \
@ -129,18 +91,11 @@ cd build
-DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_INSTALL_PREFIX=/usr \
-DLIB_SUFFIX=${LIBDIRSUFFIX} \ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
-DMAN_INSTALL_DIR=/usr/man \ -DMAN_INSTALL_DIR=/usr/man \
-DFMOD_LIBRARY=/usr/lib${LIBDIRSUFFIX}/libfmodex${LIBDIRSUFFIX}.so \
-DCMAKE_BUILD_TYPE=Release .. -DCMAKE_BUILD_TYPE=Release ..
make VERBOSE=1 make VERBOSE=1
mkdir -p $PKG/usr/games $PKG/usr/share/games/doom mkdir -p $PKG/usr/games $PKG/usr/share/games/doom
install -m0755 -s $PRGNAM $PKG/usr/games/$PRGNAM install -m0755 -s $PRGNAM $PKG/usr/games/$PRGNAM
install -m0644 *.pk3 $PKG/usr/share/games/doom/ 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 .. cd ..
# .desktop written for this SlackBuild # .desktop written for this SlackBuild

View File

@ -1,10 +1,10 @@
PRGNAM="gzdoom" PRGNAM="gzdoom"
VERSION="2.4.0" VERSION="3.1.0"
HOMEPAGE="http://gzdoom.drdteam.org/" HOMEPAGE="http://gzdoom.drdteam.org/"
DOWNLOAD="https://github.com/coelckers/gzdoom/archive/g2.4.0/gzdoom-g2.4.0.tar.gz" DOWNLOAD="https://github.com/coelckers/gzdoom/archive/g3.1.0/gzdoom-g3.1.0.tar.gz"
MD5SUM="2337388b44cd206ddbb3a2c44c78d3cc" MD5SUM="fe69a6c2251a3a702660c70c71744362"
DOWNLOAD_x86_64="" DOWNLOAD_x86_64=""
MD5SUM_x86_64="" MD5SUM_x86_64=""
REQUIRES="SDL2 fmodapi" REQUIRES="SDL2 OpenAL"
MAINTAINER="B. Watson" MAINTAINER="B. Watson"
EMAIL="yalhcru@gmail.com" EMAIL="yalhcru@gmail.com"

View File

@ -1,7 +1,13 @@
diff -Naur gzdoom-g2.1.1.orig/src/gitinfo.cpp gzdoom-g2.1.1/src/gitinfo.cpp diff -Naur gzdoom-g3.1.0/src/gitinfo.cpp gzdoom-g3.1.0.patched/src/gitinfo.cpp
--- gzdoom-g2.1.1.orig/src/gitinfo.cpp 2016-02-23 04:20:43.000000000 -0500 --- gzdoom-g3.1.0/src/gitinfo.cpp 2017-05-31 06:11:33.000000000 -0400
+++ gzdoom-g2.1.1/src/gitinfo.cpp 2016-08-03 15:18:12.164389643 -0400 +++ gzdoom-g3.1.0.patched/src/gitinfo.cpp 2017-06-10 16:21:51.138003050 -0400
@@ -44,22 +44,15 @@ @@ -39,27 +39,20 @@
const char *GetGitDescription()
{
- return GIT_DESCRIPTION;
+ return VERSIONSTR;
}
const char *GetGitHash() const char *GetGitHash()
{ {