Repository Maintainer: julian@webpub.net
Repository License policy: Strongly prefer Public Domain, MIT-style or
BSD-style licenses.
These packages are not necessarily the latest available versions.
I try to keep them reasonably up to date, but for non-pure-Tcl packages; if I
am unable to build binaries for the Windows and FreeBSD platforms (or find
prebuilt binaries for those platforms) then the packages may remain at the
highest common binary version I have for those platforms.
Binary submissions for the versions below are welcome for other platforms
(email me).
(See http://wiki.tcl.tk/Tcl Modules)
These modules all use the tarpack package and are also valid tar
archives.
Simply place them in one of the folders on your "Module path". No need to
unarchive them.
To determine your module path folders; type the command "::tcl::tm::list"
in a Tcl interp.
For example, on a windows platform, a folder such as c:\tcl\lib\site-tcl
might be a suitable choice.
If you do choose to unarchive a module on your module path - the 'package
require' operation will in effect be deflected by the .tm file to the
unarchived version.
i.e the unpacked code will take precedence. This is handy for making changes.
You can then edit the version number in the folder-name & scripts and
simply tar it up ready for distribution.
From the Tcl shell you can very easily turn a plain tcl script into a Tcl 8.5 module:
%package require tarpack
%tarpack::wrap somescript.tcl -version 1.1
If you don't supply a version number to the 'wrap' command it will default to 0.1
Alternatively you can supply your version number by including it in the filename of the script e.g:
somescript-2.4.tcl
For a single Tcl script, such a wrapping doesn't immediately add any particular value as simply renaming a tcl script
to conform to Tcl 8.5 module convention (<packagename>-<version>.tm) and making sure it contains an appropriate 'package provide' statement
will also make it loadable as a module.
However, by making it a tar archive - you can now add other documents to it such as a readme etc.
For such tarpacks where you've wrapped a single script and maybe some docs, Tcl doesn't even have to use any tar code to load the file, so it is still very efficient.
When creating a Tcl package - it is generally good practice to place all your commands and variables in a Tcl namespace that matches the package name.
The tarpack package is released under a BSD-style license.
| package | Description | Platform |
|---|---|---|
| tarpack-1.1.2.tm | tarpack - required package for most other modules below to load. | All platforms - pure-tcl |
| tar-0.2.tm | tar - This is taken from tcllib. Most Tcl distributions are likely to already include tcllib. | All platforms - pure-tcl |
| Thread-2.6.3.tm | Thread 2.6.3 | Windows,FreeBSD |
| sqlite3-3.3.5.tm | sqlite3 3.3.5 - see http://sqlite.org | Windows,FreeBSD,Linux,Darwin-ppc |
| crypt-1.0.tm | crypt package from the TclHttpd distribution - provides unix "crypt password salt" functionality | Windows,FreeBSD |
| tclcrypt-1.0.tm | tclcrypt package from the TclHttpd distribution - same functionality as crypt but much slower | All platforms - pure-tcl |
| dll-1.0.tm | dll caller - see http://wiki.tcl.tk/12264 | Applicable to Windows only |
| tls-1.5.1.tm | tls-1.5.1 built against OpenSSL0.9.8a (static) with MinGW | Windows build only at this time |
| enum-1.5.2.tm |
enumerated types for Tcl - see http://wiki.tcl.tk/1308 also: DOCS | All platforms - pure-tcl |
| netstring-0.1.1.tm |
Netstrings for Tcl - Implementation of D.J Bernstein's Netstrings | All platforms - pure-tcl |
| udp-1.0.8.tm | TclUDP - see TclUDP sourceforge project | Windows,FreeBSD |
tdom & associated packages. (high performance XML
data processing in TCL. see http://www.tdom.org)
uri & uri::urn are not directly associated with tdom, but are required by
it; so place them on your 'module path' to avoid auto_path scans
Note that namespaced packages such as uri::urn need to be placed in
subfolders corresponding to the namespaces.
i.e install as <Module Path>/uri/urn-1.0.2.tm
There are more recent versions of tdom available elsewhere. (It's up to at least 0.8.2 by now)
| package | Description | Platform |
|---|---|---|
| tdom-0.8.1.tm | tdom | Windows,FreeBSD |
| tdom-0.7.8.tm | tdom | Windows,FreeBSD,Linux,SunOS-sparc,SunOS-x86 |
| tnc-0.3.0.tm | tnc - XML validator | Windows,FreeBSD,Linux,SunOS-sparc,SunOS-x86 |
| tdomhtml-0.1.0.1.tm | tdomhtml - HTML layer on DOM | All platforms - pure-tcl |
| xmlstruct-1.0.1.tm | xmlstruct (AKA tdomplus) | All platforms - pure-tcl |
| uri-1.1.4.tm | uri | All platforms - pure-tcl |
| urn-1.0.2.tm | uri::urn | All platforms - pure-tcl |
(ie unpack these somewhere on your $::auto_path)
-- an "easy" method for sending email using Tcl's built-in sockets.
Intended to be cross-platform.
Based on original work by Keith Vetter, Maintained by D. J. Hagberg
dhagberg@millibits.com .
http://www.millibits.com/djh/tcl/
Above site temporarily down and I don't know if this was the latest version
available.
I have a version that is hacked to provide very *basic* support for
SMTP-AUTH.. (LOGIN & PLAIN only) i.e base64 encoded transfer of username
& password
Email me at julian@precisium.com.au if you'd like me to make it available -
but be warned it's only been tested against one mailserver and doesn't fully
support 'authorization ident' for 'PLAIN'.
My additions are in the Public Domain and ezsmtp seems to be licensed in a
BSD-like manner. (see license.txt)
-- simple functions for aligning text left,right or centre in a column.
BSD-style license.
SYNOPSIS:
package require overtype
overtype::left ?-overflow [1|0]? ?-elipsis [1|0]? ?-ellipsistext ...?
undertext overtext
overtype::centre ?-bias [left|right]? ?-overflow [1|0]? undertext overtext
overtype::right ?-overflow [1|0]? undertext overtext