Gargoyle is one of those products that I wish was in the official Ubuntu repositories, but isn’t. Well, it’s not in the Ubuntu 8.04 LTS repositories anyway.
Gargoyle is a player for interactive fiction and it supports all of the major story-file formats. These include: Agility, Alan 2 and 3, Frotz (glk port), Glulxe, Hugo, Level 9, Magnetic, Scare, and Tads 2 and 3. The big one for me is that it supports Glulxe, which means it can play the latest Inform .gblorb files.
Here is what I had to do to get gargoyle to install on my Ubuntu 8.04 x86 machine.
First we install some dependencies (let me know if I’m missing any or have some listed that aren’t necessary, I’m writing this from memory):
sudo apt-get install jam build-essential g++ libgtk2.0-dev libsdl-sound1.2-dev libsdl-dev sudo apt-get install libjpeg-dev libsdl-mixer1.2-dev xorg-dev libpng12-dev
(yes, I’m doing two “apt-get install” runs, build-essential and xorg-dev both install a bunch ‘o stuff)
With those out of the way, download the gargoyle source code. The source is available here. As of this writing the latest version of the source is 2008-12-25.
Now make a directory for the source code and unzip it:
mkdir gargoyle cd gargoyle/ unzip /path/to/gargoyle-2008-12-25-sources.zip
To compile gargoyle, type “jam” and press the <Enter> key.
You should see a bunch of messages that begin with “Cc build/linux.release…” and “C++ build/linux.release…”, among other things. There will probably also be some warning messages.
Be patient, it can take a while.
When it finishes it should not end with error messages. If it does, you’re missing some libraries.
Now type “jam install” and press the <Enter> key to gather up all of the programs you just created and place them in a single folder. The folder is build/dist/ and it should have the following files in it when you’re done:
advsys alan2 frotz geas glulxe jacl libgarglk.so nitfol tadsr agility alan3 gargoyle git hugo level9 magnetic scare
To make it easy for me to run gargoyle, I just copied all of these to /usr/local/bin/ (Yes, even the library file. The gargoyle apps expect it to be in the same folder.).
Now I can do this:
and get this: