Magically-disappearing tclsh8.5 (was: any good audio/video editing apps in macports?)

Lawrence Velázquez larryv at macports.org
Sun Feb 24 14:04:04 PST 2013


On Feb 24, 2013, at 2:58 PM, Jim Graham <spooky130u at gmail.com> wrote:

> That's fine.  But considering the fact that there are syntax changes
> between Tcl/Tk versions, removing an existing one is most definitely NOT
> safe, as it could break Tcl/Tk programs that the user has written.  I
> personally consider this extremely bad behavior.

A valid point, of course. We generally try to provide multiple options
in situations where versions matter for one reason or another. For
instance, see the plethora of ports for compilers, Python, GTK, KDE,
etc.

The Tcl update was something of a hiccup. Here are a couple of previous
discussion on the matter.

http://thread.gmane.org/gmane.os.apple.macports.devel/21169
http://thread.gmane.org/gmane.os.apple.macports.devel/21380

>> The next time you ran "port upgrade outdated" or
>> something similar, MacPorts would have deactivated tcl @8.5.13 (or
>> whatever your old version was) and installed tcl @8.6.0.
> 
> But it should *ONLY* do so if I have no scripts/programs that I've
> written that use 8.5.x or, for that matter, 8.4.x, too---I have stuff
> that uses both of these right now, as I'm slowly working on upgrading
> JStrack to 8.5.x or, more likely now, 8.6.x.  I do know that at least one
> of those breaks old syntax.  If macports were to uninstall the older
> versions, it would break my stuff.  That is completely unsat and must
> never happen unless I specifically allow it after being ASKED whether
> or not to do so.

If the differences between 8.{4,5,6}.x are that significant, perhaps we
ought to have tcl-8.4 and tcl-8.5 ports. Then updates to one would not
affect the others.

> That is, unless macports updated JStrack and every other Tcl/Tk script on
> my Mac to work with Tcl/Tk 8.6.  Hmmm, that would actually be nice.  I'll
> tell my JStrack users that, thanks to macports, JStrack is now supported
> by Tcl/Tk 8.6.x, and that there is no longer any need to keep the (very)
> old Tcl/Tk 8.4.x hanging around once I port the new version (hey, I
> didn't even have to touch it to get it modified!).  Cool.  Did the
> upgrade re-write JStrack to use TkImage instead of Img?  Or did it
> install Img for 8.6?  Same question for tcllib, etc.---did it upgrade
> those?

We generally don't fix upstream software, unless it actually cannot run
on OS X without minor patches.

>> So, unless you at no point ran a "port upgrade", nothing magical is
>> happening; this is intended behavior.
> 
> I didn't run a 'port upgrade'

Outdated ports might get updated if you install other ports that depend
on them, although I'm not sure about that. Someone more knowledgable
should verify/dispute this.

> ... would this have prevented it from uninstalling Tcl/Tk 8.5.x?  But
> now, since the macports upgrade upgraded all of my Tcl/Tk stuff
> (including JStrack) to support 8.6 before it deleted 8.5.x (which I was
> porting to), who cares....
> 

You should still have tcl @8.5.13 installed but inactive. Try "sudo port
activate tcl @8.5.13". (Or whichever version "port installed tcl" shows
you.)

If it somehow disappeared entirely, you can still get Tcl 8.5 back, with
a bit of hackery.

http://trac.macports.org/wiki/howto/InstallingOlderPort

>> Is wish8.5 part of tk? What version of the tk port do you have
>> activated?
> 
> Ummm, wish **IS** Tk.  :-)   Tcl is tclsh (or tclsh8.x.x) and Tk
> is wish (or wish8.x.x).

Yeah, sorry, I haven't touched Tk since having to endure IDLE while
learning Python. :)

vq



More information about the macports-users mailing list