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

View file

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

View file

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