Re: Tcl extensions for Tcl 8 and 9
Stuart Cassoff <[email protected]>
| Newsgroups | gmane.os.openbsd.ports |
|---|---|
| Message-ID | <[email protected]> |
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
>
>