Updated 2017-06-08 10:09:17 by stevel

Teacup provides access to the Tcl Extension Archive. It is the client to the TEApot server. It is distributed with ActiveTcl by ActiveState.

See also: Using Teacup for the first time

When encountering problems with teacup, or having ideas for new functionality for it, please

  • check that you are using the latest version of teacup (see instructions below)
  • report bugs and feature requests at http://bugs.activestate.com/ . The bug database project is ActiveTcl, Component Teapot.
  • ask questions on the activetcl mailing list maintained by ActiveState.

Questions and Answers About Teacup edit


Where do I find this teacup program?

When you install ActiveTcl, version 8.4.14.x or newer, teacup will be found in the same place that the other executables that come with ActiveTcl (tclsh, base-tcl, wish, base-tk).

Alternatively, you can download it from [1] (web interface to teapot repository).

rpremuz: Teacup has been dropped from ActiveTcl 8.6.6 - see https://community.activestate.com/node/7279#comment-29545.

How does one run teacup?

The teacup command is a character oriented command intended to be executed from a command line shell of some sort. It does not, currently, have a GUI interface on any platform.

How do I know what version of teacup I am using?

Just type:
 $ teacup version
        8.5.1.1.284223


How do I upgrade to the latest version of teacup?

Just type:
 $ teacup update-self
 Updating /path/to/your/teacup ...
 Found newer version 8.5.0.0.281300 (linux-glibc2.2-ix86) @ http://teapot.activestate.com

 Retrieving application teacup      8.5.0.0.281300 linux-glibc2.2-ix86 ...@ http://teapot.activestate.com ... Ok
 Copying ...
   Ok

P.S. It might be worthwhile to make a copy of teacup before first running this command. In that way, if something should go wrong either with the update, or with the latest teacup, you still have a copy around to try later when the problem is resolved.

AK Teacup makes that copy for you, under the name teacup.bak in the directory it is in (not the working directory).

Can I check for a newer version of teacup without running teacup update-self?

Just type:
 $ teacup list teacup
 entity      name   version     platform
 ----------- ------ -------------- -------------------
 application teacup 8.5.0.0.281300 aix-powerpc
 application teacup 8.5.0.0.281300 hpux-parisc
 application teacup 8.5.0.0.281300 linux-glibc2.2-ix86
 application teacup 8.5.0.0.281300 macosx-universal
 application teacup 8.5.0.0.281300 solaris2.6-sparc
 application teacup 8.5.0.0.281300 solaris2.10-ix86
 application teacup 8.5.0.0.281300 win32-ix86
 ----------- ------ -------------- -------------------
 7 entities found

The version number can then be compared to the version output by teacup version. Each number represents an incrementing version.

I tried to do the update-self, but got an error about the process timing out - what do I do now?

Just type:
 $ teacup timeout 120

where the 120 is the number of seconds teacup should wait before stopping, under the assumption that there is some problem. If, however, you are on a slow line, you may very well need to increase that number. And, if you are the very patient type who doesn't care if they wait very long periods of time, replace that 120 with -1 and there will be no timeout.

How do I learn how to use teacup?

 $ teacup help
     teacup
    is a tool to access package repositories

        teacup help cmds-by-group   Grouped list of commands provided by teacup
        teacup help commands    Alphabetical list of commands provided by teacup
        teacup help help            How to use help
        teacup help options      Describes the standard options
        teacup help queries      Describe the syntax of complex queries

What kinds of things can you do with teacup?

Teacup knows about the following commands when you issue teacup help commands:
    commands -- Print list of commands provided by teacup

    Use 'help <commandname>' to get detailed help for a command.

    teacup archive     Manage archives
    teacup cache       Manage cache settings
    teacup create      Create installation repository
    teacup default     Manage installation repository
    teacup delete      Delete installation repository
    teacup describe    Describe package found in an archive
    teacup get         Get file containing package as found in an archive
    teacup install     Get and install a package found in an archive or file
    teacup keys       List meta data keys found in the archives
    teacup link       Manage links between installation repositories and tcl shells
    teacup list       List packages found in the archives
    teacup log         Manage the log of installed/removed packages
    teacup profiles    Find and list profile packages found in the archives
    teacup proxy       Manage proxying
    teacup regenerate  Recreate broken toplevel pkgIndex.tcl files
    teacup remove      Remove installed packages
    teacup search      Search and list packages using complex queries
    teacup setup       Enable tcl shells to handle installation repositories
    teacup timeout     Manage timeout
    teacup update      Update local repository from the archives.
    teacup update-self Get newest revision of teacup for the platform
    teacup version     Print version of teacup
    teacup verify      Check a repository for problems.
    teacup who         Print description of teacup

