mirror of
https://github.com/Ponce/slackbuilds
synced 2024-11-21 19:42:24 +01:00
games/gzdoom: Use system fmodapi.
This commit is contained in:
parent
557658ecc4
commit
bb1b973ce9
5 changed files with 24 additions and 61 deletions
|
@ -6,7 +6,7 @@ auto-detected.
|
|||
|
||||
See README_SBo.txt for optional runtime dependencies.
|
||||
|
||||
This script can be used to build gzdoom 1.8.09, 1.9.1, or 2.1.1. For
|
||||
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
|
||||
|
|
|
@ -8,7 +8,11 @@ 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
|
||||
- freedoom
|
||||
- doom_shareware_data
|
||||
- heretic_shareware_data
|
||||
- hexen_demo_data
|
||||
- chexquest3
|
||||
|
||||
Sound Backend
|
||||
-------------
|
||||
|
|
|
@ -4,9 +4,9 @@ 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.2.0 - latest version of gzdoom (best choice for fast modern systems).
|
||||
2.3.2 - latest version of gzdoom (best choice for fast modern systems).
|
||||
|
||||
By default, 2.2.0 is built (as per the .info file). If you'd like to
|
||||
By default, 2.3.2 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
|
||||
|
@ -15,7 +15,7 @@ file, and copy the lines below:
|
|||
For 1.8.09:
|
||||
|
||||
VERSION="1.8.09"
|
||||
DOWNLOAD="https://github.com/coelckers/gzdoom/archive/1.8.09.tar.gz"
|
||||
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
|
||||
|
|
|
@ -6,6 +6,12 @@
|
|||
|
||||
# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
|
||||
|
||||
# 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
|
||||
|
@ -44,7 +50,7 @@
|
|||
|
||||
PRGNAM=gzdoom
|
||||
VERSION=${VERSION:-2.3.2}
|
||||
BUILD=${BUILD:-1}
|
||||
BUILD=${BUILD:-2}
|
||||
TAG=${TAG:-_SBo}
|
||||
|
||||
if [ -z "$ARCH" ]; then
|
||||
|
@ -85,56 +91,14 @@ tar xvf $CWD/$PRGNAM-g$VERSION.tar.gz || \
|
|||
tar xvf $CWD/$PRGNAM-$VERSION.tar.gz || \
|
||||
tar xvf $CWD/$VERSION.tar.gz
|
||||
cd $PRGNAM-g$VERSION || cd $PRGNAM-$VERSION
|
||||
|
||||
# See if fmodapi tarball is in script dir. If so, use it. We
|
||||
# currently support 2 versions of it: 4.44.50 and 4.44.61. These
|
||||
# are newer than the SBo fmodapi package, which is 4.28.17. You
|
||||
# could try a different fmodapi here (by editing the 'for' args),
|
||||
# but only for recent-ish fmodapi versions because this stuff
|
||||
# depends on both x86 and x86_64 being included in the fmodapi
|
||||
# tarball (which wasn't the case for 4.28.17 and earlier).
|
||||
for i in 44450 44461; do
|
||||
[ -e $CWD/fmodapi${i}linux.tar.gz ] && fmodver=$i
|
||||
done
|
||||
|
||||
[ -n "$fmodver" ] && tar xvf $CWD/fmodapi${fmodver}linux.tar.gz
|
||||
|
||||
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 \
|
||||
-exec chmod 755 {} \+ -o \
|
||||
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
|
||||
-exec chmod 644 {} \;
|
||||
-exec chmod 644 {} \+
|
||||
|
||||
# Set up fmodapi, if present.
|
||||
if [ -n "$fmodver" ]; then
|
||||
fmoddir=fmodapi${fmodver}linux
|
||||
|
||||
mkdir -p $PKG/usr/lib$LIBDIRSUFFIX/$PRGNAM $PKG/usr/include/tmp
|
||||
|
||||
mv $fmoddir/api/lib/libfmodex$LIBDIRSUFFIX-*.so \
|
||||
$fmoddir/api/lib/libfmodexL$LIBDIRSUFFIX-*.so \
|
||||
$PKG/usr/lib$LIBDIRSUFFIX/$PRGNAM
|
||||
|
||||
mv $fmoddir/api/inc/* $PKG/usr/include/tmp
|
||||
|
||||
cd $PKG/usr/lib$LIBDIRSUFFIX/$PRGNAM
|
||||
ln -s libfmodex$LIBDIRSUFFIX-*.so libfmodex$LIBDIRSUFFIX.so
|
||||
ln -s libfmodexL$LIBDIRSUFFIX-*.so libfmodexL$LIBDIRSUFFIX.so
|
||||
cd -
|
||||
|
||||
# These cmake args will cause cmake to ignore any fmodapi installed in
|
||||
# the standard system locations. The -Wl,-rpath stuff is needed to get
|
||||
# gzdoom to use the fmod we include here (at runtime), instead of the
|
||||
# system-wide one in /usr/lib$LIBDIRSUFFIX.
|
||||
fmod_cmake="\
|
||||
-DFMOD_INCLUDE_DIR=$PKG/usr/include/tmp \
|
||||
-DFMOD_LIBRARY=$PKG/usr/lib$LIBDIRSUFFIX/$PRGNAM/libfmodex$LIBDIRSUFFIX.so \
|
||||
-DCMAKE_EXE_LINKER_FLAGS='-Wl,-rpath=/usr/lib$LIBDIRSUFFIX/$PRGNAM'
|
||||
-DCMAKE_MODULE_LINKER_FLAGS='-Wl,-rpath=/usr/lib$LIBDIRSUFFIX/$PRGNAM'"
|
||||
fi
|
||||
|
||||
# fmodapi MIDI support tries to find its lib in the current dir, fix it:
|
||||
# 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
|
||||
|
@ -157,12 +121,12 @@ sed -i "/#define *VERSIONSTR/s,\"[^\"]*\",\"$VERSION\"," src/version.h
|
|||
mkdir -p build
|
||||
cd build
|
||||
cmake \
|
||||
$fmod_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 \
|
||||
-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
|
||||
|
@ -176,9 +140,6 @@ cd build
|
|||
fi
|
||||
cd ..
|
||||
|
||||
# gzdoom doesn't install any headers; this is for the fmod hackery.
|
||||
rm -rf $PKG/usr/include
|
||||
|
||||
# .desktop written for this SlackBuild
|
||||
mkdir -p $PKG/usr/share/applications
|
||||
cat $CWD/$PRGNAM.desktop > $PKG/usr/share/applications/$PRGNAM.desktop
|
||||
|
@ -192,7 +153,7 @@ cp -a docs/* $PKG/usr/doc/$PRGNAM-$VERSION
|
|||
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
|
||||
cat $CWD/README_SBo.txt > $PKG/usr/doc/$PRGNAM-$VERSION/README_SBo.txt
|
||||
|
||||
# Fix DOS CRLF line endings. The stuff in licenses/ is already OK, for 2.2.0.
|
||||
# Fix DOS CRLF line endings. The stuff in licenses/ is already OK, for 2.3.2.
|
||||
sed -i 's/\r//' $PKG/usr/doc/$PRGNAM-$VERSION/*.*
|
||||
|
||||
mkdir -p $PKG/install
|
||||
|
|
|
@ -1,12 +1,10 @@
|
|||
PRGNAM="gzdoom"
|
||||
VERSION="2.3.2"
|
||||
HOMEPAGE="http://gzdoom.drdteam.org/"
|
||||
DOWNLOAD="https://github.com/coelckers/gzdoom/archive/g2.3.2.tar.gz \
|
||||
http://ponce.cc/slackware/sources/repo/fmodapi44461linux.tar.gz"
|
||||
MD5SUM="5e270c82c4e3f7b1620199aee41f7b56 \
|
||||
9f770e797c39192ff6cdb88dc05dd028"
|
||||
DOWNLOAD="https://github.com/coelckers/gzdoom/archive/g2.3.2/gzdoom-g2.3.2.tar.gz"
|
||||
MD5SUM="5e270c82c4e3f7b1620199aee41f7b56"
|
||||
DOWNLOAD_x86_64=""
|
||||
MD5SUM_x86_64=""
|
||||
REQUIRES="SDL2"
|
||||
REQUIRES="SDL2 fmodapi"
|
||||
MAINTAINER="B. Watson"
|
||||
EMAIL="yalhcru@gmail.com"
|
||||
|
|
Loading…
Reference in a new issue