summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--games/zork/README11
-rw-r--r--games/zork/desktop/zork1.desktop2
-rw-r--r--games/zork/desktop/zork2.desktop2
-rw-r--r--games/zork/desktop/zork3.desktop2
-rw-r--r--games/zork/desktop/ztuu.desktop2
-rw-r--r--games/zork/icons/32.pngbin0 -> 2776 bytes
-rw-r--r--games/zork/icons/48.pngbin0 -> 5547 bytes
-rw-r--r--games/zork/icons/64.pngbin0 -> 1028 bytes
-rw-r--r--games/zork/mkicons.sh26
-rw-r--r--games/zork/zork.SlackBuild65
-rw-r--r--games/zork/zork.info2
-rw-r--r--games/zork/zork.pngbin423 -> 0 bytes
-rw-r--r--games/zork/zorkwrapper.sh (renamed from games/zork/zork.sh)0
-rw-r--r--games/zork/zorkwrapper.sh.6103
-rw-r--r--games/zork/zorkwrapper.sh.rst84
15 files changed, 265 insertions, 34 deletions
diff --git a/games/zork/README b/games/zork/README
index fae4e15202..2294af2b01 100644
--- a/games/zork/README
+++ b/games/zork/README
@@ -8,13 +8,14 @@ Undiscovered Underground (aka "ztuu"). They are owned by Activision,
which released them as free downloads some time ago. The first 3 Zork
games were originally developed by Infocom.
-To actually play the games, you'll need a z-code interpreter. Currently
-available are frotz and fizmo (text) and zoom (X11). See
+To actually play the games, you'll need a z-code interpreter.
+Currently available are frotz and fizmo (text) and zoom (X11). See
README.interpreters for details. This build includes a shell script
wrapper so you can run the games from the XFCE or KDE desktop menu,
or by typing the game name (zork1, zork2, zork3, ztuu) from the shell,
provided you have at least one interpreter installed.
-This package includes the InvisiClues from the original games (as plain
-text, so beware of spoilers). There are also walkthroughs and downloadable
-PDF manuals for the first three games here: http://www.ironrealms.com/zork
+This package includes the InvisiClues from the original games (as
+plain text, so beware of spoilers). There are also walkthroughs
+and downloadable PDF manuals for the first three games here:
+http://www.ironrealms.com/zork
diff --git a/games/zork/desktop/zork1.desktop b/games/zork/desktop/zork1.desktop
index c20e8e4c19..ce9230ba1a 100644
--- a/games/zork/desktop/zork1.desktop
+++ b/games/zork/desktop/zork1.desktop
@@ -4,7 +4,7 @@ Name=Zork I
GenericName=Interactive Fiction Game
Comment=Zork: The Great Underground Empire
Icon=zork
-Exec=zork1
+Exec=/usr/games/zork1
Terminal=true
Type=Application
Categories=Game;AdventureGame;
diff --git a/games/zork/desktop/zork2.desktop b/games/zork/desktop/zork2.desktop
index 6b2100c38e..baa25b0ec3 100644
--- a/games/zork/desktop/zork2.desktop
+++ b/games/zork/desktop/zork2.desktop
@@ -4,7 +4,7 @@ Name=Zork II
GenericName=Interactive Fiction Game
Comment=Zork: The Wizard of Frobozz
Icon=zork
-Exec=zork2
+Exec=/usr/games/zork2
Terminal=true
Type=Application
Categories=Game;AdventureGame;
diff --git a/games/zork/desktop/zork3.desktop b/games/zork/desktop/zork3.desktop
index 8024742bb6..dd8fc76ea4 100644
--- a/games/zork/desktop/zork3.desktop
+++ b/games/zork/desktop/zork3.desktop
@@ -4,7 +4,7 @@ Name=Zork III
GenericName=Interactive Fiction Game
Comment=Zork: The Dungeon Master
Icon=zork
-Exec=zork3
+Exec=/usr/games/zork3
Terminal=true
Type=Application
Categories=Game;AdventureGame;
diff --git a/games/zork/desktop/ztuu.desktop b/games/zork/desktop/ztuu.desktop
index 280f54c1c2..d479fb38cd 100644
--- a/games/zork/desktop/ztuu.desktop
+++ b/games/zork/desktop/ztuu.desktop
@@ -4,7 +4,7 @@ Name=Zork TUU
GenericName=Interactive Fiction Game
Comment=Zork: The Undiscovered Underground
Icon=zork
-Exec=ztuu
+Exec=/usr/games/ztuu
Terminal=true
Type=Application
Categories=Game;AdventureGame;
diff --git a/games/zork/icons/32.png b/games/zork/icons/32.png
new file mode 100644
index 0000000000..86c51f5f18
--- /dev/null
+++ b/games/zork/icons/32.png
Binary files differ
diff --git a/games/zork/icons/48.png b/games/zork/icons/48.png
new file mode 100644
index 0000000000..ab5bee074a
--- /dev/null
+++ b/games/zork/icons/48.png
Binary files differ
diff --git a/games/zork/icons/64.png b/games/zork/icons/64.png
new file mode 100644
index 0000000000..beb5a44b87
--- /dev/null
+++ b/games/zork/icons/64.png
Binary files differ
diff --git a/games/zork/mkicons.sh b/games/zork/mkicons.sh
new file mode 100644
index 0000000000..905e1ab77f
--- /dev/null
+++ b/games/zork/mkicons.sh
@@ -0,0 +1,26 @@
+#!/bin/bash
+
+# 20211011 bkw: create zork icon, part of zork.SlackBuild.
+
+set -e
+
+CWD=$( pwd )
+mkdir -p $CWD/icons
+DIR=$( mktemp -d )
+cd $DIR
+
+wget http://www.ifarchive.org/if-archive/infocom/icons/ZorkLetters.zip
+unzip ZorkLetters.zip 'ZORK?.ICO'
+
+convert +append ZORKZ.ICO ZORKO.ICO zo.png
+convert +append ZORKR.ICO ZORKK.ICO rk.png
+convert -append zo.png rk.png $CWD/icons/64.png
+
+convert -resize 48x48 $CWD/icons/64.png $CWD/icons/48.png
+convert -resize 32x32 $CWD/icons/64.png $CWD/icons/32.png
+
+rm *.ICO *.png *.zip
+cd $CWD
+rmdir $DIR
+
+exit 0
diff --git a/games/zork/zork.SlackBuild b/games/zork/zork.SlackBuild
index 39b1cd3c47..9a9458000a 100644
--- a/games/zork/zork.SlackBuild
+++ b/games/zork/zork.SlackBuild
@@ -10,21 +10,24 @@
# files of course have their own version information, but at this late date
# they aren't going to ever change.
+# 20211011 bkw:
+# - move executables to /usr/games.
+# - new-style icons.
+# - man page.
+# - reflow readme-*.txt (with fmt -s).
+
# 20140219 bkw: fix .desktop files so they validate.
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=zork
-VERSION=${VERSION:-20140219}
+VERSION=${VERSION:-20211011}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
ARCH=noarch
-# 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
@@ -43,49 +46,63 @@ rm -rf $PRGNAM-$VERSION
mkdir $PRGNAM-$VERSION
cd $PRGNAM-$VERSION
+PKGDOC=$PKG/usr/doc/$PRGNAM-$VERSION
+
# zork 1/2/3 are z-code version 3 (z3), uu is z5.
-mkdir -p $PKG/usr/share/zcode $PKG/usr/doc/$PRGNAM-$VERSION/invisiclues
+mkdir -p $PKG/usr/share/zcode $PKGDOC/invisiclues
for game in 1 2 3; do
rm -rf *
unzip -a -LL $CWD/zork$game.zip
cat data/zork$game.dat > $PKG/usr/share/zcode/zork$game.z3
- cat readme.txt > $PKG/usr/doc/$PRGNAM-$VERSION/readme-zork$game.txt
+ fmt -s readme.txt > $PKGDOC/readme-zork$game.txt
done
rm -rf *
unzip -a -LL $CWD/ztuu.zip
cat ztuu.z5 > $PKG/usr/share/zcode/ztuu.z5
-cat readme.txt > $PKG/usr/doc/$PRGNAM-$VERSION/readme-ztuu.txt
-cat invisiclues.txt > $PKG/usr/doc/$PRGNAM-$VERSION/invisiclues/ztuu.txt
-cat invisiclues.html > $PKG/usr/doc/$PRGNAM-$VERSION/invisiclues/ztuu.html
+fmt -s readme.txt > $PKGDOC/readme-ztuu.txt
+cat invisiclues.txt > $PKGDOC/invisiclues/ztuu.txt
+cat invisiclues.html > $PKGDOC/invisiclues/ztuu.html
# ztuu has invisiclues in the zip file, add the clues for 1/2/3 also
-cat $CWD/ZorkI.inv > $PKG/usr/doc/$PRGNAM-$VERSION/invisiclues/zork1.txt
-cat $CWD/ZorkII.inv > $PKG/usr/doc/$PRGNAM-$VERSION/invisiclues/zork2.txt
-cat $CWD/ZorkIII.inv > $PKG/usr/doc/$PRGNAM-$VERSION/invisiclues/zork3.txt
+cat $CWD/ZorkI.inv > $PKGDOC/invisiclues/zork1.txt
+cat $CWD/ZorkII.inv > $PKGDOC/invisiclues/zork2.txt
+cat $CWD/ZorkIII.inv > $PKGDOC/invisiclues/zork3.txt
-cat $CWD/README.interpreters > $PKG/usr/doc/$PRGNAM-$VERSION/README.interpreters
-cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+cat $CWD/README.interpreters > $PKGDOC/README.interpreters
+cat $CWD/$PRGNAM.SlackBuild > $PKGDOC/$PRGNAM.SlackBuild
# Script wrapper and .desktop files written for this SlackBuild
mkdir -p \
- $PKG/usr/share/zork \
- $PKG/usr/bin \
- $PKG/usr/share/applications
+ $PKG/usr/share/games/zork \
+ $PKG/usr/games \
+ $PKG/usr/man/man6 \
+ $PKG/usr/share/applications \
+ $PKG/usr/share/pixmaps
-install -m0755 $CWD/zork.sh $PKG/usr/share/zork/zorkwrapper.sh
+install -m0755 $CWD/zorkwrapper.sh $PKG/usr/share/games/zork/zorkwrapper.sh
+gzip -9c < $CWD/zorkwrapper.sh.6 > $PKG/usr/man/man6/zorkwrapper.sh.6.gz
for game in zork1 zork2 zork3 ztuu; do
- ln -s ../share/zork/zorkwrapper.sh $PKG/usr/bin/$game
+ ln -s ../share/games/zork/zorkwrapper.sh $PKG/usr/games/$game
+ ln -s zorkwrapper.sh.6.gz $PKG/usr/man/man6/$game.6.gz
cat $CWD/desktop/$game.desktop > $PKG/usr/share/applications/$game.desktop
done
-ln -s ../share/zork/zorkwrapper.sh $PKG/usr/bin/$PRGNAM
+# zork1 => zork, so we have an exe and a man page matching the package name.
+ln -s zorkwrapper.sh.6.gz $PKG/usr/man/man6/$PRGNAM.6.gz
+ln -s ../share/games/zork/zorkwrapper.sh $PKG/usr/games/$PRGNAM
+
+# Icons created with mkicons.sh, q.v.
+for i in $CWD/icons/*.png; do
+ px=$( basename $i | cut -d. -f1 )
+ size=${px}x${px}
+ dir=$PKG/usr/share/icons/hicolor/$size/apps
+ mkdir -p $dir
+ cat $i > $dir/$PRGNAM.png
+done
-# Icon converted from Z.ICO here:
-# http://www.ifarchive.org/if-archive/infocom/icons/ZorkLetters.zip
-mkdir -p $PKG/usr/share/pixmaps
-cat $CWD/$PRGNAM.png > $PKG/usr/share/pixmaps/$PRGNAM.png
+ln -s ../icons/hicolor/48x48/apps/$PRGNAM.png $PKG/usr/share/pixmaps/$PRGNAM.png
mkdir -p $PKG/install
sed "s,@VERSION@,$VERSION," $CWD/slack-desc > $PKG/install/slack-desc
diff --git a/games/zork/zork.info b/games/zork/zork.info
index 467d955584..4374960e32 100644
--- a/games/zork/zork.info
+++ b/games/zork/zork.info
@@ -1,5 +1,5 @@
PRGNAM="zork"
-VERSION="20140219"
+VERSION="20211011"
HOMEPAGE="http://www.infocom-if.org/"
DOWNLOAD="http://infocom.elsewhere.org/scheyen/Download/zork1.zip \
http://infocom.elsewhere.org/scheyen/Download/zork2.zip \
diff --git a/games/zork/zork.png b/games/zork/zork.png
deleted file mode 100644
index 911641be09..0000000000
--- a/games/zork/zork.png
+++ /dev/null
Binary files differ
diff --git a/games/zork/zork.sh b/games/zork/zorkwrapper.sh
index 507091bbf7..507091bbf7 100644
--- a/games/zork/zork.sh
+++ b/games/zork/zorkwrapper.sh
diff --git a/games/zork/zorkwrapper.sh.6 b/games/zork/zorkwrapper.sh.6
new file mode 100644
index 0000000000..0f576e33bd
--- /dev/null
+++ b/games/zork/zorkwrapper.sh.6
@@ -0,0 +1,103 @@
+.\" Man page generated from reStructuredText.
+.
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.TH "ZORKWRAPPER.SH" 6 "2021-10-11" "20211011" "SlackBuilds.org"
+.SH NAME
+zorkwrapper.sh \- play Infocom Zork games
+.\" RST source for zorkwrapper.sh(6) man page. Convert with:
+.
+.\" rst2man.py zorkwrapper.sh.rst > zorkwrapper.sh.6
+.
+.\" rst2man.py comes from the SBo development/docutils package.
+.
+.SH SYNOPSIS
+.nf
+\fBzork\fP
+\fBzork2\fP
+\fBzork3\fP
+\fBztuu\fP
+.fi
+.sp
+.SH DESCRIPTION
+.sp
+\fBzorkwrapper.sh\fP runs the Infocom Zork games. It\(aqs installed via
+symlinks in the /usr/games directory, so each game can be run by
+simply typing its name.
+.sp
+Supported games:
+.INDENT 0.0
+.TP
+.B \fBzork\fP
+Zork I: The Great Underground Empire
+.TP
+.B \fBzork2\fP
+Zork II: The Wizard of Frobozz
+.TP
+.B \fBzork3\fP
+Zork III: The Dungeon Master
+.TP
+.B \fBztuu\fP
+Zork: The Undiscovered Underground
+.UNINDENT
+.sp
+The games are run with the first interpreter found, from the following list:
+.INDENT 0.0
+.INDENT 3.5
+\fBfizmo\fP, \fBfrotz\fP, \fBzoom\fP\&.
+.UNINDENT
+.UNINDENT
+.SH OPTIONS
+.sp
+There are no options or arguments.
+.SH FILES
+.sp
+\fB/usr/share/games/zork/zorkwrapper.sh\fP is the master copy of the script,
+which gets symlinked to the game names in \fB/usr/games\fP\&.
+.sp
+\fB/usr/share/zcode/\fP contains the Z\-Machine files:
+.INDENT 0.0
+.INDENT 3.5
+\fBzork1.z3\fP, \fBzork2.z3\fP, \fBzork3.z3\fP, \fBztuu.z5\fP
+.UNINDENT
+.UNINDENT
+.SH AUTHORS
+.sp
+\fBzorkwrapper.sh\fP and this man page were written for the
+SlackBuilds.org project by B. Watson, and are licensed under the WTFPL.
+.sp
+The Zork games are the property of Activision, which released them
+as free\-to\-use downloads. See /usr/doc/zork\-20211011/readme\-*.txt
+for license information.
+.SH SEE ALSO
+.sp
+\fBfizmo\fP(6), \fBfrotz\fP(6), \fBzoom\fP(6)
+.sp
+\fI\%http://www.infocom\-if.org/\fP
+.\" Generated by docutils manpage writer.
+.
diff --git a/games/zork/zorkwrapper.sh.rst b/games/zork/zorkwrapper.sh.rst
new file mode 100644
index 0000000000..8c052a0270
--- /dev/null
+++ b/games/zork/zorkwrapper.sh.rst
@@ -0,0 +1,84 @@
+.. RST source for zorkwrapper.sh(6) man page. Convert with:
+.. rst2man.py zorkwrapper.sh.rst > zorkwrapper.sh.6
+.. rst2man.py comes from the SBo development/docutils package.
+
+.. |version| replace:: 20211011
+.. |date| date::
+
+==============
+zorkwrapper.sh
+==============
+
+-----------------------
+play Infocom Zork games
+-----------------------
+
+:Manual section: 6
+:Manual group: SlackBuilds.org
+:Date: |date|
+:Version: |version|
+
+SYNOPSIS
+========
+
+| **zork**
+| **zork2**
+| **zork3**
+| **ztuu**
+
+DESCRIPTION
+===========
+
+**zorkwrapper.sh** runs the Infocom Zork games. It's installed via
+symlinks in the /usr/games directory, so each game can be run by
+simply typing its name.
+
+Supported games:
+
+**zork**
+ Zork I: The Great Underground Empire
+
+**zork2**
+ Zork II: The Wizard of Frobozz
+
+**zork3**
+ Zork III: The Dungeon Master
+
+**ztuu**
+ Zork: The Undiscovered Underground
+
+The games are run with the first interpreter found, from the following list:
+
+ **fizmo**, **frotz**, **zoom**.
+
+OPTIONS
+=======
+
+There are no options or arguments.
+
+FILES
+=====
+
+**/usr/share/games/zork/zorkwrapper.sh** is the master copy of the script,
+which gets symlinked to the game names in **/usr/games**.
+
+**/usr/share/zcode/** contains the Z-Machine files:
+
+ **zork1.z3**, **zork2.z3**, **zork3.z3**, **ztuu.z5**
+
+AUTHORS
+=======
+
+**zorkwrapper.sh** and this man page were written for the
+SlackBuilds.org project by B. Watson, and are licensed under the WTFPL.
+
+The Zork games are the property of Activision, which released them
+as free-to-use downloads. See /usr/doc/zork-|version|/readme-\*.txt
+for license information.
+
+SEE ALSO
+========
+
+**fizmo**\(6), **frotz**\(6), **zoom**\(6)
+
+http://www.infocom-if.org/