What is the first step in using teacup?

The first step is getting teacup. To do that, install a recent version of ActiveTcl. The teacup command should be installed along with the tclsh that ActiveTcl's installer installs.

What's next?

Next you have to start teacup. It is a text based command. On Unix like systems, you find the directory where ActiveTcl's tclsh was installed, and in that directory, you will find teacup.

On Windows, however, you have to get some sort of a console window open, since (at least at this point) there is no graphical interface to teacup available.

Some people have tried running teacup inside of tkcon, but that can be frustrating, because all of the output from teacup is buffered until the program completes.

[Please add additional tips for using teacup on the Windows platform.]

What does teacup create when you run it?

When you actually run the ActiveTcl installation script, it creates a teapot directory in your $HOME directory (at least on Unix/Linux). The teapot directory contains a variety of files and directories used for configuration.

How will the teapot configuration directory be used?

It contains a configuration file with settings used by teacup. The configuration file is not used by Tcl shells.

What is the teapot local repository?

It is a directory that, in current ActiveTcl releases, exists within the ActiveTcl installation directory. In earlier ActiveTcl releases, this directory was located within the home directory of the person who ran the install script.

How will the teapot local repository be used?

  1. The tclsh (and wish) in ActiveTcl's bin directory has been configured to look for packages in this repository first.
  2. When you make use of the teacup install command, items will be installed into this directory.

Do I need to go into the $HOME/.teapot or the teapot local repository directory for any reason?

Well, when you use teacup to install an application (more on this below), the file will be installed in the local repository, but for you to use it, you will have to find the file installed and copy it elsewhere.

[Any other reasons to dig into the repository?]

But I don't want the repository to be in my home directory - how can I move it?

The best solution here is to install a new ActiveTcl. The most recent releases do not put the repository in your home directory.

In the case that you are frozen at an old version without an option of upgrading, then:
  # create a new repository in a different location
  teacup create /path/to/new/repository
  # link your Tcl installation to the new repository - pick any shell in your Tcl installation
  teacup link make /path/to/new/repository /path/to/shell
  # cut the link from your Tcl installation to the old repository
  teacup link cut /path/to/old/repository /path/to/shell
  # make the new repository the default
  teacup default /path/to/new/repository
  # delete the old repository
  teacup delete /path/to/old/repository

The teapot directory in your $HOME remains, but the old repository in this directory is deleted. The configuration directory in the teapot directory remains - this location is hardcoded on a per-user basis and the directory should not be removed.

I want to make the repository readable for anyone using ActiveTcl's tclsh - do I need to do anything special?

This is now the default behavior, on Linux and Unix.

[Add instructions for what to do on Windows.]

I want to set up a repository for a non-ActiveTcl tclsh/wish (e.g. built from source) - how do I do that?

  # This works for Tcl 8.4.16 or 8.5b1

  # Use teacup from an ActiveTcl installation
  # Upgrade to the latest teacup (to fix certain bugs)
    teacup update-self
  # Create a repository if you do not already have one
    teacup create /path/to/your/repository
  # Set up your shell to be aware of repositories
    teacup setup /path/to/your/shell
  # Link your shell to the repository that you have created
    teacup link make /path/to/your/repository /path/to/your/shell

I need at least two repositories - one for production and one for test. How would I access two different repositories and how would the users make use of them?

[insert steps here]

Okay, now, how do I go about determining what is available to install?

Just run
  teacup list

and you will see all items residing in the default software repository located at ActiveState.

Wow - there's a lot of stuff in the Activestate teapot repository ... where do I start?

Well, that's up to you. However, LV suggests starting with:
  teacup install ActiveState::ActiveTcl -is profile

which should install a set of commonly used Tcl packages. If you receive errors from teacup about being unable to install due to problems with dependencies, then try
 teacup install --force ActiveState::ActiveTcl -is profile

to force teacup to install as much as it can install.

On the mailinglist it was mentioned that
  teacup install ActiveState::ActiveTcl85Fat

will install everything and the kitchen sink.

That's neat. There was, however, a lot of stuff output by that teacup list command - what about all of those items?

