From bb1b973ce9151f2d8c660693e227fe35ab0f28bc Mon Sep 17 00:00:00 2001 From: "B. Watson" Date: Tue, 7 Feb 2017 12:07:59 -0500 Subject: games/gzdoom: Use system fmodapi. --- games/gzdoom/README | 2 +- games/gzdoom/README_SBo.txt | 6 +++- games/gzdoom/README_versions.txt | 6 ++-- games/gzdoom/gzdoom.SlackBuild | 63 ++++++++-------------------------------- games/gzdoom/gzdoom.info | 8 ++--- 5 files changed, 24 insertions(+), 61 deletions(-) (limited to 'games/gzdoom') diff --git a/games/gzdoom/README b/games/gzdoom/README index 7ddc5bb133..372c90f18f 100644 --- a/games/gzdoom/README +++ b/games/gzdoom/README @@ -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 diff --git a/games/gzdoom/README_SBo.txt b/games/gzdoom/README_SBo.txt index 9841cc83c5..66d71b6d5e 100644 --- a/games/gzdoom/README_SBo.txt +++ b/games/gzdoom/README_SBo.txt @@ -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 ------------- diff --git a/games/gzdoom/README_versions.txt b/games/gzdoom/README_versions.txt index d9a7fa9424..586f7efa41 100644 --- a/games/gzdoom/README_versions.txt +++ b/games/gzdoom/README_versions.txt @@ -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 diff --git a/games/gzdoom/gzdoom.SlackBuild b/games/gzdoom/gzdoom.SlackBuild index 2976aa808b..d71615c7d6 100644 --- a/games/gzdoom/gzdoom.SlackBuild +++ b/games/gzdoom/gzdoom.SlackBuild @@ -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 {} \; - -# 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 + -exec chmod 644 {} \+ -# 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 diff --git a/games/gzdoom/gzdoom.info b/games/gzdoom/gzdoom.info index e1047f41ea..b75429cdf7 100644 --- a/games/gzdoom/gzdoom.info +++ b/games/gzdoom/gzdoom.info @@ -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" -- cgit v1.2.3