From: Stuart Cassoff Subject: Re: databases/sqlite3-tcl for Tcl 8 and 9 To: OpenBSD Ports Date: Fri, 17 Jul 2026 10:02:06 -0400 On Wed, 8 Jul 2026, Stuart Cassoff wrote: > > On Wed, 8 Jul 2026, Stuart Cassoff wrote: > > On Sun, 5 Jul 2026, Stuart Cassoff wrote: > > > Here is a Tcl 8/9 version of sqlite3-tcl. > Getting there. This is looking pretty good. Bikeshed on the var names. Tcl 8 users can use the flavor and get a working Tcl 8 package, minus the examples, which are shebanged for Tcl 9. The normal (sqlite3-tcl) package will install everything, so people currently using it will now get it for both Tcl 8 and 9. Stu --- /usr/ports/lang/tcl/tcl.port.mk Sun Feb 8 13:36:57 2026 +++ tcl.port.mk Fri Jul 17 09:50:44 2026 @@ -24,6 +24,18 @@ 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_TCL8 = "@comment " +MODTCL_TCL9 = +MODTCL_COMMENT = (Tcl9) +.else +MODTCL_EXTLIB = +MODTCL_TCL8 = +MODTCL_TCL9 = "@comment " +MODTCL_COMMENT = (Tcl8) +.endif # Handle the two most commonly used methods # for starting up executable Tcl scripts. diff -Nurp /usr/ports/databases/sqlite3-tcl/Makefile ./Makefile --- /usr/ports/databases/sqlite3-tcl/Makefile Fri Jun 19 01:49:00 2026 +++ ./Makefile Fri Jul 17 09:28:21 2026 @@ -1,6 +1,6 @@ -COMMENT = Tcl bindings for SQLite3 +COMMENT = Tcl bindings for SQLite3 ${MODTCL_COMMENT} -REVISION = 0 +REVISION = 1 V = 3.53.0 @@ -17,19 +17,14 @@ PERMIT_PACKAGE = Yes WANTLIB = pthread SITES = ${SITE_SOURCEFORGE:=tcl/} - DISTFILES = tclsqlite{sqlite}${V}${EXTRACT_SUFX} MODULES = lang/tcl -MODTCL_VERSION = 9 BUILD_DEPENDS = ${MODTCL_BUILD_DEPENDS} +RUN_DEPENDS = ${MODTCL_RUN_DEPENDS} -RUN_DEPENDS = ${MODTCL_RUN_DEPENDS} \ - lang/tcl/8.6 - FAKE_FLAGS = PKG_DIR=sqlite3 -TEST_FLAGS = TCLSH_PROG=${MODTCL_BIN} SEPARATE_BUILD = Yes CONFIGURE_STYLE = gnu @@ -46,19 +41,29 @@ CFLAGS += -DSQLITE_HAVE_ISNAN=1 \ ALL_TARGET = binaries TEST_TARGET = test -SUBST_VARS = VER +SUBST_VARS = VER MODTCL_EXTLIB MODTCL_TCL8 MODTCL_TCL9 VER = ${V:S/.//g} +FLAVORS = tcl8 +FLAVOR ?= + +.if ${FLAVOR:Mtcl8} +MODTCL_VERSION = 8.6 +INSTALL_TARGET = all install-lib-binaries install-doc +.else +MODTCL_VERSION = 9 +INSTALL_TARGET = all install-lib-binaries install-bin-binaries +RUN_DEPENDS += databases/sqlite3-tcl,tcl8 +TEST_FLAGS = TCLSH_PROG=${MODTCL_BIN} +.endif + +.if ! ${FLAVOR:Mtcl8} pre-configure: @${MODTCL_TCLSH_ADJ} ${WRKSRC}/compat/sqlite3/spaceanal.tcl post-install: - cd ${WRKBUILD} && umask 022 && exec \ - env -i ${MAKE_ENV} ${MAKE_PROGRAM} ${MAKE_FLAGS} \ - -f ${MAKE_FILE} clean ${ALL_TARGET} \ - CPPFLAGS='-DTCL_MAJOR_VERSION=8' \ - PKG_LIB_FILE=libsqlite${VER}.so - ${INSTALL_DATA} ${WRKBUILD}/libsqlite${VER}.so ${DESTDIR}${MODTCL_TCLDIR}/sqlite3/ + rm ${WRKINST}${MODTCL_TCLDIR}/sqlite3/pkgIndex.tcl +.endif .include diff -Nurp /usr/ports/databases/sqlite3-tcl/pkg/PLIST ./pkg/PLIST --- /usr/ports/databases/sqlite3-tcl/pkg/PLIST Fri Jun 19 01:49:00 2026 +++ ./pkg/PLIST Fri Jul 17 09:24:27 2026 @@ -1,8 +1,8 @@ +@option no-default-conflict @pkgpath databases/sqlite3,-tcl -lib/tcl/sqlite3/ -@so lib/tcl/sqlite3/libsqlite${VER}.so -@so lib/tcl/sqlite3/libtcl9sqlite${VER}.so -lib/tcl/sqlite3/pkgIndex.tcl -@man man/mann/sqlite3.n -share/examples/sqlite3-tcl/ -share/examples/sqlite3-tcl/sqlite3_analyzer +${MODTCL_TCL8}lib/tcl/sqlite3/ +@so lib/tcl/sqlite3/lib${MODTCL_EXTLIB}sqlite${VER}.so +${MODTCL_TCL8}lib/tcl/sqlite3/pkgIndex.tcl +${MODTCL_TCL8}@man man/mann/sqlite3.n +${MODTCL_TCL9}share/examples/sqlite3-tcl/ +${MODTCL_TCL9}share/examples/sqlite3-tcl/sqlite3_analyzer