diff options
-rw-r--r-- | games/fizmo/README | 25 | ||||
-rw-r--r-- | games/fizmo/fizmo.SlackBuild | 65 | ||||
-rw-r--r-- | games/fizmo/fizmo.info | 6 | ||||
-rw-r--r-- | games/fizmo/slack-desc | 10 |
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: |