games/vkQuake: Added (Quake engine with Vulkan API support).

Signed-off-by: David Spencer <idlemoor@slackbuilds.org>
This commit is contained in:
M.Dinslage 2017-12-20 11:18:16 +00:00 committed by Willy Sudiarto Raharjo
parent 9be4db56b5
commit f7bde3c2ac
7 changed files with 162 additions and 0 deletions

16
games/vkQuake/README Normal file
View file

@ -0,0 +1,16 @@
vkQuake is a Quake 1 port using Vulkan instead of OpenGL for
rendering. It is based on the popular QuakeSpasm port and runs
all mods compatible with it like Arcane Dimensions or In The
Shadows. Compared to QuakeSpasm vkQuake also features a software
Quake like underwater effect, has better color precision, generates
mipmap for water surfaces at runtime and has native support for
anti-aliasing and AF.
Your video card must support the vulkan graphics API for this
port to work. You can check video card compatibility here
https://en.wikipedia.org/wiki/Vulkan_(API)#Compatibility
vkQuake is only a game engine modification; you still need the
original quake *.pak game files to play vkQuake.
vkQuake is supported on x86_64 systems only.

4
games/vkQuake/doinst.sh Normal file
View file

@ -0,0 +1,4 @@
if [ -x /usr/bin/update-desktop-database ]; then
/usr/bin/update-desktop-database -q usr/share/applications
fi

19
games/vkQuake/slack-desc Normal file
View file

@ -0,0 +1,19 @@
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description.
# Line up the first '|' above the ':' following the base package name, and
# the '|' on the right side marks the last column you can put a character in.
# You must make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':' except on otherwise blank lines.
|-----handy-ruler------------------------------------------------------|
vkQuake: vkQuake (Quake engine that contains Vulkan API support)
vkQuake:
vkQuake: vkQuake is a Quake 1 port using Vulkan instead of OpenGL for
vkQuake: rendering. It is based on the popular QuakeSpasm port and runs
vkQuake: all mods compatible with it like Arcane Dimensions or In The
vkQuake: Shadows. Compared to QuakeSpasm vkQuake also features a software
vkQuake: Quake like underwater effect, has better color precision, generates
vkQuake: mipmap for water surfaces at runtime and has native support for
vkQuake: anti-aliasing and AF.
vkQuake:
vkQuake:

View file

@ -0,0 +1,101 @@
#!/bin/sh
# Slackware build script for vkQuake
# Copyright 2017 Matt Dinslage, Springfield, MO7
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
#
# 1. Redistributions of this script must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=vkQuake
VERSION=${VERSION:-0.97.2}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i586 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
fi
CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
if [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
else
echo "$ARCH is not supported."
exit 1
fi
set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
cd $PRGNAM-$VERSION
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 \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
# Clean up Makefiles
make -C Quake clean
CFLAGS="$SLKCFLAGS" \
make -C Quake \
USE_CODEC_FLAC=1
make -C Misc/vq_pak
# Create directories and install binary
mkdir -p $PKG/usr/games
mkdir -p $PKG/usr/share/games/vkQuake/id1
install -Dm755 Quake/vkquake $PKG/usr/share/games/vkQuake
install -Dm755 $CWD/vkquake $PKG/usr/games
# Copy pak file
install -Dm644 Misc/vq_pak/vkquake.pak $PKG/usr/share/games/vkQuake/id1
# Install icon and application
mkdir -p $PKG/usr/share/{pixmaps,applications}
cp Misc/vkQuake_512.png $PKG/usr/share/pixmaps
cp $CWD/vkQuake.desktop $PKG/usr/share/applications/
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a readme.md $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cat $CWD/doinst.sh > $PKG/install/doinst.sh
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}

View file

@ -0,0 +1,9 @@
[Desktop Entry]
Name=vkQuake
GenericName=idsoftware's Quake with Vulkan API support
Exec=vkquake
Terminal=false
Type=Application
Categories=Game;
Icon=/usr/share/pixmaps/vkQuake_512.png
StartupNotify=false

View file

@ -0,0 +1,10 @@
PRGNAM="vkQuake"
VERSION="0.97.2"
HOMEPAGE="https://github.com/Novum/vkQuake"
DOWNLOAD="UNSUPPORTED"
MD5SUM=""
DOWNLOAD_x86_64="https://github.com/Novum/vkQuake/archive/0.97.2/vkQuake-0.97.2.tar.gz"
MD5SUM_x86_64="be0d04410ace294853b6d771acb16b9f"
REQUIRES="SDL2 vulkansdk"
MAINTAINER="M.Dinslage"
EMAIL="daedra1980@gmail.com"

3
games/vkQuake/vkquake Normal file
View file

@ -0,0 +1,3 @@
#!/bin/sh
cd /usr/share/games/vkQuake
exec ./vkquake