First, after you've performed that teacup install ActiveState::ActiveTcl command, you will have installed a significant number of the items output by the teacup list command.

Second, you might have noticed that the list was made of items like this:
 $ teacup list --all-platforms Itcl
entity   name version                   platform
-------- ---- ------------------------- ---------------------
package  Itcl 0.0.0.2008.08.06.18.10.10 source
package  Itcl 0.0.0.2008.10.20.18.13.09 source
package  Itcl 0.0.0.2008.11.04.09.45.43 source
package  Itcl 0.0.0.2009.01.16.18.15.29 source
redirect Itcl 3.3                       aix-powerpc           Business Edition Only --- License required
redirect Itcl 3.3                       hpux-parisc           Business Edition Only --- License required
package  Itcl 3.3                       linux-glibc2.2-ix86
package  Itcl 3.3                       linux-glibc2.3-x86_64
package  Itcl 3.3                       macosx-universal
redirect Itcl 3.3                       solaris2.6-sparc      Business Edition Only --- License required
redirect Itcl 3.3                       solaris2.8-sparc      Business Edition Only --- License required
redirect Itcl 3.3                       solaris2.10-ix86      Business Edition Only --- License required
package  Itcl 3.3                       win32-ix86
redirect Itcl 3.4                       aix-powerpc           Business Edition Only --- License required
redirect Itcl 3.4                       hpux-parisc           Business Edition Only --- License required
package  Itcl 3.4                       linux-glibc2.2-ix86
package  Itcl 3.4                       linux-glibc2.3-ix86
package  Itcl 3.4                       linux-glibc2.3-x86_64
package  Itcl 3.4                       macosx-universal
redirect Itcl 3.4                       solaris2.6-sparc      Business Edition Only --- License required
redirect Itcl 3.4                       solaris2.8-sparc      Business Edition Only --- License required
redirect Itcl 3.4                       solaris2.10-ix86      Business Edition Only --- License required
package  Itcl 3.4                       win32-ix86
-------- ---- ------------------------- ---------------------
23 entities found

The first column is the type of entity. Right now, there are profiles (think of them as a MANIFEST or an index of other items in the repository), packages, redirect (code only available upon purchase of a license from ActiveState) and applications.

The second column is the item name. Hopefully someone has ensured there is a wiki page on this site for each item in the repository, so that one only need to visit Itcl (or whatever package name) and see more details about the package. If you find there is a page describing a package missing, feel free to start one with a comment asking for more info and generally someone will oblige.

