Magicsplat Tcl/Tk for Windows

Table of Contents

Introduction

The Magicsplat Tcl/Tk for Windows distribution is a binary Windows Installer based distribution of Tcl/Tk for Windows systems. It includes commonly used libraries, extensions and development tools.

There are currently two distributions, version 1.15.0 based on Tcl 8.6.15, and version 2.0.2 based on Tcl 9.0.0. The latter only contains a subset of the packages listed below that are present in the former.

The current release, version 1.15.0 (changes), is based on Tcl/Tk 8.6.15 and includes the following software:

Tcl/Tk 8.6.15, Ankh 1.0, Apave 3.4.12, Autoopts 0.6, Awthemes 10.4.0, Azure Ttk theme 2.1.0, Baltip 1.3.7, Bartabs 1.5.5, BContour 1.1, Bezier 1.1, Broker 2.1, BWidget 1.9.15, CAWT 2.9.6, Canvas3d 1.2.4, Cffi 2.0b1, Chesschart 0.2, Cmark 1.0, Crimp 0.2, Critcl 3.18.1, Csp 0.1.0, Dgtools 0.3, Dgw 0.3, DiffUtil 0.4.1, Duktape 0.9.0, Ffidl 0.9b0, Forest Ttk theme 1.0, GRIDPLUS 2.11, Gc_class 1.0, haru 1.0, Hl_tcl 0.9.40, Imagescale 0.1, Img 1.4.13, Incr Tcl 4.2.4, Iocp 1.1.0, JBlend 2.1, Kettle, Lg2 0.1, Loon 1.3.8, Mentry 4.1, Mkdoc 0.4, Mpexpr 1.2, Mqtt 3.1, Msgpack 2.0, Mustache 1.1, Nacl 1.1, Nats 1.0, Nsf/nx/XOTcl 2.4, Ooxml 1.6, Parse_args 0.3.0, Pdf4tcl 0.9.2, Promise 1.1, RBC Toolkit 0.1.2, Rl_http 1.9, Rl_json 0.11.0, Ruff 2.3.0, Scrolldata 2.12, Scrollutil 2.1, Shtmlview 0.9.1, Sockspy 2.6, Sqawk 0.23.1, SQlite 3.45.2, Sun Valley Ttk theme 1.0, Tablelist 7.1, Tarray 1.0.0, Tarray_ui 1.0.0, TclCurl 7.83.1, TclPro Debugger 2.0, TclWS 3.4.0, Tclcsv 2.3, Tclfpdf 1.5.1, Tcllib 1.21, Tclparser 1.8, TclTLS 1.7.22, Tclvfs 1.4.2, Tclyaml 0.5, TDBC 1.1.7, Tdom 0.9.3, Tdot 0.3.1, Thread 2.8.9, Tix 8.4.3, Tjson 1.0.25 TkDND 2.9.2, TkTable 2.11, Tkcon, Tklib 0.6+ (as of 2019/11/12), Tksvg 0.12, Tktreectrl 2.4.3, Tmdoc 0.4, Tomato 1.2.2, Tpack 0.1, Tsvg 0.1, TWAPI 4.7.2, Type 0.1, UDP 1.0.10, Vix 1.0, Wcb 4.0, Www 2.0, Xjson 1.5, Xtal 1.0.0, Zoom-canvas 2.0, C include files and libraries.

Note: All binaries and libraries are built with Visual Studio 2022.

Platform requirements

Windows 7 or later. Both 32- and 64-bit versions are provided.

Downloads

NOTE: You must choose the version matching your platform as the 32-bit version will not install on 64-bit Windows either.

Downloads are available from Sourceforge.

Installation

NOTE: If the Tcl 8 and Tcl 9 distributions are both installed, they must be installed in different paths. Moreover, only one should be added to the path during install (use advance mode to this).

To install, double click the downloaded file in Explorer or run the command

msiexec /i DOWNLOADEDFILENAME

from the command prompt.

Uninstalling can be done from the Add/Remove Programs control panel applet or equivalent on newer Windows systems.

Installation mode

The installation has a basic mode and an advanced mode. The basic mode is accessed by clicking the Install button on the license dialog after checking the Terms and Conditions checkbox. The software is then installed with no further questions for the current user only, using a default directory and default set of packages.

The advanced mode is accessed by clicking the Advanced button on the license dialog. This allows the user to select the installation scope (see below), the directory for installation as well as which packages are to be installed.

Feature selection

Advanced mode allows selection of the features and packages to be installed. You can add and remove packages at any time by going to the Windows Add/Remove Programs control panel applet or settings, selecting the Magicsplat Tcl/Tk product and clicking Change or Modify.

Installation scope

If advanced mode is selected, the user is given a choice of installing the software only for the current user or machine wide for all users. Please see the requirements listed in the dialog before making a selection.

Installing over an older version

You may install the new version over an older version that is installed with the following caveat: You must select the same install scope, per-user or per-machine, for the new install as for the older existing installation. Otherwise, the Windows installer will leave remnants behind on a later uninstallation.

