games/darkplaces: Don't use precompiled binaries.

Signed-off-by: B. Watson <yalhcru@gmail.com>

Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
This commit is contained in:
B. Watson 2022-04-01 14:28:34 -04:00 committed by Willy Sudiarto Raharjo
parent 03ce5be87f
commit 7d0bd0e3b5
No known key found for this signature in database
GPG key ID: 3F617144D7238786
3 changed files with 25 additions and 49 deletions

View file

@ -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 lighting, and bump mapping. It makes use of the OpenGL Shading
Language and supports Ogg Vorbis. 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, The application launcher will launch the OpenGL version of Quake,
however if you would prefer it to launch the SDL version then pass 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 Also the darkplaces game modifications are disabled by default to
maintain that "classic" look of the original quake. To enable the 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 *NOTE* DarkPlaces is only a game engine modification; you still need the
original quake *.pak game files to play quake. See README.SLACKWARE for original quake *.pak game files to play quake. See README.SLACKWARE for

View file

@ -22,11 +22,16 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # 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) cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=darkplaces PRGNAM=darkplaces
VERSION=${VERSION:-20140513} VERSION=${VERSION:-20140513}
BUILD=${BUILD:-1} BUILD=${BUILD:-2}
TAG=${TAG:-_SBo} TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz} PKGTYPE=${PKGTYPE:-tgz}
@ -38,9 +43,6 @@ if [ -z "$ARCH" ]; then
esac esac
fi 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 if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE"
exit 0 exit 0
@ -55,13 +57,10 @@ SRCVER=${SRCVER:-enginesource20140513}
MODVER=${MODVER:-darkplacesmod20130301} MODVER=${MODVER:-darkplacesmod20130301}
# By default we won't add the darkplaces game mods # By default we won't add the darkplaces game mods
DPMOD=${DPMOD:-"NO"} DPMOD=${DPMOD:-"no"}
# Pass SOURCE=YES if you want to build you binaries from source
SOURCE=${SOURCE:-"NO"}
# By default application launcher will use opengl version # By default application launcher will use opengl version
SDL=${SDL:-"NO"} SDL=${SDL:-"no"}
if [ "$ARCH" = "i586" ]; then if [ "$ARCH" = "i586" ]; then
SLKCFLAGS="-O2 -march=i586 -mtune=i686" SLKCFLAGS="-O2 -march=i586 -mtune=i686"
@ -79,7 +78,6 @@ else
# might not work at all, but we could try :) # might not work at all, but we could try :)
SLKCFLAGS="-O2" SLKCFLAGS="-O2"
BINARCH=$ARCH BINARCH=$ARCH
SOURCE="YES"
fi fi
set -e set -e
@ -96,28 +94,19 @@ unzip $PRGNAM$SRCVER.zip # this is in the first zip file
chown -R root:root . chown -R root:root .
find -L . \ find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 -o -perm 511 \) \ \( -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 \) \ \( -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 ( cd darkplaces ; patch -p1 < $CWD/gcc11.patch )
patch -p1 < $CWD/gcc11.patch )
if [ "$SOURCE" != "NO" ]; then cd $PRGNAM
cd $PRGNAM make OPTIM_RELEASE="$SLKCFLAGS" release
make OPTIM_RELEASE="$SLKCFLAGS" release cd -
cd -
fi
# Create game directory and copy executables # Create game directory and copy executables
mkdir -p $PKG/usr/share/games/darkplaces mkdir -p $PKG/usr/share/games/darkplaces
if [ "$SOURCE" = "NO" ]; then install -s $PRGNAM/$PRGNAM-{glx,sdl,dedicated} $PKG/usr/share/games/darkplaces
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
# Create directory for original game *.pak files # Create directory for original game *.pak files
mkdir -p $PKG/usr/share/games/darkplaces/id1 mkdir -p $PKG/usr/share/games/darkplaces/id1
@ -125,8 +114,8 @@ mkdir -p $PKG/usr/share/games/darkplaces/id1
# Add launchers to path # Add launchers to path
mkdir $PKG/usr/games mkdir $PKG/usr/games
for i in glx sdl dedicated ; do for i in glx sdl dedicated ; do
cat $CWD/darkplaces-$i > $PKG/usr/games/darkplaces-$i ; cat $CWD/darkplaces-$i > $PKG/usr/games/darkplaces-$i
chmod 0755 $PKG/usr/games/darkplaces-$i ; chmod 0755 $PKG/usr/games/darkplaces-$i
done done
# Add application launcher # 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 cat $CWD/quake.png > $PKG/usr/share/pixmaps/quake.png
# Make application launcher execute SDL version if requested. # 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 sed -i 's,darkplaces-glx,darkplaces-sdl,g' $PKG/usr/share/applications/$PRGNAM.desktop
fi fi
if [ "$DPMOD" != "NO" ]; then if [ "$DPMOD" != "no" ]; then
unzip $CWD/$MODVER.zip unzip $CWD/$MODVER.zip
chown -R root:root dpmod chown -R root:root dpmod
find dpmod \ find dpmod \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 -o -perm 511 \) \ \( -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 \) \ \( -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 cp -a dpmod $PKG/usr/share/games/darkplaces
sed -i 's,exec ./darkplaces-glx,exec ./darkplaces-glx -game dpmod,g' \ sed -i 's,exec ./darkplaces-glx,exec ./darkplaces-glx -game dpmod,g' \
$PKG/usr/games/darkplaces-glx $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/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
cat $CWD/README.SLACKWARE > $PKG/usr/doc/$PRGNAM-$VERSION/README.SLACKWARE 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 mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc cat $CWD/slack-desc > $PKG/install/slack-desc
cat $CWD/doinst.sh > $PKG/install/doinst.sh cat $CWD/doinst.sh > $PKG/install/doinst.sh

View file

@ -1,9 +1,9 @@
[Desktop Entry] [Desktop Entry]
Name=Quake Name=Quake
GenericName=Darkplaces port of idsoftware's Quake GenericName=Darkplaces port of idsoftware's Quake
Exec=darkplaces-glx Exec=/usr/games/darkplaces-glx
Terminal=false Terminal=false
Type=Application Type=Application
Categories=Game; Categories=Game;
Icon=quake Icon=/usr/share/pixmaps/quake.png
StartupNotify=false StartupNotify=false