games/moria: Added (a roguelike game)

Signed-off-by: Robby Workman <rworkman@slackbuilds.org>
This commit is contained in:
David Melik 2012-08-10 17:24:05 -05:00 committed by Robby Workman
parent 028ae838cf
commit cb3928b6ed
6 changed files with 206 additions and 0 deletions

13
games/moria/README Normal file
View file

@ -0,0 +1,13 @@
Moria/UMoria is a single player roguelike game with a regenerating
dungeon. moria is the predecessor of angband with a full-screen,
text-based, turn-based interface. It features scrolling maps, and
an infinite (constantly regenerated) dungeon.
Moria's dungeons are populated by monsters, some of which are
inspired by J.R.R. Tolkien's books. The goal of the game is to
find and kill the Balrog, whereupon the player is crowned King.
Your player can be created from a combination of 8 races (human,
half-elf, elf, halfling, gnome, dwarf, half-orc, half-troll) and
6 classes (warrior, mage, priest, rogue, ranger, paladin), and is
measured by 6 attributes (strength, dexterity, intelligence,
wisdom, constitution, and charisma).

17
games/moria/doinst.sh Normal file
View file

@ -0,0 +1,17 @@
config() {
NEW="$1"
OLD="$(dirname $NEW)/$(basename $NEW .new)"
if [ ! -r $OLD ]; then
mv $NEW $OLD
elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then
rm $NEW
fi
}
config var/games/moria/scores.new
config etc/moria-hours.new
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,53 @@
diff -Nur moria-5.6.orig/source/config.h moria-5.6/source/config.h
--- moria-5.6.orig/source/config.h 2008-10-13 18:44:36.000000000 -0500
+++ moria-5.6/source/config.h 2012-08-10 17:20:22.987707262 -0500
@@ -221,41 +221,23 @@
#else
-#if 0
-/* Debian standards for file location */
/* This must be unix; change file names as appropriate. */
#define MORIA_SAV ".moria-save"
#define MORIA_HOU "/etc/moria-hours"
-#define MORIA_MOR "/usr/lib/games/moria/news"
-#define MORIA_GPL "/usr/lib/games/moria/COPYING"
+#define MORIA_MOR "/usr/share/games/moria/news"
+#define MORIA_GPL "/usr/share/games/moria/COPYING"
#define MORIA_TOP "/var/games/moria/scores"
-#define MORIA_HELP "/usr/lib/games/moria/roglcmds.hlp"
-#define MORIA_ORIG_HELP "/usr/lib/games/moria/origcmds.hlp"
-#define MORIA_WIZ_HELP "/usr/lib/games/moria/rwizcmds.hlp"
-#define MORIA_OWIZ_HELP "/usr/lib/games/moria/owizcmds.hlp"
-#define MORIA_WELCOME "/usr/lib/games/moria/welcome.hlp"
-#define MORIA_VER "/usr/lib/games/moria/version.hlp"
+#define MORIA_HELP "/usr/share/games/moria/roglcmds.hlp"
+#define MORIA_ORIG_HELP "/usr/share/games/moria/origcmds.hlp"
+#define MORIA_WIZ_HELP "/usr/share/games/moria/rwizcmds.hlp"
+#define MORIA_OWIZ_HELP "/usr/share/games/moria/owizcmds.hlp"
+#define MORIA_WELCOME "/usr/share/games/moria/welcome.hlp"
+#define MORIA_VER "/usr/share/games/moria/version.hlp"
-#else
-
-/* Generic UNIX */
-/* This must be unix; change file names as appropriate. */
-#define MORIA_SAV "moria-save"
-#define MORIA_HOU "/home/dgrabiner/moria-5.6/files/hours"
-#define MORIA_MOR "/home/dgrabiner/moria-5.6/files/news"
-#define MORIA_GPL "/home/dgrabiner/moria-5.6/files/COPYING"
-#define MORIA_TOP "/home/dgrabiner/moria-5.6/files/scores"
-#define MORIA_HELP "/home/dgrabiner/moria-5.6/files/roglcmds.hlp"
-#define MORIA_ORIG_HELP "/home/dgrabiner/moria-5.6/files/origcmds.hlp"
-#define MORIA_WIZ_HELP "/home/dgrabiner/moria-5.6/files/rwizcmds.hlp"
-#define MORIA_OWIZ_HELP "/home/dgrabiner/moria-5.6/files/owizcmds.hlp"
-#define MORIA_WELCOME "/home/dgrabiner/moria-5.6/files/welcome.hlp"
-#define MORIA_VER "/home/dgrabiner/moria-5.6/files/version.hlp"
#endif
#endif
#endif
-#endif
#endif
#endif
#endif

View file

@ -0,0 +1,94 @@
#!/bin/sh
# Slackware build script for Moria
# Written by David Melik <dchmelik @ gmail dot com>
PRGNAM=moria
VERSION=${VERSION:-5.6}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i486 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
fi
CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
else
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
fi
set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
cd $PRGNAM-$VERSION
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
-exec chmod 755 {} \; -o \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
patch -p1 < $CWD/fix-config_h.diff
sed -i "s,/usr/lib/games/,/usr/share/games/,g" unix/Makefile
mv unix/Makefile unix/unix.c files source
mkdir -p $PKG/etc $PKG/usr/games $PKG/usr/share/games/moria
make -C source CFLAGS="$SLKCFLAGS"
make -C source install DESTDIR=$PKG
mv $PKG/etc/moria-hours $PKG/etc/moria-hours.new
mkdir -p $PKG/var/games/moria
cp -a source/files/scores $PKG/var/games/moria/scores.new
chown -R root:games $PKG/var/games/moria/
chmod 0775 $PKG/var/games/moria/
chmod 0664 $PKG/var/games/moria/scores.new
mkdir -p $PKG/usr/man/man6
cp -a doc/moria.6 $PKG/usr/man/man6
gzip -9 $PKG/usr/man/man6/moria.6
# Fixup a few other ownership/permission issues
chown -R root:root $PKG/usr/share/games/moria/
chmod 0644 $PKG/usr/share/games/moria/*
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/doc/$PRGNAM-$VERSION
cp -a \
doc source/files/{COPYING,news} README ERRORS INSTALL ChangeLog* \
$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}

10
games/moria/moria.info Normal file
View file

@ -0,0 +1,10 @@
PRGNAM="moria"
VERSION="5.6"
HOMEPAGE="http://www.remarque.org/~grabiner/moria.html"
DOWNLOAD="http://www.asselstine.com/moria-5.6.tar.gz"
MD5SUM="09fd637948e3486730c88e8e15eb42fa"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
MAINTAINER="David Melik"
EMAIL="dchmelik@gmail.com"
APPROVED="rworkman"

19
games/moria/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------------------------------------------------------|
moria: moria (a roguelike game)
moria:
moria: A single player roguelike game with a regenerating dungeon, moria is
moria: the predecessor of angband with a fullscreen, text-based, turn-based
moria: interface. It features scrolling maps, and an infinite (constantly
moria: regenerated) dungeon.
moria:
moria:
moria:
moria:
moria: