123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398 |
- 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
|