Re: Tcl extensions for Tcl 8 and 9

Stuart Henderson <[email protected]>
Newsgroups gmane.os.openbsd.ports
Message-ID <1a02f0baf10.288f.545c230b3f27d53b49609e7db70685b8@spacehopper.org>
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 <[email protected]> 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
>>
>>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.