Index | Thread | Search

From:
Stuart Henderson <stu@spacehopper.org>
Subject:
Re: Tcl extensions for Tcl 8 and 9
To:
Stuart Cassoff <exokoide@yahoo.ca>, OpenBSD Ports <ports@openbsd.org>
Date:
Sun, 23 Aug 2026 15:34:50 +0100

Download raw body.

Thread
seems ok, let's give it a go, if we find we need something else or it's too 
hard to work with we can change it

-- 
  Sent from a phone, apologies for poor formatting.

On 22 August 2026 14:33:59 Stuart Cassoff <exokoide@yahoo.ca> wrote:

> Hi, I'd like to know if I'm on the right track with this.
> To me it looks good; I'm quite pleased with how it turned out.
> I'd like to finish this up and get some ports working with Tcl 8/9.
>
>
> Stu
>
>
> On Fri, 7 Aug 2026, Stuart Cassoff wrote:
>
>> On Wed, 8 Jul 2026, Stuart Henderson wrote:
>> > An important part of this is that where you have a file where the
>> > names differ for Tcl8/Tcl9 but it's broadly equivalent (i.e. the
>> > loadable .so, or the linkable library), it's represented by a
>> > single PLIST entry that uses variables to expand to the relevant
>> > filename for the current flavour.
>> >
>> > You just want to have an @comment/"" variable to 'turn off' the
>> > files that you don't want in one of the flavours, rather than using
>> > them for "either/or" lines in PLISTs.
>> >
>> > That way you just need to make sure you're using the correct flavour
>> > (presumably Tcl9) which includes pkgIndex etc when you generate the
>> > PLIST, and life is much much easier for updates/new ports. Otherwise
>> > you need to reinstate the lines for the other of the "either/or"
>> > options (or deal with a PLIST and a couple of PFRAG files).
>> >
>>
>> The comment var might be too much.
>>
>>
>>
>> New variables for Tcl 8/9 ports.
>>
>>
>>
>> Index: tcl.port.mk
>> ===================================================================
>> RCS file: /cvs/ports/lang/tcl/tcl.port.mk,v
>> diff -u -p -u -p -r1.22 tcl.port.mk
>> --- tcl.port.mk	16 Mar 2026 15:44:31 -0000	1.22
>> +++ tcl.port.mk	7 Aug 2026 14:11:30 -0000
>> @@ -24,6 +24,18 @@ MODTCL_RUN_DEPENDS ?=	${_MODTCL_SPEC}:la
>>  MODTCL_LIB_DEPENDS ?=	${_MODTCL_SPEC}:lang/tcl/${MODTCL_VERSION}
>>  MODTCL_WANTLIB ?= 	${MODTCL_LIB}
>>
>> +# For Tcl 8/9 ports.
>> +.if "${MODTCL_VERSION}" == "9"
>> +MODTCL_EXTLIB =		tcl9
>> +MODTCL_EXT8 =		"@comment "
>> +MODTCL_EXT9 =
>> +MODTCL_COMMENT =	(Tcl9)
>> +.else
>> +MODTCL_EXTLIB =
>> +MODTCL_EXT8 =
>> +MODTCL_EXT9 =		"@comment "
>> +MODTCL_COMMENT =	(Tcl8)
>> +.endif
>>
>>  # Handle the two most commonly used methods
>>  # for starting up executable Tcl scripts.
>>
>>
>>
>>
>> Index: port-modules.5
>> ===================================================================
>> RCS file: /cvs/src/share/man/man5/port-modules.5,v
>> diff -u -p -u -p -r1.286 port-modules.5
>> --- port-modules.5	25 Jun 2026 07:30:43 -0000	1.286
>> +++ port-modules.5	7 Aug 2026 14:11:51 -0000
>> @@ -1097,6 +1097,14 @@ Sets
>>  .Ev MODTCL_LIB_DEPENDS ,
>>  and
>>  .Ev MODTCL_LIB .
>> +Also sets
>> +.Ev MODTCL_EXTLIB ,
>> +.Ev MODTCL_EXT8 ,
>> +.Ev MODTCL_EXT9 ,
>> +and
>> +.Ev MODTCL_COMMENT ,
>> +for Tcl 8/9 ports.
>> +See textproc/tdom and x11/dbus-tcl.
>>  .Ev MODTCL_VERSION
>>  is the default version used by all Tcl ports and may be overridden.
>>  Provides
>>
>>