summaryrefslogtreecommitdiff
path: root/games/dwarffortress
diff options
context:
space:
mode:
authorDavid Ferrone <zapwai@gmail.com>2022-04-30 06:24:50 +0100
committerWilly Sudiarto Raharjo <willysr@slackbuilds.org>2022-04-30 13:52:00 +0700
commit243b49f72de69364bec0b7955c7df7f7bb636c5d (patch)
treed22b2c99d9e019441ffcf880dc95c7b1cb481bef /games/dwarffortress
parentf40d33bd5468b332bb93f3d551fdbcb86cbe2158 (diff)
downloadslackbuilds-243b49f72de69364bec0b7955c7df7f7bb636c5d.tar.gz
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>
Diffstat (limited to 'games/dwarffortress')
-rw-r--r--games/dwarffortress/README14
-rw-r--r--games/dwarffortress/doinst.sh3
-rw-r--r--games/dwarffortress/dwarffortress30
-rw-r--r--games/dwarffortress/dwarffortress.SlackBuild113
-rw-r--r--games/dwarffortress/dwarffortress.desktop6
-rw-r--r--games/dwarffortress/dwarffortress.info10
-rw-r--r--games/dwarffortress/dwarffortress.pngbin0 -> 893 bytes
-rw-r--r--games/dwarffortress/slack-desc19
8 files changed, 195 insertions, 0 deletions
diff --git a/games/dwarffortress/README b/games/dwarffortress/README
new file mode 100644
index 0000000000..bc04339ffb
--- /dev/null
+++ b/games/dwarffortress/README
@@ -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)
diff --git a/games/dwarffortress/doinst.sh b/games/dwarffortress/doinst.sh
new file mode 100644
index 0000000000..5fb28930db
--- /dev/null
+++ b/games/dwarffortress/doinst.sh
@@ -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
diff --git a/games/dwarffortress/dwarffortress b/games/dwarffortress/dwarffortress
new file mode 100644
index 0000000000..6f71dec339
--- /dev/null
+++ b/games/dwarffortress/dwarffortress
@@ -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
diff --git a/games/dwarffortress/dwarffortress.SlackBuild b/games/dwarffortress/dwarffortress.SlackBuild
new file mode 100644
index 0000000000..1a30512966
--- /dev/null
+++ b/games/dwarffortress/dwarffortress.SlackBuild
@@ -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
diff --git a/games/dwarffortress/dwarffortress.desktop b/games/dwarffortress/dwarffortress.desktop
new file mode 100644
index 0000000000..28348e6d88
--- /dev/null
+++ b/games/dwarffortress/dwarffortress.desktop
@@ -0,0 +1,6 @@
+[Desktop Entry]
+Type=Application
+Terminal=false
+Exec=/usr/bin/dwarffortress
+Name=Dwarf Fortress
+Icon=dwarffortress
diff --git a/games/dwarffortress/dwarffortress.info b/games/dwarffortress/dwarffortress.info
new file mode 100644
index 0000000000..0aab99df86
--- /dev/null
+++ b/games/dwarffortress/dwarffortress.info
@@ -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"
diff --git a/games/dwarffortress/dwarffortress.png b/games/dwarffortress/dwarffortress.png
new file mode 100644
index 0000000000..1246b699b3
--- /dev/null
+++ b/games/dwarffortress/dwarffortress.png
Binary files differ
diff --git a/games/dwarffortress/slack-desc b/games/dwarffortress/slack-desc
new file mode 100644
index 0000000000..8f8e6d21fb
--- /dev/null
+++ b/games/dwarffortress/slack-desc
@@ -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: