games/dwarffortress: Added (A single-player fantasy adventure game)

Signed-off-by: Dave Woodfall <dave@slackbuilds.org>

Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
This commit is contained in:
David Ferrone 2022-04-30 06:24:50 +01:00 committed by Willy Sudiarto Raharjo
parent f40d33bd54
commit 243b49f72d
No known key found for this signature in database
GPG key ID: 3F617144D7238786
8 changed files with 195 additions and 0 deletions

View file

@ -0,0 +1,14 @@
Dwarf Fortress is a sandbox game created by Tarn Adams of Bay 12 Games.
The graphics are ASCII with various tilesets available.
In Fortress Mode, the player helps their dwarves survive by declaring
areas to collect food, create workshops, create defenses, etc.
In Adventure Mode, the player takes the role of an individual who can
explore the world (including their own previously created forts).
https://dwarffortresswiki.org
https://dffd.bay12games.com
Note: A local copy of the game will be placed in ~/.dwarffortress when
run, where tilesets/graphics and config files can be changed.
(An original copy of the program is placed in /opt)

View file

@ -0,0 +1,3 @@
if [ -x /usr/bin/update-desktop-database ]; then
/usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1
fi

View file

@ -0,0 +1,30 @@
#!/bin/sh
# Slackware wrapper for the dwarffortress executable.
# A copy of the game is in /opt/dwarffortress
# When a user runs the game these files are copied to
# their home directory, and the game runs from there.
runme(){
if [ ! -d ~/.dwarffortress ]; then
cp -a /opt/dwarffortress ~/.dwarffortress
cd ~/.dwarffortress
find {data,raw,sdl} -type d -exec chmod 700 {} \;
fi
cd ~/.dwarffortress
~/.dwarffortress/df
}
if [ $UID == 0 ]; then
read -p "You are currently running as root...\
Are you sure you want to proceed? (N/y): " resp
case "$resp" in
y|yes)
runme
;;
*)
echo Exiting
exit 0
;;
esac
else
runme
fi

View file

@ -0,0 +1,113 @@
#!/bin/bash
# Slackware build script for Dwarf Fortress
# Copyright 2021 David Ferrone RI, USA
# 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=dwarffortress
VERSION=${VERSION:-0.47.05}
SRCNAM=df_47_05_linux
SRCDIR=df_linux
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
# 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
fi
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i586 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
fi
if [ "$ARCH" = "i586" ]; then
BITFLAG="32"
elif [ "$ARCH" = "x86_64" ]; then
BITFLAG=""
else
BITFLAG=""
fi
CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $SRCDIR
tar xvf $CWD/$SRCNAM$BITFLAG.tar.bz2
cd $SRCDIR && chown -R root:root .
## Unnecessary in this case. Leave it in case the Toady One ever uses symlinks.
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 {} \;
## Remove two library files that prevent operation, use local libraries instead.
rm libs/libgcc_s.so.1
rm libs/libstdc++.so.6
## These directories will be writeable by the user. Normally mode 700.
find {data,raw,sdl} -type d -exec chmod 755 {} \;
mkdir $PKG/opt
cd ..
mv $SRCDIR $PKG/opt/$PRGNAM
# Strip binaries and libraries -
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 $PKG/usr/doc $PKG/usr/bin
mkdir -p $PKG/usr/share $PKG/usr/share/pixmaps $PKG/usr/share/applications
cat $CWD/dwarffortress.desktop > $PKG/usr/share/applications/dwarffortress.desktop
cat $CWD/dwarffortress.png > $PKG/usr/share/pixmaps/dwarffortress.png
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cd $PKG/opt/$PRGNAM
cp -a README.linux command\ line.txt file\ changes.txt readme.txt \
release\ notes.txt $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
cat $CWD/dwarffortress > $PKG/usr/bin/dwarffortress
chmod 755 $PKG/usr/bin/dwarffortress
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,6 @@
[Desktop Entry]
Type=Application
Terminal=false
Exec=/usr/bin/dwarffortress
Name=Dwarf Fortress
Icon=dwarffortress

View file

@ -0,0 +1,10 @@
PRGNAM="dwarffortress"
VERSION="0.47.05"
HOMEPAGE="https://bay12games.com/dwarves/"
DOWNLOAD="https://bay12games.com/dwarves/df_47_05_linux32.tar.bz2"
MD5SUM="c7b12be86285893db8c611d407b67c0b"
DOWNLOAD_x86_64="https://bay12games.com/dwarves/df_47_05_linux.tar.bz2"
MD5SUM_x86_64="be1e9b5954a50ffe90b2df8e7920c5a4"
REQUIRES=""
MAINTAINER="David Ferrone"
EMAIL="zapwai@gmail.com"

Binary file not shown.

After

Width:  |  Height:  |  Size: 893 B

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------------------------------------------------------|
dwarffortress: dwarffortress (A single-player fantasy simulator adventure game)
dwarffortress:
dwarffortress: Dwarf Fortress is a complex sandbox game created by Tarn Adams of
dwarffortress: Bay 12 Games. The graphics are ASCII with various tilesets available.
dwarffortress: In Fortress Mode, the player helps their dwarves survive by declaring
dwarffortress: areas to collect food, create workshops, create defenses, etc.
dwarffortress: In Adventure Mode, the player takes the role of an individual who can
dwarffortress: explore the world (including their own previously created forts).
dwarffortress: https://dwarffortresswiki.org https://dffd.bay12games.com
dwarffortress: (A copy of the game will be placed in ~/.dwarffortress when run.)
dwarffortress: