A first step is to set all ports that can't now move to 8.6 to 8.5.
This should be possible to do right now and shouldn't change anything, even
packages.
Once that settles, step two is to manually set all
the 8.6-capable ports to 8.6 with changes like
+MODTCL_VERSION=8.6
and a revision bump.
Once that settles, throwing the big 8.5->8.6 switch may not yield much
fireworks.
This way, the move can be done gradually and any breakage can be
dealt with easier, since it'd be on a port-by-port basis and never
affecting the system as a whole until the end, where the change is miniscule.
If done carefully enough, maybe no one'll notice it happened. ;)
Some ports are hopelessly stuck to 8.5,
some need updates to newer versions and can then move to 8.6,
some I either can't build/test due to lack of resources
(print/texlive/texmf,lang/pypy) or I'm unsure of due to
unfamiliarity or complexity of dependencies.
I've performed a/b tests with many ports normally,
and with MODTCL_VERSION=8.5 in the port and
MODTCL_VERSION=8.6 in tcl.port.mk
(and/or similar vars/files for Tk) and the results are identical.
I've built almost all the ports on amd64 and most of them on i386
and everything looks fine. I've even run a few.
Attached is a tarball with patches and commit messages for all the ports
I've determined at this point need to remain with 8.5.
The patches are all of the nature
+MODTCL_VERSION=8.5
so they're not very interesting.
What follows is my working list for the ports and the commit messages.
Notes:
The 8.4->8.5 gap is much larger than the 8.5->8.6 gap.
Ports will have trouble making the move to 8.6 now mostly
due to C problems like using internals or now-deprecated functionality.
Scripts will feel little to no pain, maybe even some good.
Tcl extensions built against 8.5 (not threaded) should work
fine with 8.6 (threaded) due to Tcl's stub lib mechanism thing,
unles the extensions are a little too pokey with Tcl's innards.
Extensions needing threads are already built against 8.6.
Tcl is very backwards compatible.
There is a change here for Graphviz, for which an update appeared just after
I got done with all this, so that'll have to be worked out, no problemo.
It's a lot but it's not, so hoping for ok's and moving forwards, thanks,
Stu
Working list:
5 audio/snack devel/itcl
5 cad/pcb cad/pcb/patch/configure
5 comms/hamlib unsure,python2.7?
5 databases/sqlite needs 8.5,interp->result, maybe other things
5 devel/itclold,needs internal #includes
5 devel/ltcltk unchanged
5 devel/swigunsure
5 devel/tclcl old,unsure,net/ns,net/nam,lang/otcl
5 devel/tcllib needed by many
5 devel/tklib needed by many
5 devel/vtclold,new 8.6 version exists, can be updated later
5 graphics/tkimgdevel/itcl
5 graphics/tkpngdevel/itcl
5 lang/expect unsure,threads problems?, not tested w/8.6
5 lang/otcl old,needs 8.5 internals,net/ns,net/nam
5 lang/pypy unsure,python2.7
5 lang/ruby/2.3 welded to 8.5. no change
5 math/graphviz needs 8.5, newer version might work with 8.6
5 misc/WordGeneratorx11/iwidgets
5 misc/memchan net/coccinella,devel/itcl
5 net/coccinelladevel/itcl
5 net/nam old,devel/tclcl,lang/otcl,net/ns
5 net/nsold,devel/tclcl,lang/otcl,net/nam
5 net/tcludpnet/coccinella,devel/itcl
5 print/texlive/texmf unsure
5 security/tcltls net/coccinella,devel/itcl
5 x11/byzi only needed in 8.5. no change
5 x11/itk devel/itcl
5 x11/iwidgets devel/itcl,x11/itk
5 x11/ruby-tk welded to 8.5,no change,maybe ok 8.6?
5 x11/tkdnd net/coccinella,devel/itcl
5 x11/tkhtmlnet/coccinella,devel/itcl
5 x11/tktraynet/coccinella,devel/itcl
5 x11/tktreectrlnet/coccinella,devel/itcl
6 audio/xcd
6 cad/tkgate
6 cad/xcircuit
6 comms/tkhylafax
6 databases/pgtcl
6 databases/redis needs Tcl only for tests, tests pass with 8.6
6 databases/sqlite3-tcl
6 devel/fossil
6 devel/git
6 devel/mercurial
6 devel/nagelfar
6 devel/p5-Tcl
6 devel/tclarc4random
6 devel/tkcvs
6 devel/tkdiff
6 emulators/frodo
6 emulators/openmsx
6 geo/gpsbabel
6 graphics/colorexplorer
6 graphics/gocr
6 lang/eltclsh
6 lang/jimtcl
6 lang/obc
6 lang/tcltutor
6 mail/exmh2
6 math/R
6 math/maxima
6 misc/cbb
6 misc/impress
6 misc/remind
6 misc/tkcron
6 misc/tkinfo
6 misc/tkman
6 misc/wordnet
6 net/climm
6 net/netinfo
6 net/ssvnc
6 net/tcl-snmptools -pthread still needed?
6 net/tclcurl -pthread still needed?
6 net/tkabber/base
6 net/tkirc
6 net/weechat REVISION-tcl ok?
6 productivity/sl
6 security/password-gorilla
6 security/tclgpg
6 sysutils/libisoburn REVISION-tcltk ok?
6 sysutils/tkdvd
6 telephony/iaxclient looks ok with 8.6
6 textproc/TclXML
6 textproc/boust
6 textproc/catdoc only subpackage wordview needs Tk. runs ok in 8.6