If you wish to change the installation scope, uninstall the older version before installing the new version. If the same scope is selected, there is no need to uninstall the older version first.

Shortcuts, paths and file associations

In both basic and advanced modes the installer will make the following changes by default.

  • Shortcuts to the Tcl executables and documentation will be added to the Start menu.

  • The PATH environment variable will be modified to include the directory containing the Tcl executables.

  • The extensions .tclapp and .tkapp will be associated with the Tcl console mode executable tclsh.exe and GUI executable wish.exe respectively.

In all cases, the modifications will be made for a single user or machine wide depending on the installation scope selected.

Any of these features can be deselected in advanced mode via the Features dialog.

Reporting bugs

This project only provides an installation bundle for Tcl and extensions. Please report any bugs in individual packages to the respective groups. For installation related issues, please raise a ticket.

License

The following license applies only to the compilation of software included in this distribution. Individual components in the compilation are covered by their own licenses as noted in the next section.

(c) 2017-2024 Ashok P. Nadkarni

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

  3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Thirdparty licenses

The packages included in the distribution are covered by their own individual licenses. The license associated with each package is available in the licenses subdirectory where the distribution is installed.

Additionally, the distribution includes two runtime libraries from Microsoft:

  • The Universal C Runtime dynamic libraries from Microsoft covered under the UCRT redistribution license. These are installed in the bin directory and include the files ucrtbase.dll and api-ms-core*.dll.

  • The Visual C++ runtime files, also installed in the bin director, concrt*.dll, msvcp*.dll, vccorlib*.dll and vcruntime*.dll, are redistributed under the terms of the Visual Studio runtime license.

Cryptography legalities

This software includes functions related to cryptographic operations. Your country of residence may restrict the possession, use, import and export of such software. Please check the laws and regulations of your country accordingly before using the software.

For US export purposes, the Magicsplat Tcl/Tk for Windows distribution is self-classified under Export Commodity Control Number (ECCN) 5D002.C.1. It is eligible for export under Section 742.15 (b) of the Export Administration Regulations (EAR), which exempts publicly available encryption source code from being subject to EAR and Section 734.3 (b)(3) which exempts object code compiled from publicly available source code from being subject to the EAR.

Version history

Changes in Version 9.0.0-2.0.2

Update to Tcl/Tk 9.0.0. Only packages that support Tcl 9 are included.

Changes in Version 8.6.15-1.15.0

Based on Tcl/Tk 8.6.15

New packages (1): tjson 1.0.25

Updated packages: cawt 2.9.6, cff 2.0b1, critcl 3.3.1, haru 1.2, Img 2.0, iocp 2.0b1, Itcl 4.3.0, kettle 1.1, mentry 4.2, parser 1.9, promise 1.2, ruff 2.4.2, scrollutil 2.2, sqlite3 3.45.3, tablelist 7.2, tarray 1.0.2, tclcsv 2.4.3, tcllib 2.0, tdbc 1.1.9, tdom 0.9.5, Thread 2.8.10, tklib 0.8, tktreectrl 2.5.0, twapi 5.0b1

Changes in Version 1.14.0

Based on Tcl/Tk 8.6.14

Updated packages: cawt 2.9.5, Itcl 4.2.4, mentry 4.1, scrollutil 2.1, sqlite3 3.45.2, tablelist 7.1, TDBC 1.1.7, Thread 2.8.9, wcb 4.0

Changes in Version 1.13.0

Based on Tcl/Tk 8.6.13

New packages (1): tclfpdf 1.5.1

Updated packages: cffi 1.2.0, Itcl 4.2.3, mentry 3.16, nsf 2.4, rbc 0.1.2, scrollutil 1.17, sqlite3 3.40.0, tablelist 6.20, TDBC 1.1.5, tdom 0.9.3, Thread 2.8.8, tkdnd 2.9.2, twapi 4.7.2, wcb 3.8.

Changes in Version 1.12.1

New applications: sqawk 0.23.1

New packages (8): haru 1.0 (x64 only), lg2 0.1, tdot 0.3.1, tomato 1.2.2, xjson 1.5, Azure-ttk-theme 2.1.0, Forest-ttk-theme 1.0, Sun-Valley-ttk-theme 1.0

Updated packages: bwidget 1.9.15, apave 3.4.12, bartabs 1.5.5, baltip 1.3.7, cawt 2.9.1, cffi 1.0.7, hl_tcl 0.9.40, ruff 2.3.0, scrollutil 1.15, sqlite3 3.38.0, tablelist 6.19, tclcurl 7.83.1, tcllib 1.21, tksvg 0.10, twapi 4.7.1

Changes in Version 1.12.0

Based on Tcl/Tk 8.6.12.

New applications: sockspy 2.6, tpack 0.1

New packages (6): broker 2.1, mqtt 3.1, tpack 0.1, tsvg 0.1, www 2.0, zoom-canvas 2.0

Updated packages (5): ITcl 4.2.2, Thread 2.8.7, tdbc 1.1.3, twapi 4.6.0, WSTcl 3.4.0

Changes in Version 1.11.3

New packages (8): apave, baltip, bartabs, cffi, conf, imagescale, loon, nats

Updated packages (15): awthemes 10.4.0, cawt 2.8.2, ffidl 0.9b0, Img 1.4.13, hl_tcl 0.9.26, iocp 1.1.0, mentry 3.14, ooxml 1.6, rl_http 1.9, ruff 1.2.1, scrollutil 1.11, sqlite3 3.36.0, tablelist 6.15.1 tclws 3.3.1-pre, tksvg 0.9.

Changes in Version 1.11.2

New packages (4): ankh 1.0, kettle, mustache 1.1, tclyaml 0.5.

Updated packages (5): CAWT 2.7, ruff 1.1.0, sqlite3 3.35.2, tclcurl 7.75.0, TclWS 3.3.

Changes in Version 1.11.1

Patch for Tk 8.6.11 to fix mouse wheel scrolling bug.

New packages (1): ooxml 1.5.

Updated packages (2): CAWT 2.6, ruff 1.0.5.

Changes in Version 1.11.0

New packages (9): autoopts 0.6, chesschart 0.2, duktape 0.9, hl_tcl 0.7.4, msgpack 2.0, nacl 1.1, scrolldata 2.12, shtmlview 0.9.1, type 0.1.

Updated packages (22): Tcl/Tk 8.6.11, TDBC 1.1.2, registry 1.3.5, Thread 2.8.6, dde 1.4.3, awthemes 10.2.0, ffidl 0.8b0, Img 1.4.12, iocp 1.0.9, mentry 3.11, mkdoc 0.4, rl_json 0.11.0, scrollutil 1.7, sqlite 3.34.0, tablelist 6.11, tclcurl 7.74.0, Tcltls 1.7.22, Tclws 3.1, tksvg 0.7, tmdoc 0.4, twapi 4.5.2, wcb 3.7.

Changes in Version 1.10.1

New packages: BContour 1.1, Bezier 1.1, dgtools 0.3, dgw 0.3, iocp 1.0.0, tarray 1.0.0, tarray_ui 1.0.0, mkdoc 0.3, tls 1.7.21, tmdoc 0.3, xtal 1.0.0.

Updated packages: awthemes 9.2.2, CAWT 2.5.0, critcl 3.1.18, Img 1.4.11, rl_json 0.11.0, ruff 1.0.4, scrollutil 1.6, sqlite3 3.30.1.2, tablelist 6.10, tclcurl 7.71.1, tdom 0.9.2, twapi 4.4.1.

Changes in Version 1.10.0

New packages: Awthemes 6.0, Crimp 0.2, gc_class 1.0, JBlend 2.1, rl_http 1.5, ruff 1.0b3, tksvg 0.3.

Updated packages: Tcl/Tk 8.6.10, Cawt 2.4.7, Img 1.4.9, nsf/nx 2.3, parse_args 0.3.1, pdf4tcl 0.9.2, rl_json 0.9.13, tcllib 1.20, TDBC 1.1.1, Thread 2.8.5, tklib, twapi 4.3.8.

Changes in Version 1.9.1

New packages: Ffidl 0.7, NSF/Nx/XOTcl 2.2, Critcl 3.17, Tix 8.4.3. Fixes: missing tclConfig.sh is now installed.

Changes in Version 1.9.0

Updated packages: Tcl 8.6.9, Tk 8.6.9, TDBC 1.1, sqlite 3.26.0, thread 2.8.4, Itcl 4.1.2, tclcsv 2.3, twapi 4.3.5, promise 1.1, BWidget 1.9.13, tklib 2019-01-01, CAWT 2.4.3, TclCurl 7.63.0, DiffUtil 0.4.1, TclWS 2.6.2.

Changes in Version 1.8.1

New packages: parse_args 0.3.0, parser 1.8, rl_json 0.9.11, TclProDebug 2.0.

Updated packages: Bwidget 1.9.12, rbc 0.1.1, Tcllib 1.19, TclWs 2.5. In addition, Tcllib modules that have accelerators implemented in C are enabled.

Other changes: The Start Menu folder is labelled Magicsplat Tcl 8.6 instead of Tcl86.

Changes in Version 1.8.0

New packages: RBC toolkit 0.1, tclcsv 2.2.2, cmark 1.0, Canvas3d 1.2.4, Img 1.4.7, TclWS 2.4, DiffUtil 0.4, promise 1.0.3, csp 0.1.0, vix 1.0, tktable 2.11.

Updated packages: Tcl/Tk 8.6.8, TDBC 1.0.6, Tcllib, Tklib, Thread 2.8.2, Itcl 4.1.1, curl 7.57.0, tdom 0.9.1, twapi 4.2.13, CAWT 2.4.1, treectrl 2.4.3.