Re: Change default Tcl to 8.6

2018-07-28 Thread Stuart Cassoff
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

Change default Tcl to 8.6

2018-07-21 Thread Stuart Cassoff
Tcl extensions built with 8.5 can be used with 8.6.

I've gone over the Makefiles, PLISTs, patches, and files of the ports listed.
Attached is a tarball with a diff and a copy of the list.
I tried to keep to the style of each Makefile.

6's are ports moved to 8.6. A few have comments.
5's are ports that for now are staying at 8.5 for reasons.

Reasons are comma-separated lists of ports (dependencies),
files (something in them), or comments why the port remained at 8.5.

I'm unsure of some ports due to either dependencies or suspicions (python).

Itcl/Itk are old and need Tcl's "internal" includes.
I have ports in progress for the newer versions that use 8.6.
When Itcl/Itk move to 8.6 a few more can follow.

I haven't built anything yet! I'll be starting on i386 and amd64 in about 1/2 
day.
Ports upgraded are ports I'm confident will be ok, or I highly suspect will be 
ok.
Any port not working can simply be slammed back down to 8.5.
Many of these ports aren't mine, so I'm not sure how to proceed.

Stu

5 audio/snack   devel/itcl
5 cad/pcb   cad/pcb/patch/configure
5 comms/hamlib  unsure
5 databases/redis   unsure
5 databases/sqlite  old,unsure
5 devel/itclold,needs internal #includes
5 devel/ltcltk  unchanged
5 devel/swigunsure
5 devel/tclcl   old,unsure,net/ns,net/nam
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?
5 lang/otcl old,unsure,net/ns,net/nam
5 lang/pypy unsure
5 lang/ruby/2.3 lang/ruby/2.3/Makefile
5 math/graphviz unsure
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 sysutils/findlib  unsure,devel/cil,devel/coccinelle
5 telephony/iaxclient   unsure
5 textproc/catdoc   
unsure,devel/kf5/kfilemetadata,-main,mail/kopano/core,-main
5 x11/byzi  only needed in 8.5
5 x11/itk   devel/itcl
5 x11/iwidgets  devel/itcl,x11/itk
5 x11/ruby-tk   x11/ruby-tk/Makefile
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/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 textproc/TclXML
6 textproc/boust
6 x11/dbus-intf
6 x11/dbus-tcl
6 x11/p5-Tkx
6 x11/tkcon
6 x11/tktable
6 x11/x11vnc
6 x11/xbindkeys


uptcl86.tar.gz
Description: application/gzip