games/yarntown: Added (2D homage to Bloodborne for solarus engine)

Signed-off-by: Dave Woodfall <dave@slackbuilds.org>
This commit is contained in:
Hunter Sezen 2020-09-12 01:31:06 +01:00 committed by Dave Woodfall
parent b6c94566fc
commit 17f42c109f
6 changed files with 519 additions and 0 deletions

5
games/yarntown/README Normal file
View file

@ -0,0 +1,5 @@
Yarntown is a 2D hommage to Bloodborne, a dark fantasy video game
released on Playstation 4 in 2015. Bloodborne is as renowned for its
demanding and merciless gameplay as for its incredible gothico-victorian
atmosphere. This quest recreates only a part of the original game,
because this is just a little side project.

9
games/yarntown/doinst.sh Normal file
View file

@ -0,0 +1,9 @@
if [ -x /usr/bin/update-desktop-database ]; then
/usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1
fi
if [ -e usr/share/icons/hicolor/icon-theme.cache ]; then
if [ -x /usr/bin/gtk-update-icon-cache ]; then
/usr/bin/gtk-update-icon-cache -f usr/share/icons/hicolor >/dev/null 2>&1
fi
fi

View file

@ -0,0 +1,397 @@
From d335e5562c3b2d405a1b7c1b116a0f2333cd9389 Mon Sep 17 00:00:00 2001
From: orbea <orbea@riseup.net>
Date: Fri, 28 Aug 2020 09:45:43 -0700
Subject: [PATCH 1/4] Add a desktop file.
---
yarntown.desktop | 9 +++++++++
1 file changed, 9 insertions(+)
create mode 100644 yarntown.desktop
diff --git a/yarntown.desktop b/yarntown.desktop
new file mode 100644
index 0000000..c2827d6
--- /dev/null
+++ b/yarntown.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=Yarntown
+GenericName=Yarntown game for the Solarus engine
+Comment=Yarntown (2D hommage to Bloodborne)
+Exec=yarntown
+Terminal=false
+Type=Application
+Icon=yarntown
+Categories=Game;AdventureGame;
--
GitLab
From 959930c05781c13971945a81698a55e341771f06 Mon Sep 17 00:00:00 2001
From: orbea <orbea@riseup.net>
Date: Sat, 29 Aug 2020 13:47:39 -0700
Subject: [PATCH 2/4] Add a .gitignore.
---
.gitignore | 2 ++
1 file changed, 2 insertions(+)
create mode 100644 .gitignore
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..b37f35a
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+*.solarus
+yarntown
--
GitLab
From ee5635b327b883486051d92be381a5202f0774ac Mon Sep 17 00:00:00 2001
From: orbea <orbea@riseup.net>
Date: Tue, 1 Sep 2020 07:00:47 -0700
Subject: [PATCH 3/4] Add the quest version to quest.dat.
---
data/quest.dat | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/data/quest.dat b/data/quest.dat
index f97b633..bf7ff4c 100644
--- a/data/quest.dat
+++ b/data/quest.dat
@@ -6,7 +6,7 @@ quest{
long_description = [[
]],
author = "Max Mraz",
- quest_version = "",
+ quest_version = "1.0.6",
release_date = "",
website = "",
normal_quest_size = "416x240",
--
GitLab
From 9bf2149bd137d14940ca451b1976f26f15b650d3 Mon Sep 17 00:00:00 2001
From: orbea <orbea@riseup.net>
Date: Sat, 29 Aug 2020 11:24:27 -0700
Subject: [PATCH 4/4] Add a install.sh posix script.
---
INSTALL | 68 ++++++++++++++++
install.sh | 225 +++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 293 insertions(+)
create mode 100644 INSTALL
create mode 100755 install.sh
diff --git a/INSTALL b/INSTALL
new file mode 100644
index 0000000..cc12b3d
--- /dev/null
+++ b/INSTALL
@@ -0,0 +1,68 @@
+install.sh is a POSIX sh script known to work with the following shells:
+
+ ash
+ dash
+ bash
+ ksh
+ loksh
+ mksh
+ pdksh
+ posh (0.14.1 or newer)
+ oksh
+ yash
+ zsh
+
+install.sh accepts the following arguments as targets:
+
+build - Generates the solarus.data archive and the executable script.
+clean - Removes the solarus.data archive and the executable script.
+install - Installs the solarus.data archive and executable script.
+install-assets - Installs the docs, icons and desktop file.
+uninstall - Uninstalls all installed files.
+
+The build, clean and install targets can customize the name of the data
+archive.
+
+ DATANAME - Name of the solarus data archive (data.solarus)
+
+Additionally the following arguments can be passed to the install
+and uninstall targets to configure the install paths.
+
+ PREFIX - Install path prefix (/usr/local)
+ BINDIR - Binary install directory (PREFIX/bin)
+ DOCDIR - Documentation install directory (PREFIX/share/doc)
+ MANDIR - Manpage install directory (PREFIX/share/man)
+ DATADIR - Read-only data install directory (DATAROOTDIR)
+ DATAROOTDIR - Read-only data root install directory (PREFIX/share)
+ SYSCONFDIR - Read-only data install directory (PREFIX/etc)
+
+The configurable install directories can be either absolute or relative
+paths. If they are set as relative paths the value of PREFIX will be
+prepended to the install directory. For example if MANDIR is set to
+'man' man pages will be installed to '/usr/local/man/' instead of
+'/usr/local/share/man/'.
+
+By design install.sh will not use any set environment variables and all
+configuration must be passed explicitly as arguments.
+
+EXAMPLES
+
+ ./install.sh install PREFIX=/usr DESTDIR=/tmp
+
+ Installs to '/tmp/usr/'.
+
+ ./install.sh uninstall PREFIX=/usr DESTDIR=/tmp
+
+ Uninstalls from '/tmp/usr/'.
+
+ ./install.sh install DOCDIR=/usr/local/doc
+
+ Installs documentation to '/usr/local/doc/$PRGNAM-$VERSION'.
+
+ ./install.sh install MANDIR=man
+
+ Installs man pages to '$PREFIX/man/man1/'.
+
+ ./install.sh install SYSCONFDIR=/etc
+
+ Installs read-only data to '/etc/'.
diff --git a/install.sh b/install.sh
new file mode 100755
index 0000000..9cc10da
--- /dev/null
+++ b/install.sh
@@ -0,0 +1,225 @@
+#!/bin/sh
+# Install script for yarntown.
+
+# Copyright 2017-2020 orbea
+# 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.
+
+# IFS is <space><tab><newline>
+IFS='
+'
+\unset -f command printf unalias : 2>/dev/null
+\unalias -a 2>/dev/null
+PATH="$(command -p getconf PATH):$PATH"
+LC_ALL=C; export LC_ALL
+
+set -euf
+
+die () {
+ ret="$1"; shift
+ case "$ret" in
+ : ) printf %s\\n "$@" >&2; return 0 ;;
+ 0 ) printf %s\\n "$@" ;;
+ * ) printf %s\\n "$@" >&2 ;;
+ esac
+ exit "$ret"
+}
+
+case "${1:-}" in
+ install-assets ) INSTALL=4 ;;
+ clean ) INSTALL=3 ;;
+ build ) INSTALL=2 ;;
+ install ) INSTALL=1 ;;
+ uninstall ) INSTALL=0 ;;
+ '' ) die 1 'No install target.' ;;
+ * ) die 1 "No rule to install target '$1'." ;;
+esac
+
+cmd () {
+ print=
+ for command do
+ case "$command" in
+ -- ) : ;;
+ */* ) print="${print} '$command'" ;;
+ * ) print="${print} $command" ;;
+ esac
+ done
+ printf " %s\\n" "$print"
+ command -p "$@"
+}
+
+is_absolute () { case "$1" in /*) return 0 ;; *) return 1 ;; esac; }
+
+PREFIX=; BINDIR=; DATADIR=; DATANAME=; DATAROOTDIR=; DOCDIR=; MANDIR=
+SYSCONFDIR=; DESTDIR=
+
+CWD="$(pwd)"
+
+if [ "$0" != "${0%/*}" ]; then
+ SOURCE_DIR="$(cd -- "${0%/*}/" && pwd -P)"
+else
+ SOURCE_DIR="$(pwd -P)"
+fi
+
+quest_version="$(grep quest_version "$SOURCE_DIR"/data/quest.dat)"
+quest_version="${quest_version%\"*}"
+
+PRGNAM=yarntown
+VERSION="${quest_version#*\"}"
+
+shift
+
+install_args=
+
+while [ $# -gt 0 ]; do
+ arg="$1"; shift
+ case "${arg%%=*}" in
+ DATANAME|DESTDIR|PREFIX )
+ eval "${arg%%=*}=\"\${arg#*=}\""
+ ;;
+ BINDIR|DATADIR|DATAROOTDIR|DOCDIR|MANDIR|SYSCONFDIR )
+ install_args=1
+ eval "${arg%%=*}=\"\${arg#*=}\""
+ ;;
+ * )
+ die : "WARNING: Variable '${arg%%=*}' was not used by $PRGNAM."
+ ;;
+ esac
+done
+
+PREFIX="${PREFIX:-/usr/local}"
+BINDIR="${BINDIR:-${PREFIX}/bin}"
+DOCDIR="${DOCDIR:-${PREFIX}/share/doc}/$PRGNAM-$VERSION"
+MANDIR="${MANDIR:-${PREFIX}/share/man}"
+DATANAME="${DATANAME:-data.solarus}"
+DATAROOTDIR="${DATAROOTDIR:-${PREFIX}/share}"
+DATADIR="${DATADIR:-${DATAROOTDIR}}/solarus/$PRGNAM"
+SYSCONFDIR="${SYSCONFDIR:-${PREFIX}/etc}"
+DESTDIR="${DESTDIR:-}"
+
+is_absolute "$PREFIX" || PREFIX="$CWD/$PREFIX"
+
+if [ -n "$install_args" ]; then
+ for i in \$BINDIR \$DATADIR \$DATAROOTDIR \$DOCDIR \$MANDIR \$SYSCONFDIR; do
+ eval "dest=\"$i\""
+ is_absolute "${dest:?}" || eval "${i#*$}=\"\${PREFIX}/$i\""
+ done
+fi
+
+####################
+### Project Code ###
+####################
+
+build_bin () {
+ command -p rm -f -- "$CWD/$PRGNAM"
+ printf 'Generating %s script...\n' "$PRGNAM"
+ printf '#!/bin/sh\nsolarus-run %s "$@"\n' "$DATADIR" > "$CWD/$PRGNAM"
+}
+
+build_data () {
+ command -p rm -f -- "$CWD/$DATANAME"
+ printf 'Generating %s...\n' "$DATANAME"
+ (
+ cd -- "${SOURCE_DIR}"/data/
+ command -p find . -type f \( \
+ -name '*.spc' -o \
+ -name '*.ogg' -o \
+ -name '*.it' -o \
+ -name '*.png' -o \
+ -name '*.dat' -o \
+ -name '*.lua' -o \
+ -name '*.ttf' -o \
+ -name '*.ttc' -o \
+ -name '*.fon' -o \
+ -name '*.glsl' \
+ \) -exec zip -9 -q "$CWD/$DATANAME" {} +
+ )
+}
+
+icon_sizes='16 32 64 128 256 512 1024'
+
+case $INSTALL in
+ # install-assets
+ 4 )
+ printf 'Installing assets...\n'
+ cmd mkdir -p -- "${DESTDIR}${DATAROOTDIR}/applications"
+ cmd mkdir -p -- "${DESTDIR}${DATAROOTDIR}/pixmaps"
+ cmd mkdir -p -- "${DESTDIR}${DOCDIR}"
+ cmd rm -f -- "${DESTDIR}${DOCDIR}/credits.txt"
+ cmd cp -- "${SOURCE_DIR}/credits.txt" "${DESTDIR}${DOCDIR}"
+ cmd rm -f -- "${DESTDIR}${DOCDIR}/readme.md"
+ cmd cp -- "${SOURCE_DIR}/readme.md" "${DESTDIR}${DOCDIR}"
+ cmd rm -f -- "${DESTDIR}${DATAROOTDIR}/applications/$PRGNAM.desktop"
+ cmd cp -- "${SOURCE_DIR}/$PRGNAM.desktop" \
+ "${DESTDIR}${DATAROOTDIR}/applications"
+ cmd rm -f -- "${DESTDIR}${DATAROOTDIR}/pixmaps/$PRGNAM.png"
+ cmd cp -- "${SOURCE_DIR}/data/logos/logo.png" \
+ "${DESTDIR}${DATAROOTDIR}/pixmaps/$PRGNAM.png"
+
+ eval "set -- $icon_sizes"
+ for icon do
+ icon_dir="${DESTDIR}${DATAROOTDIR}/icons/hicolor/${icon}x${icon}/apps"
+ cmd mkdir -p -- "$icon_dir"
+ cmd rm -f -- "$icon_dir/$PRGNAM.png"
+ cmd cp -- "${SOURCE_DIR}/medias/icon/icon_$icon.png" \
+ "$icon_dir/$PRGNAM.png"
+ done
+ ;;
+ # clean
+ 3 )
+ printf 'Removing %s...\n' "$DATANAME"
+ cmd rm -f -- "$CWD/$DATANAME"
+ cmd rm -f -- "$CWD/$PRGNAM"
+ ;;
+ # build
+ 2 )
+ build_data
+ build_bin
+ ;;
+ # install
+ 1 )
+ [ -f "$CWD/$DATANAME" ] || build_data
+ [ -f "$CWD/$PRGNAM" ] || build_bin
+ printf 'Installing...\n'
+ cmd mkdir -p -- "${DESTDIR}${BINDIR}"
+ cmd mkdir -p -- "${DESTDIR}${DATADIR}"
+ cmd rm -f -- "${DESTDIR}${BINDIR}/$PRGNAM"
+ cmd cp -- "$CWD/$PRGNAM" "${DESTDIR}${BINDIR}"
+ cmd rm -f -- "${DESTDIR}${DATADIR}/$DATANAME"
+ cmd cp -- "$CWD/$DATANAME" "${DESTDIR}${DATADIR}"
+ cmd chmod 0755 -- "${DESTDIR}${BINDIR}/$PRGNAM"
+ ;;
+ # uninstall
+ 0 )
+ printf 'Uninstalling...\n'
+ cmd rm -rf -- "${DESTDIR}${DOCDIR}"
+ cmd rm -rf -- "${DESTDIR}${DATADIR}"
+ cmd rm -f -- "${DESTDIR}${BINDIR}/$PRGNAM"
+ cmd rm -f -- "${DESTDIR}${DATAROOTDIR}/applications/$PRGNAM.desktop"
+ cmd rm -f -- "${DESTDIR}${DATAROOTDIR}/pixmaps/$PRGNAM.png"
+
+ eval "set -- $icon_sizes"
+ for icon do
+ icon_dir="${DESTDIR}${DATAROOTDIR}/icons/hicolor/${icon}x${icon}/apps"
+ cmd rm -f -- "$icon_dir/$PRGNAM.png"
+ done
+ ;;
+esac
+
+exit 0
--
GitLab

19
games/yarntown/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------------------------------------------------------|
yarntown: yarntown (2D hommage to Bloodborne for the solarus engine)
yarntown:
yarntown: You've come on the night of the hunt. The streets of this cursed,
yarntown: gothic town are overrun with beasts, and what has become of the men
yarntown: who tried to hunt them before. Explore the twisting roads, go toe to
yarntown: toe with powerful foes, and uncover Yarntown's dark secrets.
yarntown:
yarntown: Homeage: https://gitlab.com/maxmraz/yarntown
yarntown:
yarntown:
yarntown:

View file

@ -0,0 +1,79 @@
#!/bin/sh
# Slackware build script for Yarntown
# Copyright 2020 Hunter Sezen California, 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=yarntown
VERSION=${VERSION:-1.0.6}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
ARCH=noarch
CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
set -eu
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-v$VERSION
tar xvf $CWD/$PRGNAM-v$VERSION.tar.gz
cd $PRGNAM-v$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 {} \;
# Add an install script and desktop file.
# https://gitlab.com/maxmraz/yarntown/-/merge_requests/4
patch -p1 < $CWD/install.patch
mkdir -p build
(
cd build
../install.sh install \
PREFIX=/usr \
BINDIR=games \
DATADIR=share/games \
DESTDIR="$PKG"
../install.sh install-assets \
PREFIX=/usr \
DOCDIR=doc \
DESTDIR="$PKG"
)
mkdir -p $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,10 @@
PRGNAM="yarntown"
VERSION="1.0.6"
HOMEPAGE="https://gitlab.com/maxmraz/yarntown"
DOWNLOAD="https://gitlab.com/maxmraz/yarntown/-/archive/v1.0.6/yarntown-v1.0.6.tar.gz"
MD5SUM="13150ab681f4bf2648c65a89c333b8c3"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="solarus"
MAINTAINER="Hunter Sezen"
EMAIL="orbea@riseup.net"