crimp_install_guide - CRIMP - The Installer's Guide
Welcome to CRIMP, the C Raster Image Manipulation Package, a set of extensions of Tcl for the handling and processing of images.
The audience of this document is anyone wishing to build the packages, for either themselves, or others.
For a developer intending to extend or modify the packages we additionally provide
Please read CRIMP - How To Get The Sources first, if that was not done already. Here we assume that the sources are already available in a directory of your choice.
Before Crimp can be build and used a number of requisites must be installed. These are:
The scripting language Tcl. For details see Tcl.
The critcl package (C embedding) for Tcl. For details see CriTcl.
Various packages from the Tcllib/Tklib bundles for Tcl. For details see Tcllib & Tklib.
The kettle application (Build tool) for Tcl. For details see Kettle.
This list assumes that the machine where Crimp is to be installed is essentially clean. Of course, if parts of the dependencies listed below are already installed the associated steps can be skipped. It is still recommended to read their sections though, to validate that the dependencies they talk about are indeed installed.
As we are building a set of Tcl packages it should be pretty much obvious that a working Tcl installation is needed, and I will not belabor the point.
Out of the many use whatever you are comfortable with, as long as it provides Tcl 8.5, or higher, and Tk 8.5 or higher.
This may a Tcl installation provided by your operating system distribution, from a distribution-independent vendor, or built by yurself.
Myself, I used ActiveState's ActiveTcl 8.5 distribution during development of the binding, as I am most familiar with it.
(Disclosure: I, Andreas Kupries, work for ActiveState, maintaining ActiveTcl and TclDevKit for them).
This distribution can be found at http://www.activestate.com/activetcl. Retrieve the archive of ActiveTcl 8.5 for your platform and install it as directed by ActiveState.
Assuming that ActiveTcl got installed I usually run the command
teacup update
to install all packages ActiveState provides, and the kitchensink, as the distribution itself usually contains only the most important set of packages. This ensures that the dependencies for CriTcl, and Crimp are all present, and more.
If that is not your liking you have to read the sections for CriTcl, and Crimp to determine the exact set of packages required, and install only these using
teacup install $packagename
Both teacup commands above assume that ActiveState's TEApot repository at http://teapot.activestate.com is in the list of repositories accessible to teacup. This is automatically ensured for the ActiveTcl distribution. Others may have to run
teacup archive add http://teapot.activestate.com
to make this happen.
For those wishing to build Tcl/Tk on their own, their sources can be found at
To build Crimp the tool critcl is required.
Crimp's build system accepts it either as an application found in the PATH (be it starkit or starpack), or as a Tcl package available to the tclsh used to run their build & installation processes.
Crimp requires version 3 or higher.
The github repository providing releases of version 3 and higher, and the associated sources, can be found at http://andreas-kupries.github.com/critcl.
Any branch of the repository can be used (if not using the prebuild starkit or starpack), although the use of the stable branch master is recommended.
At the above url is also an explanation on how to build and install CriTcl, including a list of its dependencies.
Its instructions will not be repeated here. If there are problems with their directions please file a bug against the critcl project, and not Crimp.
To use Crimp a few packages found in the bundles Tcllib and Tklib are required. These packages are:
snit (Tcllib)
math::special (Tcllib)
math::constants (Tcllib)
Plotchart (Tklib)
Assuming that ActiveTcl is installed, or some other Tcl installation with teacup available, these packages can be installed via
teacup install $packagename
The teacup command above assumes that ActiveState's TEApot repository at http://teapot.activestate.com is in the list of repositories accessible to teacup. This is automatically ensured for the ActiveTcl distribution. Others may have to run
teacup archive add http://teapot.activestate.com
to make this happen.
Now, for those wishing to install the packages from source, the fossil repository for the two bundles can be found at https://core.tcl.tk/tcllib and https://core.tcl.tk/tklib.
Releases of Tcllib and Tklib can be found there as well, or fossil can be used to check out specific revisions.
Tcl- and Tklib come with their own installation instructions. These will not be repeated here. If there are problems with their directions please file a bug against the Tcllib project at the above url, and not Crimp.
To build Crimp the tool kettle is required.
Crimp's build system requires it as an application found in the PATH.
Crimp requires version 1 or higher.
The fossil repository providing releases of this tool (and its associated package) can be found at http://core.tcl.tk/akupries/kettle.
A mirror of the repository can be found at https://chiselapp.com/user/andreas_kupries/repository/Kettle.
Use of either releases or of the head of the main branch is recommended. Usage of branches is strongly discouraged as these are used to work on experimental features and bugfixes of the tool. As such their stability is not guaranteed.
At the above url is also an explanation on how to build and install Kettle, including a list of its dependencies.
Its instructions will not be repeated here. If there are problems with their directions please file a bug against the Kettle project, and not Crimp.
This section describes the actions required to install CRIMP on Unix systems (Linux, BSD, and related, including OS X). If you have to install CRIMP on a Windows machine see section Build & Installation (Windows) instead.
To install CRIMP simply run
/path/to/tclsh8.5 /path/to/crimp/build.tcl install
where "/path/to/tclsh8.5" is the tclsh of your Tcl installation, and "/path/to/crimp" the location of the CRIMP sources on your system.
This builds all packages and then places them in a directory where the tclsh8.5 will find them.
The build system provides a small GUI for those not comfortable with the command line. This GUI is accessible by invoking "build.tcl" without any arguments.
To get help about the methods of "build.tcl", and their complete syntax, invoke "build.tcl" with argument help, i.e., like
/path/to/tclsh8.5 /path/to/crimp/build.tcl help
This section describes the actions required to install CRIMP on Windows(tm) systems. If you have to install CRIMP on a Unix machine (Linux, BSD, and related, including OS X) see section Build & Installation (Unix) instead.
To install CRIMP simply run
/path/to/tclsh8.5 /path/to/kettle -f /path/to/crimp/build.tcl install
where "/path/to/tclsh8.5" is the tclsh of your Tcl installation, "/path/to/kettle" is the installed kettle application, and "/path/to/crimp" the location of the CRIMP sources on your system.
This builds all packages and then places them in a directory where the tclsh8.5 will find them.
The above is written without assuming any associations from extensions (like ".tcl") to executables responsible for the file with that extension. Actually, given that "build.tcl" is technically a "kettle"-script, which in turn is a ".tcl"-script I am not sure if Windows is able to handle such a chain of interpreters. The command given above simply spells out the entire chain.
The build system provides a small GUI for those not comfortable with the command line. This GUI is accessible by invoking "build.tcl" without any arguments from the command line.
To get help about the methods of "build.tcl", and their complete syntax, invoke "build.tcl" with argument help, i.e., like
/path/to/tclsh8.5 /path/to/kettle -f /path/to/crimp/build.tcl help
Copyright © 2011 Andreas Kupries
Copyright © 2011 Documentation, Andreas Kupries