[ See http://teapot.activestate.com/ for a table of contents for what is in the repository. ]

The third column is the version number of the item. A particular item might have several versions in a repository. Itcl, for instance, has at least versions 3.3 and 3.4 in the repository at the time of this writing.

The fourth column is the platform name. If the item is pure tcl, the value in that column will be "tcl". If the item is the source code for a package, the value will be "source". Otherwise, the name is typically OperatingSystem-HardWare or some other common components (glib version, os version, etc.).

So, the ActiveState:ActiveTcl profile installation mentioned above will be for software items that match the platform and version of Tcl that has been registered with teacup.

What if I want to install software from the repository for other hardware or operating system platforms?

[add information on how to do that here]

What if I have installed two different versions of ActiveTcl - say 8.4.x and 8.5.x?

[add information on how to do that here]

This is tricky. I was first burned by assuming (incorrectly) that merely using the teacup from the appropriate ActiveTcl would allow me to look at, and update, the correct repository. As of early June 2008, that is not the case. Instead, you have to specify the --at directory/to/lib/teapot argument to tell teacup which repository to use.

2014 Feb 12 It just so happens that I have four different ActiveTcl instances installed on my laptop (8.6.1 x86/x64 and 8.5.15 x86/x64) and it seems teacup is smart enough to see where it was called from and thus it uses only the corresponding repository so there's no visible mix-up. So I guess that "tricky" part has been fixed somewhere along the way.

What other items are in the repository besides what is installed via the ActiveState::ActiveTcl profile?

To find out, execute
 teacup list --only uninstalled

after successfully completing the profile installation.

You will get a list of items that are for your platform / tcl version , but not yet installed.

AW I don't, instead I get:
 % teacup version

        8.4.14.0.272572

 %  teacup list --only uninstalled
        Unknown option "--only", should have been one of --as-profile,
        --at, --at-default, --http-proxy, --is, or -v
 child process exited abnormally

LV run the
 teacup update-self

and then type
 teacup help list

teacup is updated with new features or bug fixes as needed. If an option mentioned on this page doesn't work, then either that option has changed, or it is newer than the version of teacup that you are using.

The teacup available during late October 2007 supports '--only uninstalled or newer or unknown or update.

How would I install one of these additional items?

You would run
 teacup install {package}

where the word {package} is replaced by the name of the thing you are wanting to install.

How can I tell if I have the newest version of a package?

You could execute
 teacup list --only newer

and teacup will list any of your packages which have newer versions

Then how do I install the newer package?

You would run
 teacup install {package} {version}

and the specific version of the package you specify is installed.

[Review this answer for currency.]

Neat! Where do I find the documentation for all these packages.

Currently, teacup doesn't install documentation for packages. There are pages, or placeholders for pages, on this wiki for most of the entities. LV hopes that wikignomes will help fill those wiki pages with pointers to the docs, etc. for each of the packages!

Where do I find the source code that matches each of the binaries in the teapot repository?

[Add an answer for this question]

Well, you have briefly mentioned profiles and packages, what about applications?

Currently, entity types of application should be considered sort of a for completeness feature. That is to say, if you install an item that has a type of application, something is installed. However, installed today (early June 2007) means a copy is installed into a directory somewhere and it is up to you to copy/link it into a location of your own choice. Not too big a deal today, because there are only a few applications in the repository.

P.S. Don't move or remove things from the local repository using normal operating system commands. That leaves the repository in an unknown state. If you want something removed, use teacup remove simple-file-name-unique-enough-to-identify and let teacup take care of the cleanup. You can use teacup verify to determine if the repository is in a clean state.

To determine what you have in the local repository, use teacup list --at-default.

However, if you want to install an application, you would do something like this:
 teacup install tkcon -is application

Notice the single dash with the -is . Even though nearly every other dashed argument uses two dashes, in this case, the single dash is correct.

Also, note that not all of ActiveTcl is available from the repository. As just mentioned, the documentation isn't there. Neither are the tclsh or wish applications. There are other things, such as include files and a variety of miscellaneous items (demos, graphical files, message catalogs, etc.) which are not yet available.

Well, I have two comments:

(1) with a typical install of Activestate Tcl 8.5.0 teacup complains that it can't fish tclsh.exe, so I just copied and renamed tclsh85.exe to tclsh.exe.

LV If by fish you mean find, I suspect the issue is that ActiveTcl installs things like tclsh and wish with a version number on them. So you could either create a symbolic reference to the one that is installed, you could rename, you could make a copy, or, the least problem, you could just use the name installed. And if this problem was reported in a bug fix to ActiveState, then it is probably fixed by now.

(2) Where do I find tkcon after it got installed! I can't find!

Do a search in the ActiveTcl8.5/lib/teapot folders . Applications are installed in there. See the next question!

Okay, so I did that - now what?

Well, you have to figure out where the new file went. Take a look in your teapot repository (initially, that will be in ActiveTclInstallFolder/lib/teapot/ ). There should be an application directory. Under there will be a hardware-specific, as well as a tcl, sub-directory.

Hey, you are right! I found a bunch of files - but they all have .tm on the end. What does that mean?

[tell the reader what to _do_ with the stuff - how does one execute the .tm file appropriately?]

These are Tcl Modules, which is a distribution file format in which one or more tcl files (or even binary libraries) are put together into a single file. When I want to use one of these applications, I COPY the file in question into ActiveTclFolder/bin, giving it a simple, memorable name. For instance, I might type
cp /path/to/ActiveTcl8.5.6/lib/teapot/application/tcl/teapot/tkcon-2.5.tm /path/to/ActiveTcl8.5.4/bin/tkcon.tk
chmod 755 /path/to/ActiveTcl8.5.4/bin/tkcon.tk

At that point, if /path/to/ActiveTcl8.5.4/bin is in my path variable, then I can invoke tkcon.tk by name.

Hey, I have written my own packages and extensions. How can I make those available to people internally?

[insert steps]

Well, we've used my stuff for a while, and I'd like to share one. How can I request it be added to the activestate repository?

[insert steps]

Okay, I've got a number of items - I think I'd like to make my own repository available to the community. How can I do that?

[insert steps]

The starkit provided seems to contain compiled bytecode for pretty much everything. Where can I find the sources for teacup?

This is important for me because (choose one or several):

  1. A complex request wasn't interpreted the way I expected, and now I feel compelled to go source diving in order to correct my understanding of the software.
  2. If it's closed source, it has just got caught in my corporate conspiracy defences, and I'll be too paranoid to use it again, ever!
  3. I just thought of an improvement I'd like/need to implement.
  4. ...

[insert steps]

teacup is currently owned and managed by ActiveState. Contact them via their bug reporting mechanism, via the Tcl and then teapot category, with any ideas for improvements or corrections needed.

For teacup setup , to what does the --shell argument refer? A pathname to an executable?

AK: Yes. See teacup help setup for help.

LV Ah, the help indicates, indirectly, that the --shell is referring to a Tcl interactive shell. It isn't clear whether it wants a path to the shell, or just the simple name.

How do I create a CD-ROM of the repository?

LV For instance, I have a situation where the machine for which I want to download some items is not on the internet. I don't have access, at all, to a machine of that type. What I need to be able to do is to say "download into repository /path/to/machine1/repository the XYZ extension" so that I then can create a CDROM or some other media copy of the extension and sneakernet it to the machine.

Alastair Davies thinks that the way to do that is as follows. For example, to get XOTcl 1.4.0 for MacOS X using only my Windows XP machine:
 C:\Documents and Settings\Alastair Davies>teacup get XOTcl 1.4.0

 Retrieving package XOTcl   1.4.0 solaris2.6-sparc ...@ http://teapot.activestate.com ... Ok
 Retrieving package XOTcl   1.4.0 macosx-universal ...@ http://teapot.activestate.com ... Ok
 Retrieving package XOTcl   1.4.0 solaris2.10-ix86 ...@ http://teapot.activestate.com ... Ok
 Retrieving package XOTcl   1.4.0 win32-ix86 ...@ http://teapot.activestate.com ... Ok
 Retrieving package XOTcl   1.4.0 aix-powerpc ...@ http://teapot.activestate.com ... Ok
 Retrieving package XOTcl   1.4.0 linux-glibc2.2-ix86 ...@ http://teapot.activestate.com ... Ok
 Retrieving package XOTcl   1.4.0 hpux-parisc ...@ http://teapot.activestate.com ... Ok
 Output directory C:/Documents and Settings/Alastair Davies
 7 packages found, copying retrieved files ...

 Copying package-XOTcl-1.4.0-solaris2.6-sparc.zip
 Copying package-XOTcl-1.4.0-macosx-universal.zip
 Copying package-XOTcl-1.4.0-solaris2.10-ix86.zip
 Copying package-XOTcl-1.4.0-win32-ix86.zip
 Copying package-XOTcl-1.4.0-aix-powerpc.zip
 Copying package-XOTcl-1.4.0-linux-glibc2.2-ix86.zip
 Copying package-XOTcl-1.4.0-hpux-parisc.zip

This command places seven zip files in your current directory (not in your own local repository). You can sneakernet the appropriate zip file to the disconnected machine, and then install it from the zip file into the disconnected machine's local repository using the command
 teacup install package-XOTcl-1.4.0-macosx-universal.zip

You obviously need the TEAcup client on the disconnected machine as well. According to the documentation, it should be possible to put a particular architecture on the command line to retrieve one (not seven) packages, but I couldn't get that to work.
 C:\Documents and Settings\Alastair Davies>teacup get XOTcl 1.4.0 macosx-universal
 Output directory C:/Documents and Settings/Alastair Davies
 0 packages found, no copying

 Problems which occured during the operation:
 * http://teapot.activestate.com : timeout

HTH, Alastair Davies 8 December 2006

How can I find out what packages are installed locally?

Alastair suggests trying teacup list --at-default

Could we have an upgrade command?

[From early 2007...]

Alastair Davies One request for enhancement [2]: could we have an "upgrade" command to fetch the latest version of every package in the local repository?

RLH 2007-06-01 ~ ~ I second this one! You would also need a list-upgrade to show a list of what you have versus what the latest is. You may not always want to upgrade "everything" but having a list like that would allow you to choose.

AK Pretty please, when encountering problems with, or having ideas for new functionality for it, enter them at http://bugs.activestate.com/ . The project is ActiveTcl, Component Teapot. I am not scanning the wiki all day long just looking for such reports and requests.

LV If you check above, you will see a way to get a list of updates. You would be able to write a tcl script which runs the teacup list --only newer command, then parses its output and invokes teacup install on the resulting information.

Previously brew provided an over-simplistic script that might be a start for this request.

As of 2007 Oct 26, just use
 teacup update

about which teacup says:
        Find all packages which are not installed locally but present
        in the configured archives and install them. Further find the
        highest versions of all installed packages in the configured
        archives and install any not yet installed locally.

        This command is in essence a combination of 'list --only
        newer', 'list --only unknown', and 'install --force'.

This is what brew was trying to do.

RLH I don't think that does what you think it does. That installs any packages from the archive that aren't installed locally.

During early 2008, teacup update was enhanced to permit the
 ?--only uninstalled|unknown|newer|update?

arguments, so that one can get the variations someone might need.

Other Questions edit

MHo, 2007-06-13:

Yesterday I tried to test teacup on my home xp for the first time. That system is connected to the internet via a slow (~46k) telephone modem (yes, it's true...). I typed in teacup list an got a timeout. I typed teacup update-self an got a timeout... Probably I've tested some more commands, but the result was always the same. In contrast, e.g., sdx update works successfully over such a slow line...

Sorry for reporting here, but I dont't have my ActiveState account handy (if I have one at all, don't remember right now...).

LV Are you a member of the ActiveState ActiveTcl mailing list? That might be a place to report problems. The bottom line is that bug reports here or on comp.lang.tcl are less likely to be noticed than ones posted on the actual bug report site... Since an activestate account for activetcl shouldn't, I would think, cost anything, I highly recommend posting there. In regards to your specific problem - in the early days of teacup, I got those same errors, only on Solaris. A newer version of teacup was released, which allows one to specify a longer timeout (or to remove the timeout altogether). I am uncertain how one gets the newer one, if the current one keeps timing out. Perhaps get the ActiveTcl 8.5 alpha release, and use the teacup in that one?

MHo: What a quick response! Meanwhile, I tested at work - everything ok here, on w2k with high speed internet, even over proxies.... I will test the new version at home; I think the single teacup.exe is enough to copy? And, yes, I'm member of the mailing list. I will post further results there...

LV 2008 May 22

Has anyone worked out the details in downloading and creating a "snapshot" of Windows activetcl 8.5.x and some set of teapot extensions, which could then (hopefully trivially) be used as a file/install tree to drop painlessly into any comperable windows machine?

The previous version of ActiveTcl was pretty simple to wrap up into an ActiveDirectory file which could be installed painlessly when an application required Tcl.

The way things work today, one has to deal with installing the skeletal ActiveTcl, then hold the user's hand as they try to deal with command lines on Windows, teacup syntax, and figuring out a list of extensions to install.

It would be preferable for one person to deal with all of this, create a folder tree, and then roll that out to users. But of course, some piece is needed to jiggle the registry bits appropriately...

LV 2008 Feb 11

So, has anyone thought about what kind of GUI might be put on top of teacup? What kinds of things would be useful? I know that teacup's command line simplicity is, for me, a benefit. However, I can see where, on Windows, having a GUI interface would be a benefit...

RLH 2008 Feb 22

  1. List packages from the repository (what you see at the command line should be seen here as well)
  2. List currently installed packages
  3. Flag packages for install so a bulk operation can be performed
  4. Basically you would need to expose (eventually) most, if not all, of the command line stuff

GJL 2008 May 31

I've thought about it, but it's way down the list of things to do... how about Teacozy (or Teacosy) as a name - although it would be more appropriate as a wrapper around the pot than the cup.

LV 2008 Oct 25 What I was thinking about today is a simple start - basically, a call first to teacup update-self, then a call to
teacup list --as csv --only newer

then parse this, and create a series of checkbuttons. As the user checks off the items they want, a series of
teacup install $name $version

is called.

See TeaKpot.tk for initial code (that is a work in progress).

That covers adding new stuff. Next would be a wrapper around what is installed so that one can remove versions.

ET 2008 sep 03

I've begun to use a tclkit instead of an activestate install on my win2k and winxp systems. Is there a way to use teacup without active tcl? I've on occasion copied an extension from an activestate installation's lib directory into the lib directory of an unpacked tclkit and built a new tclkit with additional extensions. This worked without much effort. Can I achieve this with teacup and my tclkits?

MJ The repository used by teacup is web accessible at http://teapot.activestate.com/ . There you can download the seperate packages.

pcam 17/12/2008. From my limited usage experience I would love teacup to have the following features:

  1. "teacup list" should by default return only results relevant to the current platform (source, Tcl, and linux|unix|windows|mac)
  2. Maybe "teacup install" should be case insensitive with regards to the package name, though I know too well that package names are case sensitive and that a TIP is being discussed regarding that issue.

MHo Maybe I missed something but where is the documentation about the many useful pieces accessable via teacup?

LV Are you asking the question How do I access the documentation for the various applications and packages that teacup can install? If not, if you can give me more detail, I might have an answer.

However, if I have correctly guessed your question, I don't have good news for you. As far as I am aware, teacup does not provide the means to install the documentation (nor the demos, README files, etc.). If you use teacup describe item_name, you can get a little bit of information about the package. MHo: Yes, that's what I meant...

[weeble]: 30/11/2011 - Can someone put some info on here re: license requirements? I cannot perform any teacup command (even list!), it always just says that problems occurred during the operation, and the server message states "Business Edition License" is required.

AK - 2011-11-30 12:01:58

Hi weeble. My guess is that you are trying to get packages for Windows 64bit. This is one of the platforms where access to the packages in the TEApot requires a BE license (see http://www.activestate.com/business_edition/). Windows 32 bit, Linux, and OS X are free. Solaris, HPUX, and AIX also require the BE license for access to TEApot.

[weeble]: 2/12/2011 - Sadly, no, I only have a 32-bit machine. It's slightly annoying because there seems to be noone else that hosts a package lists except the ActiveState TEApot server :)

LV - 2012-11-16 13:24:55

So nearly a year after the last comments on this page.

The industry - and the environment people are running - has changed substantially.

64 bit in the desktop and laptop environment has been changing. It is no longer rare to see 64 bit in the home.

Is ActiveTcl 64 bit still considered a business version?

If so, then are there 64 bit Batteries Included versions of Tcl available?

filker0 - 2012-12-03 21:17:40

I have an ActiveState Tcl/Tk distribution installed on a PC behind a firewall that requires a proxy for HTTP, and has a proxy set-up that I've been unable to get at (beyond the admins setting it up for IE); teacup 8.5.8.0.291595 is not automatically getting the proxy, and I can't find "autoproxy" when doing a "package require of "autoproxy" or "tcllib::autoproxy", as mentioned in the help text from typing "teacup help". They have changed the policy where I work, and won't allow me to download and install a newer version of ActiveStateTcl without a huge amount of paperwork, which, should it fail, may result in the IT folks sweeping for ActiveState TCL packages and removing them from any machine they find it on (as they do monthly for Firefox, Safari, and many other browsers).

Is there some magic anyone here can recommend to get teacup to use the proxy set up in the Windows XP (32 bit) registry for IE?

JHJLUnder Windows XP, I set the following environment variables before using teacup and also specify a 0 timeout
set http_proxy=http://proxy_url_goes_here/ 
set http_proxy_user=domain\username 
set http_proxy_pass=yourpassword
teacup update --timeout 0

AK - 2012-12-06 01:26:09

The autoproxy package mentioned in the help of teacup is part of teacup. No external package is needed.

It is mentioned because the documentation for that package (which is found in the AT .chm file, html tarball, or online at http://docs.activestate.com/activetcl/8.5/tcllib/http/autoproxy.html) tells all the places where autoproxy will search for and find proxy information on the system (env variables, registry, etc.), beyond the data set by the 'teacup proxy' command.

[tuxp] - 2016-09-13 09:10:26

Usage Problems edit

Windows 7
C:\User\develop\myapps\tcl8.5.18x64\bin>teacup update-self
Updating C:/User/develop/myapps/tcl8.5.18x64/bin/teacup.exe ...
Not found in the archive.

Problems which occurred during the operation:
* http://teapot.activestate.com :
        &#123;connect failed connection refused&#125; &#123;can't read
        "state(sock)": no such element in array while executing
        "fileevent $state(sock) writable &#123;&#125;"&#125; NONE

Can someone help, dealing this issue? Searching and downloading results the same...

arjen - 2016-09-13 09:34:10

I just tried it myself - no problem. This was also on Windows 7. Maybe a temporary hiccup?

[tuxp] - 2016-09-27 13:14:17

Unfortunately not - on my private PC its no problem - i'm just having that issue in my companys network. Propably some Firewall/Proxysetting as described above.