aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--games/fizmo/README25
-rw-r--r--games/fizmo/fizmo.SlackBuild65
-rw-r--r--games/fizmo/fizmo.info6
-rw-r--r--games/fizmo/slack-desc10
4 files changed, 84 insertions, 22 deletions
diff --git a/games/fizmo/README b/games/fizmo/README
index 3df3a4e1c24f..ef0b5db48fd6 100644
--- a/games/fizmo/README
+++ b/games/fizmo/README
@@ -2,10 +2,27 @@ fizmo (Z-Code interpreter for Infocom and other story files)
Fizmo provides a Z-Machine interpreter development library in plain C
along with a ncurses user interface, supporting Z-Machine versions 1
-to 5, 7 and 8. That means it allows you to play interactive ficiton,
-also known as textadventures, which were implemented either by Infocom
+to 5, 7 and 8. That means it allows you to play interactive fiction,
+also known as text adventures, which were implemented either by Infocom
or created using the Inform compiler.
By default, the curses (fizmo-ncursesw) and 'dumb' console (fizmo-console)
-executables are always built. If you want a GUI for fizmo, install SDL2
-before running this script (the executable will be called fizmo-sdl2).
+executables are always built.
+
+Optional dependencies: these are auto-detected at build time, so just
+install them before building fizmo if you want to use them. If you have
+one of these installed but don't want to build fizmo with it, disable
+it with the appropriate environment variable.
+
+SDL2 - Recommended. Required for Z-Machine games that use graphics
+ and/or sound. Builds fizmo-sdl2 executable. Also adds sound
+ support to fizmo-ncursesw. Can be disabled with SDL2=no in
+ the environment.
+
+glktermw - Required for experimental fizmo-glktermw executable. Probably
+ only of interest to developers. Can be disabled with GLK=no
+ in the environment.
+
+remglk - Required for experimental fizmo-remglk executable. Probably
+ only of interest to developers. Can be disabled with REMGLK=no
+ in the environment.
diff --git a/games/fizmo/fizmo.SlackBuild b/games/fizmo/fizmo.SlackBuild
index dc903f209e60..17a8982478cd 100644
--- a/games/fizmo/fizmo.SlackBuild
+++ b/games/fizmo/fizmo.SlackBuild
@@ -6,6 +6,15 @@
# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
+# 20180709 bkw: seems to have been exactly a year...
+# - Updated for v0.8.5.
+# - Use github download URL.
+# - Add SDL2=no option.
+# - Add support for glktermw and remglk.
+# - Fix slack-desc and README typos.
+# - Update README for new optional deps.
+# - Make slack-desc show whether package built with (SDL2|glktermw|remglk).
+
# 20170709 bkw:
# - Updated for v0.8.5_b1. Normally we avoid betas, but 0.8.4 has a
# horrible bug in its 'make install' target, and 0.8.5_b1 fixes
@@ -14,7 +23,7 @@
# - Add note about optional SDL2 dep to README.
PRGNAM=fizmo
-VERSION=${VERSION:-0.8.5_b1}
+VERSION=${VERSION:-0.8.5}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -47,6 +56,10 @@ fi
set -e
+# 0.8.5 doesn't really need this, but leave it in place in case someone
+# wants to build 0.8.5_b1, or in case there's a future 0.8.6_b1 or
+# so. Needed because upstream's beta versions have -b1 suffix, and Slack
+# package version number can't have a dash.
SRCVER=${VERSION/_/-}
rm -rf $PKG
@@ -58,18 +71,47 @@ cd $PRGNAM-$SRCVER
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 \
+ -exec chmod 755 {} \+ -o \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
- -exec chmod 644 {} \;
+ -exec chmod 644 {} \+
-# the configure script doesn't autodetect when sdl2 is missing,
+# The configure script doesn't autodetect when sdl2 is missing,
# so let's help it out a little.
-pkg-config --exists sdl2 || SDLARG="--disable-sdl"
+if [ "${SDL2:-yes}" = "yes" ] && pkg-config --exists sdl2; then
+ SDLARG="--enable-sdl"; SDLYN="yes"
+else
+ SDLARG="--disable-sdl"; SDLYN="no"
+fi
+
+# Likewise glktermw. Niche-market, but include for completeness' sake.
+if [ "${GLK:-yes}" = "yes" -a -e /usr/include/glktermw/glk.h ]; then
+ GLKARG="--enable-glktermw --with-glktermw-includedir=/usr/include/glktermw"
+ GLKYN="yes"
+else
+ GLKARG="--disable-glktermw"
+ GLKYN="no"
+fi
+
+# remglk looks even more niche-market than glktermw... speaks JSON, not
+# English, intended for stuff like a web or irc backend.
+if [ "${REMGLK:-yes}" = "yes" -a -e /usr/include/remglk/glk.h ]; then
+ REMGLKARG="--enable-remglk --with-remglk-includedir=/usr/include/remglk"
+ REMGLKYN="yes"
+else
+ REMGLKARG="--disable-remglk"
+ REMGLKYN="no"
+fi
+
+# fizmo-glktermw and fizmo-remglk don't have man pages. They're
+# experimental meaning likely to change frequently, so I'm too lazy to
+# write man pages for them.
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
- "$SDLARG" \
+ $SDLARG \
+ $GLKARG \
+ $REMGLKARG \
--bindir=/usr/games \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
@@ -89,14 +131,14 @@ ln -s $PRGNAM-ncursesw.6.gz $PKG/usr/man/man6/$PRGNAM.6.gz
( cd doc ; ./create-txts.sh )
rm -f INSTALL.txt QUICKSTART.txt # don't need install instructions
-# Icon created by SlackBuild author, based on
+# Icon created by SlackBuild author, based on Slackware 14.2's
# /usr/share/pixmaps/xterm-color_48x48.xpm
mkdir -p $PKG/usr/share/pixmaps
cat $CWD/$PRGNAM.png > $PKG/usr/share/pixmaps/$PRGNAM.png
# Desktop file written by SlackBuild author. It starts the curses version,
-# since the GUI version doesn't have a file-picker dialog if you start it
-# with no arguments.
+# since the SDL2 version doesn't have a file-picker dialog if you start
+# it with no arguments (plus, SDL2 is optional).
mkdir -p $PKG/usr/share/applications
cat $CWD/$PRGNAM.desktop > $PKG/usr/share/applications/$PRGNAM.desktop
@@ -105,7 +147,10 @@ cp -a *.txt $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
+sed -e "s,@SDLYN@,$SDLYN," \
+ -e "s,@GLKYN@,$GLKYN," \
+ -e "s,@REMGLKYN@,$REMGLKYN," \
+ $CWD/slack-desc > $PKG/install/slack-desc
cat $CWD/doinst.sh > $PKG/install/doinst.sh
cd $PKG
diff --git a/games/fizmo/fizmo.info b/games/fizmo/fizmo.info
index 2f1777f044ed..f84df8543df2 100644
--- a/games/fizmo/fizmo.info
+++ b/games/fizmo/fizmo.info
@@ -1,8 +1,8 @@
PRGNAM="fizmo"
-VERSION="0.8.5_b1"
+VERSION="0.8.5"
HOMEPAGE="http://spellbreaker.org/~chrender/fizmo/"
-DOWNLOAD="https://fizmo.spellbreaker.org/source-beta/fizmo-0.8.5-b1.tar.gz"
-MD5SUM="2e68e334c76069db3dc1283e84a8bd14"
+DOWNLOAD="https://github.com/chrender/fizmo/releases/download/fizmo_0-8-5/fizmo-0.8.5.tar.gz"
+MD5SUM="fcc689fbff12f6e122f37f7f8c9ec31e"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/games/fizmo/slack-desc b/games/fizmo/slack-desc
index 2300dbcc83cf..07dc5ce844b4 100644
--- a/games/fizmo/slack-desc
+++ b/games/fizmo/slack-desc
@@ -10,10 +10,10 @@ fizmo: fizmo (Z-Code interpreter for Infocom and other story files)
fizmo:
fizmo: Fizmo provides a Z-Machine interpreter development library in plain C
fizmo: along with a ncurses user interface, supporting Z-Machine versions 1
-fizmo: to 5, 7 and 8. That means it allows you to play interactive ficiton,
-fizmo: also known as textadventures, which were implemented either by Infocom
-fizmo: or created using the Inform compiler.
-fizmo:
-fizmo:
+fizmo: to 5, 7 and 8. That means it allows you to play interactive fiction,
+fizmo: also known as text adventures, which were implemented either by
+fizmo: Infocom or created using the Inform compiler.
fizmo:
+fizmo: This package was built with these options:
+fizmo: SDL2=@SDLYN@ GLK=@GLKYN@ REMGLK=@REMGLKYN@
fizmo: