games/cataclysmdda: Added (Dark Days Ahead).

Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
This commit is contained in:
Brian Hoffpauir 2023-07-08 10:44:54 +07:00 committed by Willy Sudiarto Raharjo
parent c6bbe9e1ac
commit 6cd426b90c
No known key found for this signature in database
GPG Key ID: 3F617144D7238786
5 changed files with 150 additions and 0 deletions

13
games/cataclysmdda/README Normal file
View File

@ -0,0 +1,13 @@
Cataclysm:DDA is a turn-based survival-themed roguelike game set in a
post-apocalyptic world. You awaken with hazy memories of violence and
terror from when the world suddenly unravelled around you. Now you
need to explore your surroundings, and secure food, water and safety.
This SlackBuild downloads the latest official Linux curses build,
which is only available for the x86-64 architecture.
This script modifies the launcher to store game data in `$HOME/.cdda`
and also includes some fixes without which the game would not launch:
- symlink `/usr/lib64/libtinfo.so.5` => `/usr/lib64/libtinfo.so.6`
- override of env. variable TERM to work with graphical terminal
emulators

View File

@ -0,0 +1,97 @@
#!/bin/bash
# Slackware build script for Cataclysm: DDA
# (based on the binary releases)
# Copyright 2023 Mavridis Philippe <mavridisf@gmail.com>
# 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.
cd $(dirname $0); CWD=$(pwd)
PRGNAM=cataclysmdda
VERSION=${VERSION:-0.G}
PKG_BUILD=${PKG_BUILD:-2023-03-01-0054}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
ARCH=${ARCH:-$(uname -m)}
if [ "$ARCH" != "x86_64" ]
then
echo "Binary releases are only available for x86-64 platform." >2
exit 1
fi
if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE"
exit 0
fi
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
# BUG: for some reason the extracted directory is named after older version 0.F
# and not current version 0.G
rm -rf $PRGNAM-0.F
tar xvf $CWD/cdda-linux-curses-x64-$PKG_BUILD.tar.gz
cd $PRGNAM-0.F
chown -R root:root .
strip --strip-unneeded json_formatter.cgi 2>/dev/null || true
mkdir -p $PKG/opt/$PRGNAM
cp -ra * $PKG/opt/$PRGNAM
# Modify launcher to store data in home directory
sed -i 's:exec ./$BIN:exec ./$BIN --userdir "$HOME/.catadda":' \
$PKG/opt/$PRGNAM/cataclysm-launcher
# BUG: override TERM variable
sed -i '2i export TERM="xterm"' \
$PKG/opt/$PRGNAM/cataclysm-launcher
# Create convenient launcher symlink in /usr/bin
mkdir -p $PKG/usr/bin
cd $PKG/usr/bin
ln -s ../../opt/$PRGNAM/cataclysm-launcher cataclysm
# Move documentation into /usr/doc
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cd $PKG/usr/doc/$PRGNAM-$VERSION
mv $PKG/opt/$PRGNAM/doc/* .
rmdir $PKG/opt/$PRGNAM/doc
rm JSON_LOADING_ORDER.md
ln -s ../../../opt/$PRGNAM/data/json/LOADING_ORDER.md JSON_LOADING_ORDER.md
cat $CWD/README > $PKG/usr/doc/$PRGNAM-$VERSION/README
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

View File

@ -0,0 +1,10 @@
PRGNAM="cataclysmdda"
VERSION="0.G"
HOMEPAGE="https://www.cataclysmdda.org"
DOWNLOAD="UNSUPPORTED"
MD5SUM=""
DOWNLOAD_x86_64="https://github.com/CleverRaven/Cataclysm-DDA/releases/download/0.G/cdda-linux-curses-x64-2023-03-01-0054.tar.gz"
MD5SUM_x86_64="3f57494be13e04d0be3a4e66a466d9c0"
REQUIRES=""
MAINTAINER="Mavridis Philippe"
EMAIL="mavridisf@gmail.com"

View File

@ -0,0 +1,11 @@
# HACK: The binary build depends on this symlink present
if [ ! -e /usr/lib64/libtinfo.so.5 ]
then
if [ ! -e /usr/lib64/libtinfo.so ]
then
echo "libtinfo.so cannot be found. Expect problems"
fi
echo "Creating symlink /usr/lib64/libtinfo.so.5 => /usr/lib64/libtinfo.so"
ln -s /usr/lib64/libtinfo.so /usr/lib64/libtinfo.so.5
fi

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 ':'.
|-----handy-ruler------------------------------------------------------|
cataclysmdda: cataclysmdda (Cataclysm: Dark Days Ahead)
cataclysmdda:
cataclysmdda: Cataclysm:DDA is a turn-based survival-themed roguelike game set in a
cataclysmdda: post-apocalyptic world. You awaken with hazy memories of violence and
cataclysmdda: terror from when the world suddenly unravelled around you. Now you
cataclysmdda: need to explore your surroundings, and secure food, water and safety.
cataclysmdda:
cataclysmdda: This SlackBuild downloads the latest official Linux curses build.
cataclysmdda:
cataclysmdda: Homepage: https://cataclysmdda.org/
cataclysmdda: