SourceForge.net Logo

CHEATAH

What is Cheatah?  The original readme says this: "This is the temporary gtk GUI to The SWORD Project.  It is called cheatah because it is a fast lookup and search utility for SWORD modules.  It is mispelled because it is a 'cheater' interface meant to hold over Linux users until we can build a full featured GUI! :)"  Cheatah went on to become the basis of GnomeSword, but was subsequently dropped from the Sword project as old and redundant.  Because of its simplicity, It is a helpful way of getting to know the Sword api at a level which can be stepped through and understood easily.  As it is based on GTK+, it is cross-platform, and might trigger a new cross platform project based entirely on GTK+.  Such a project could draw from the excellent work already done on GnomeSword.

 BUILDING CHEATAH  (MS Windows)

I have written this step by step instruction assuming that you are starting from scratch with anything Sword.  You will first of all need to have somewhere on your computer a working version of Sword, with at least some of the modules.  You are also strongly advised to install the programming utilities and the source on the same logical drive as your Sword directory so the eventual build can be made to 'see' your modules. 

First, you will need Dev-C++.  Get this from http://www.bloodshed.net/.  Then get and install the following DevC++ packages from http://devpaks.org/.

atk-1.9.0-1spec.DevPak
glib-2.6.3-1spec.DevPak
pango-1.8.0-1spec.DevPak
gtk+-2.6.4-1spec.DevPak
gtk-win32-devel-2.6.4-rc3.exe
gtk2_examples-1.0-2spec.DevPak

Now install msys (this is the Linux emulator for Windows that lets you use the commandline tools necessary to configure and build the Sword library easily).  Get it at: http://prdownloads.sourceforge.net/mingw/MSYS-1.0.10.exe? and download and install into your DevC++ directory.  something like:  \[pathname]\[Dev-C++]\msys.  It will ask you where your GCC compile binaries are.  They are in the bin subdirectory of your DevC++ directory.  You simply give the path to your DevC++ directory (not the bin directory) using forward slashes as instructed.  But make a note of how to write a configuration file if this step fails.  It probably will!  You will need to place a text file called fstab in the msys/etc directory that should have been created automatically.  An fstab file will be there already, and you will need to edit the appropriate line to something like:     c:/prog/dev-cpp         /mingw.  GCC will be found in the bin directory off the directory you have accepted as your Dev-c++ directory.  Note here that all protocols are Linux/unix which uses forward slashes wherever Windows uses backslashes.

 Now install Tortoise SVN from http://tortoisesvn.tigris.org/  

Go to your msys/home/[yourname] directory and create a directory called 'Sword'.  Right-click on the Sword directory and you will find one of the menu options is 'SVN Checkout'.  Select this option, and type https://crosswire.org/svn/sword/trunk into the repository URL box.  When you click OK you should begin the download of the whole of the Sword library source at its most up-to-date. 

Click on the 'Msys' icon which will have installed itself on your desktop.  This will give you a commandline window that accepts Linux commands.  Remember the forward slash.  CD is the same as Windows.  The equivalent of Windows 'DIR' is ls (ell ess).  CD to your new Sword directory (CD Sword) and then do the following (wait for each to finish before doing the next).  Note the dot/slash before the .sh commands:

./autogen.sh
./usrinst.sh
make

 This should build the library files, although it may fall down later when trying to make the utilities as you may lack some of the resources needed to build these.  No matter, you should now have the libraries needed for the next stage.

 Get back to Windows ('exit' from Msys).  Now browse to the new Sword directory and go to the sword/src/frontend/x11 directory.  Create a directory called 'cheatah' there, and unzip the cheatah source into it.  There are only six files.  Click on cheatah.dev and this ought to open the Dev-C++ ide with the Cheatah files loaded.  'Execute/Compile' should build the project.

 Now you have a number of options.  If you want to run Cheatah with debug from where it is, you will have to tell it where your Sword directory is.  Here you can set an environment variable 'SWORD_PATH' with the full path to your sword directory (the one with mods.d and modules), or you can install mods.d and some modules in your cheatah directory, or you can create a 'mods.conf' file which is simply a concatenation of .conf files for the modules you want to use out of mods.d, or you can create a sword.conf file and place it in a directory called 'etc' at the root of your drive.  This simply contains the full path to the Sword directory.  I recommend the use of a mods.conf file at this stage, as you can include only the modules you want to access if you have a number of modules installed.  Note that the data path will need to be edited in each module to be a relative path from where you are running cheatah.  This will be something like: DataPath=../../../../../../../../../../Bible/SWORD/modules/texts/ztext/godsword/

One easy way around all of the above would be to copy the cheatah executable into the Sword directory!

 KNOWN ISSUES

Cheatah is old and primitive, and will only handle a few of the modules properly as it makes use of a limited subset of the api.  In addition, it uses the now deprecated GTK Text widget.  These two issues need to be addressed.  First of all, all use of the Text widget needs to be converted to TextView, which is a fully functional UTF8 capable text handler.  Cheatah also needs full use of the api to recognise the type and construction of each module installed, and handle it in the appropriate way.  It does this only partially at this time. 

Enjoy!