Compiling PUFF version 2.1 on Linux/X11
=======================================
(version 20060217, Pieter-Tjerk de Boer, pa3fwm@amsat.org)

1) Create a new directory and cd to it.

2) Acquire a copy of the PUFF 2.1 source code.
   See the web for links to several sellers.

3) Unpack the linuxpuff.tgz file also into that directory.

4) Make sure you have installed on your system at least the
   following programs:
   - fromdos
   - patch
   - grep
   - make
   - gcc
   - X11 libraries
   - the Free Pascal Compiler ('fpc' or 'ppc386')
   Except for the last one, these are pretty standard on modern Linux
   systems. The Free Pascal Compiler is available from
   http://www.freepascal.org , but it may also be available as a
   ready-made package for your Linux distribution.

   Note: the present package is only compatible with versions 2.0.0
   and later of this compiler!

   An older version of the package, suitable for fpc versions between
   1.0.2 and 1.9.4, is still available on my website.

5) Open the Makefile in a text editor, and, if needed, modify the first
   few lines to reflect your system. If you're running Debian, you
   probably don't need to change anything there.

6) Invoke the 'mkpuff' script. This will perform the following steps:
   - rename the Pascal files to have lowercase names;
   - convert the end-of-lines of those files;
   - apply a set of small modifications ("patches") to those files;
   - invoke the Pascal and C compilers. Note: don't worry about the large
     number of warnings produced by the Pascal compiler.

7) If everything went fine, you now have a binary called 'puff' in your
   directory. You can copy it to e.g. /usr/local/bin and use it.

   Otherwise: try to find where things went wrong, and correct the
   problem. If the problem is somewhere in the compilation stage, i.e.,
   the patching was succesful, then be careful not to invoke 'mkpuff'
   again, and use 'make' to retry the compilation.
   If something went wrong in the earlier stages, it's probably best
   to restart with a fresh copy of the original sources; otherwise,
   you risk applying the patch twice.

8) If you have a printer that is compatible with one of the types of
   printer that PUFF supports and want to use it with PUFF, you'll need
   to make a little change to the file `pfart_21.pas' at around line 860,
   to tell PUFF how to access the printer. There are some comments
   there that explain how to do this.

9) Please let me know whether you were succesful or not with this procedure,
   by e-mail to pa3fwm@amsat.org .

For more information, see http://www.cs.utwente.nl/~ptdeboer/ham/puff.html .