About this release:
This is the first release of Rivet, and it is not completely polished. It is just being released to a small number of people who have shown interest, so use some judgement to who you give it to. I'm interested in feedback and any problems or suggestions that you have.
This release is based on tk4.0, (patch level 1) and tcl 7.4 (patch level 1). At this time, Rivet is behind one patch level on the patches currently available patches. The python interface is dependent on Python 1.3.
You might notice that some tcl code is still used. Rivet is most likely no better or worse with this code, seeing how tk needs some of this code as support. I don't plan on removing much more of this tcl code, to avoid diminishing returns.
The only environment this has been built under is Sun Solaris 5.3 and 5.4 using Sun's C compilers. The build environment is sun's make, the configure files that are in a few directories are just copies from the tcl/tk release. They may be working in the next (beta?) release, depending on if anyone volunteers, or if I have the time. If you are trying to compile on any variation of this, expect to spend at least a little time getting things to build.
The structure of the files are:
tcl7.4: contains unaltered tcl code tk: contains unaltered tk code rivet: contains tcl and tk code files that have been modified (modifications are bracketed by #ifdef RIVET), the tcl libraries that have been ported to C (*lib.c), some utility routines, and a test application (app.c). python: contains the python interface (a C file and python utility files). pythonexamples: examples. doc: contains some documentation for the python interface. (There is no documentation for the C interface, except for the code itself, there be dragons here.)Building RIVET
After untarring, cd into the Rivet directory and do the following steps:
cd tcl7.4 make cd ../tk make cd ../rivet make cd ../python makeYou might have to edit the makefile in the python subdirectroy if Python 1.3 is not installed in /usr/local.
The build should produce a shared library called librivet.so. Point your PYTHONPATH at this directory, and you should just be able to "import rivet". The rivetutil.py file is covered in the rivetref.html document, but the other utility, rivettable.py is undocumented (although it has a good example at the end of the file).
As a test to see if you've got everything compiled, type "python rivettable.py", if you've got the table demo running, everything is proabably working correctly.