From 7d0bd0e3b5cae5ae5864619995c8f05aed144b9e Mon Sep 17 00:00:00 2001 From: "B. Watson" Date: Fri, 1 Apr 2022 14:28:34 -0400 Subject: [PATCH] games/darkplaces: Don't use precompiled binaries. Signed-off-by: B. Watson Signed-off-by: Willy Sudiarto Raharjo --- games/darkplaces/README | 11 +---- games/darkplaces/darkplaces.SlackBuild | 59 +++++++++----------------- games/darkplaces/darkplaces.desktop | 4 +- 3 files changed, 25 insertions(+), 49 deletions(-) diff --git a/games/darkplaces/README b/games/darkplaces/README index 4c32c28df8..1b078b8f19 100644 --- a/games/darkplaces/README +++ b/games/darkplaces/README @@ -6,20 +6,13 @@ asynchronous delta compression, a built in server browser, real-time lighting, and bump mapping. It makes use of the OpenGL Shading Language and supports Ogg Vorbis. -By default the binaries will not be built from source, we will instead -use the supplied binaries. if you wish to build your own binaries -from source them pass SOURCE=YES to the build. There is a known -issue with Darkplaces sometimes failing to compile if MAKEFLAGS is -set higher than -j1. This should only be an issue if you have custom -MAKEFLAGS set in your .bash_profile or in sbopkg.conf. - The application launcher will launch the OpenGL version of Quake, however if you would prefer it to launch the SDL version then pass -SDL=YES to the build. +SDL=yes to the build. Also the darkplaces game modifications are disabled by default to maintain that "classic" look of the original quake. To enable the -modifications, pass DPMOD=YES to the build. +modifications, pass DPMOD=yes to the build. *NOTE* DarkPlaces is only a game engine modification; you still need the original quake *.pak game files to play quake. See README.SLACKWARE for diff --git a/games/darkplaces/darkplaces.SlackBuild b/games/darkplaces/darkplaces.SlackBuild index 1fcf44a837..b53414e2bc 100644 --- a/games/darkplaces/darkplaces.SlackBuild +++ b/games/darkplaces/darkplaces.SlackBuild @@ -22,11 +22,16 @@ # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# 20220401 bkw: Modified by SlackBuilds.org, BUILD=2: +# - always build from source. the precompiled binaries no longer work +# on Slackware 15.0 (missing libjpeg.so.8). +# - absolute paths in .desktop file. + cd $(dirname $0) ; CWD=$(pwd) PRGNAM=darkplaces VERSION=${VERSION:-20140513} -BUILD=${BUILD:-1} +BUILD=${BUILD:-2} TAG=${TAG:-_SBo} PKGTYPE=${PKGTYPE:-tgz} @@ -38,9 +43,6 @@ if [ -z "$ARCH" ]; then esac fi -# If the variable PRINT_PACKAGE_NAME is set, then this script will report what -# the name of the created package would be, and then exit. This information -# could be useful to other scripts. if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" exit 0 @@ -55,13 +57,10 @@ SRCVER=${SRCVER:-enginesource20140513} MODVER=${MODVER:-darkplacesmod20130301} # By default we won't add the darkplaces game mods -DPMOD=${DPMOD:-"NO"} - -# Pass SOURCE=YES if you want to build you binaries from source -SOURCE=${SOURCE:-"NO"} +DPMOD=${DPMOD:-"no"} # By default application launcher will use opengl version -SDL=${SDL:-"NO"} +SDL=${SDL:-"no"} if [ "$ARCH" = "i586" ]; then SLKCFLAGS="-O2 -march=i586 -mtune=i686" @@ -79,7 +78,6 @@ else # might not work at all, but we could try :) SLKCFLAGS="-O2" BINARCH=$ARCH - SOURCE="YES" fi set -e @@ -96,28 +94,19 @@ unzip $PRGNAM$SRCVER.zip # this is in the first zip file 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 {} \+ -( cd darkplaces - patch -p1 < $CWD/gcc11.patch ) +( cd darkplaces ; patch -p1 < $CWD/gcc11.patch ) -if [ "$SOURCE" != "NO" ]; then - cd $PRGNAM - make OPTIM_RELEASE="$SLKCFLAGS" release - cd - -fi +cd $PRGNAM +make OPTIM_RELEASE="$SLKCFLAGS" release +cd - # Create game directory and copy executables mkdir -p $PKG/usr/share/games/darkplaces -if [ "$SOURCE" = "NO" ]; then - cp -a darkplaces-linux-$BINARCH-dedicated $PKG/usr/share/games/darkplaces/$PRGNAM-dedicated - cp -a darkplaces-linux-$BINARCH-glx $PKG/usr/share/games/darkplaces/$PRGNAM-glx - cp -a darkplaces-linux-$BINARCH-sdl $PKG/usr/share/games/darkplaces/$PRGNAM-sdl -else - cp -a $PRGNAM/$PRGNAM-{glx,sdl,dedicated} $PKG/usr/share/games/darkplaces -fi +install -s $PRGNAM/$PRGNAM-{glx,sdl,dedicated} $PKG/usr/share/games/darkplaces # Create directory for original game *.pak files mkdir -p $PKG/usr/share/games/darkplaces/id1 @@ -125,8 +114,8 @@ mkdir -p $PKG/usr/share/games/darkplaces/id1 # Add launchers to path mkdir $PKG/usr/games for i in glx sdl dedicated ; do - cat $CWD/darkplaces-$i > $PKG/usr/games/darkplaces-$i ; - chmod 0755 $PKG/usr/games/darkplaces-$i ; + cat $CWD/darkplaces-$i > $PKG/usr/games/darkplaces-$i + chmod 0755 $PKG/usr/games/darkplaces-$i done # Add application launcher @@ -135,18 +124,18 @@ cat $CWD/$PRGNAM.desktop > $PKG/usr/share/applications/$PRGNAM.desktop cat $CWD/quake.png > $PKG/usr/share/pixmaps/quake.png # Make application launcher execute SDL version if requested. -if [ "$SDL" != "NO" ]; then +if [ "$SDL" != "no" ]; then sed -i 's,darkplaces-glx,darkplaces-sdl,g' $PKG/usr/share/applications/$PRGNAM.desktop fi -if [ "$DPMOD" != "NO" ]; then +if [ "$DPMOD" != "no" ]; then unzip $CWD/$MODVER.zip chown -R root:root dpmod find dpmod \ \( -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 {} \+ cp -a dpmod $PKG/usr/share/games/darkplaces sed -i 's,exec ./darkplaces-glx,exec ./darkplaces-glx -game dpmod,g' \ $PKG/usr/games/darkplaces-glx @@ -159,12 +148,6 @@ cp -a README-SDL.txt darkplaces.txt $PKG/usr/doc/$PRGNAM-$VERSION cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild cat $CWD/README.SLACKWARE > $PKG/usr/doc/$PRGNAM-$VERSION/README.SLACKWARE -# We only need to strip the binaries if we're compiling from source -if [ "$SOURCE" != "NO" ]; then - find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ - | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true -fi - mkdir -p $PKG/install cat $CWD/slack-desc > $PKG/install/slack-desc cat $CWD/doinst.sh > $PKG/install/doinst.sh diff --git a/games/darkplaces/darkplaces.desktop b/games/darkplaces/darkplaces.desktop index 796f1cfcd6..759328fb72 100644 --- a/games/darkplaces/darkplaces.desktop +++ b/games/darkplaces/darkplaces.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Name=Quake GenericName=Darkplaces port of idsoftware's Quake -Exec=darkplaces-glx +Exec=/usr/games/darkplaces-glx Terminal=false Type=Application Categories=Game; -Icon=quake +Icon=/usr/share/pixmaps/quake.png StartupNotify=false