From: George Koehler Subject: Re: Tcl 9 To: Stuart Cassoff Cc: OpenBSD Ports Date: Mon, 15 Dec 2025 20:36:20 -0500 On Thu, 4 Dec 2025 15:07:02 -0500 (EST) Stuart Cassoff wrote: > Back to 9, with fresh freshness. ok gkoehler@ I installed this lang/tcl/9 and x11/tk/9 on powerpc, then tried wish9 by copying a short example from the internet. I also experimented with databases/sqlite3-tcl, locally editing it to have "MODTCL_VERSION = 9". It made libtcl9sqlite3510.so (instead of libsqlite3510.so), so I also edited its PLIST. This allowed tclsh9 to "package require sqlite3"; then I tried it by copying a short example from the internet. Both examples (for tk and sqlite3) ran well. --gkoehler > Tk now has a dependency on cups-libs. > I'm not ultra-thrilled with adding dependencies, > but we do get printing! > > Compare version numbers as strings for added strictness, > because (9 == 9.0) but ("9" != "9.0"). > > Hardcode MODTCL_VERSION in tcl.port.mk. > Saves a variable dance and reads easier. > Same for Tk. > > *_SPEC and conflict have no upper bound; > there won't be separate ports for 9.1, etc. > > > Stu > > > > Index: tcl.port.mk > =================================================================== > RCS file: /cvs/ports/lang/tcl/tcl.port.mk,v > diff -u -p -u -p -r1.20 tcl.port.mk > --- tcl.port.mk 4 Dec 2025 19:07:05 -0000 1.20 > +++ tcl.port.mk 4 Dec 2025 19:08:28 -0000 > @@ -2,12 +2,15 @@ CATEGORIES += lang/tcl > > MODTCL_VERSION ?= 8.5 > > -.if ${MODTCL_VERSION} == 8.5 > -_MODTCL_SPEC = tcl->=${MODTCL_VERSION},<8.6 > +.if ${MODTCL_VERSION} == "8.5" > +_MODTCL_SPEC = tcl->=8.5,<8.6 > MODTCL_LIB ?= tcl85 > -.elif ${MODTCL_VERSION} == 8.6 > -_MODTCL_SPEC = tcl->=${MODTCL_VERSION},<8.7 > +.elif ${MODTCL_VERSION} == "8.6" > +_MODTCL_SPEC = tcl->=8.6,<8.7 > MODTCL_LIB ?= tcl86 > +.elif ${MODTCL_VERSION} == "9" > +_MODTCL_SPEC = tcl->=9.0 > +MODTCL_LIB ?= tcl90 > .endif > > MODTCL_BIN ?= ${LOCALBASE}/bin/tclsh${MODTCL_VERSION} > > > > Index: tk.port.mk > =================================================================== > RCS file: /cvs/ports/x11/tk/tk.port.mk,v > diff -u -p -u -p -r1.17 tk.port.mk > --- tk.port.mk 4 Dec 2025 19:07:28 -0000 1.17 > +++ tk.port.mk 4 Dec 2025 19:08:08 -0000 > @@ -7,12 +7,15 @@ CATEGORIES += x11/tk > MODTK_VERSION ?= 8.5 > MODTCL_VERSION ?= ${MODTK_VERSION} > > -.if ${MODTK_VERSION} == 8.5 > -_MODTK_SPEC = tk->=${MODTK_VERSION},<8.6 > +.if ${MODTK_VERSION} == "8.5" > +_MODTK_SPEC = tk->=8.5,<8.6 > MODTK_LIB ?= tk85 > -.elif ${MODTK_VERSION} == 8.6 > -_MODTK_SPEC = tk->=${MODTK_VERSION},<8.7 > +.elif ${MODTK_VERSION} == "8.6" > +_MODTK_SPEC = tk->=8.6,<8.7 > MODTK_LIB ?= tk86 > +.elif ${MODTK_VERSION} == "9" > +_MODTK_SPEC = tk->=9.0 > +MODTK_LIB ?= tk90 > .endif > > MODTK_BIN ?= ${LOCALBASE}/bin/wish${MODTK_VERSION} > > > > > On Tue, 14 Jan 2025, Stuart Cassoff wrote: > > > Tcl 9 was released this year and I'd like to add it to the ports tree soon. > > > > Here's an updated tcl.port.mk and diff. > > > > One thing I'd like is to have "9" instead of "9.0" in files and dirs, like "tclsh9" instead of "tclsh9.0", the port dir itself would be "tcl9". > > A future Tcl 9.1 would simply replace any 9.0. > > I think it would be good/possible to just try to have only one Tcl 9, and eventually only one Tcl: 9.