Tcl versions with threads enabled
Gustaf Neumann
neumann at wu.ac.at
Mon Feb 6 08:15:01 PST 2012
Am 05.02.12 23:29, schrieb Ryan Schmidt:
>> three weeks ago, i asked on macports-users how to proceed in cases where ports depending on Tcl with thread support should be realized. From my distant view, there are three options:
>>
>> a) port variants (no good idea, since we can't have dependencies on these)
>> b) making tcl threaded by default (my personal favorite, other tcl unix distros went this way)
> If that doesn't cause any problems for any ports using Tcl, then that seems easiest.
Is there any decision process in this regard on the way?
Should i simply wait a few weeks and bring this topic up again?
Or should i open a ticket, and submit a patch for the tcl portfile?
>> Other usages of subports i have seen are for version number management.
> Like what? I've not seen that.
>
> Currently subports are primarily used to offer multiple versions of each python module -- one for each version of python -- but the version number of the module usually remains the same. Same for each perl module -- one subport for each version of perl.
i have looked at subport usages in the python Portfiles; this is what i
called "version number management".
>> Currently there is just a "tcl" port, no tcl8.4, tcl8.5 or tcl 8.6 port.
> Correct; it was hoped that any software not compatible with tcl 8.5 would be updated soon to be compatible.
most but not all packages can be simply recompiled for tcl 8.5, some
require at least changes in the portfiles (e.g.
https://trac.macports.org/browser/trunk/dports/lang/tclx/Portfile).
> tcl 8.6 appears to be in beta; presumably, when it's finalized, the tcl port will be updated to version 8.6 (and then no port for version 8.5 will remain).
>
> Alternately, we could decide to offer separate ports for each tcl version, like we already do for python and perl, if that is deemed to be useful.
tcl 8.6 is in beta since a while (b1 dec 2009, b2 aug 2011), where the
betas have a very good quality. The best cocoa support for tk is
currently actually in the 8.6 head version in fossil (while the current
tcl/tk port uses the X11 interface). From the survey at the last tcl
conference, most people use Tcl 8.5, some use Tcl 8.6 (some use even
still tcl 8.4).
Unfortunately, i expect more troubles for c-based extensions to upgrade
from tcl 8.5 to 8.6 than for the upgrade from tcl 8.4 to 8.5. One reason
is the NRE machinery (non recursive evaluation, allowing support for
coroutines), which requires trampoline and non-trampoline
implementations for c-functions (see
http://www.tcl.tk/man/tcl8.6/TclLib/NRE.htm). Language level extensions
(like http://next-scripting.org/) require a recompile with the tcl
sources for Tcl 8.6. Furthermore, several people report worse
performance from Tcl 8.6 compared to 8.5.
It looks to me as a good idea to provide in parallel a tcl8.5 and tcl8.6
port + subports for the packages.
Anyhow, currently i would be already much happier with thread support in
tcl 8.5.
-gustaf neumann
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-dev/attachments/20120206/511f62ce/attachment-0001.html>
More information about the macports-dev
mailing list