Index: Makefile =================================================================== RCS file: /cvsroot/pkgsrc/lang/tcl/Makefile,v retrieving revision 1.135 diff -u -r1.135 Makefile --- Makefile 2 Jul 2025 16:58:37 -0000 1.135 +++ Makefile 15 Jul 2025 08:24:23 -0000 @@ -1,8 +1,7 @@ -# $NetBSD: Makefile,v 1.135 2025/07/02 16:58:37 jperkin Exp $ +# $NetBSD: Makefile,v 1.1 2025/03/05 02:13:13 scole Exp $ DISTNAME= tcl${TCL_VERSION}-src PKGNAME= tcl-${TCL_VERSION} -PKGREVISION= 3 CATEGORIES= lang MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=tcl/} @@ -13,18 +12,22 @@ .include "../../lang/tcl/Makefile.version" +MAKE_JOBS_SAFE= no + WRKSRC= ${WRKDIR}/tcl${TCL_VERSION} USE_GCC_RUNTIME= yes - GNU_CONFIGURE= yes -GNU_CONFIGURE_STRICT= no # because of the nested itcl4.1.2 +GNU_CONFIGURE_STRICT= no # because of the nested itcl CONFIGURE_DIRS= unix BUILD_DIRS= ${CONFIGURE_DIRS} INSTALL_TARGET= install CONFIGURE_ARGS+= --without-tzdata +CONFIGURE_ARGS+= --enable-zipfs +TOOL_DEPENDS+= zip-[0-9]*:../../archivers/zip + PKGCONFIG_OVERRIDE+= unix/tcl.pc.in CHECK_PORTABILITY_SKIP= win/configure @@ -34,14 +37,6 @@ .include "options.mk" -# This is needed for SGI and maybe sun (according to tcl developers) -.if defined(ABI) && ${ABI} == "64" && !${MACHINE_PLATFORM:MDarwin-*-aarch64} -CONFIGURE_ARGS+= --enable-64bit -.endif - -CONFIGURE_ARGS.NetBSD+= ac_cv_func_gethostbyname_r=no -CONFIGURE_ARGS.NetBSD+= ac_cv_func_gethostbyaddr_r=no - SUBST_CLASSES+= tcl-config SUBST_STAGE.tcl-config= post-build SUBST_FILES.tcl-config= unix/tclConfig.sh @@ -66,7 +61,6 @@ PLIST_SUBST+= TDBC_VERSION=${TDBC_VERSION} PLIST_SUBST+= THREAD_VERSION=${THREAD_VERSION} -CONFIGURE_ARGS+= --with-system-sqlite SUBST_CLASSES+= sqllink SUBST_STAGE.sqllink= pre-configure SUBST_FILES.sqllink= pkgs/sqlite${SQLITE3_VERSION}/configure @@ -75,6 +69,31 @@ # install-sh requires $SHELL is an extremely close match to /bin/sh MAKE_ENV+= SHELL=${SH:Q} +# xxx software that comes with the tcl distribution, could put be put +# in their own individual pkgsrc packages if they aren't already there +EMB_SRC= itcl-4.3.2 sqlite-3.47.2 tdbc-1.1.10 tdbcmysql-1.1.10 \ + tdbcodbc-1.1.10 tdbcpostgres-1.1.10 tdbcsqlite-3-1.1.10 \ + thread-3.0.1 +# xxx maybe add some kind of rule in mk/pkgformat/pkg/check.mk for +# something like +# ${CHECK_BUNDLED_PKG_VULNERABILITIES} ${EMB_SRC} +# or +# ${AUDIT_PACKAGE} itcl-4.3.2 +# +# other packages have this issue as well (e.g. ../graphics/tkImg) +VFILE= ${_EXTRACT_PKGVULNDIR:sh}/pkg-vulnerabilities +pre-fetch: +.if exists(${VFILE}) +. if ${ALLOW_VULNERABLE_PACKAGES:tl:Uno} == no + for i in ${EMB_SRC}; do \ + ${PKG_ADMIN} audit-pkg $$i || \ + { ${FAIL_MSG} "embedded source $$i has vulnerabilities. "\ + "Define ALLOW_VULNERABLE_PACKAGES if necessary"; \ + exit 1; } \ + done +. endif +.endif + .if ${OPSYS} == "Darwin" post-build: . for lib in itcl${ITCL_VERSION}/libitcl${ITCL_VERSION}.dylib \ @@ -83,15 +102,28 @@ tdbcmysql${TDBC_VERSION}/libtdbcmysql${TDBC_VERSION}.dylib \ tdbcodbc${TDBC_VERSION}/libtdbcodbc${TDBC_VERSION}.dylib \ tdbcpostgres${TDBC_VERSION}/libtdbcpostgres${TDBC_VERSION}.dylib \ + tdbcsqlite${TDBC_VERSION}/libtdbcsqlite${TDBC_VERSION}.dylib \ thread${THREAD_VERSION}/libthread${THREAD_VERSION}.dylib install_name_tool -id ${PREFIX}/lib/${lib} ${WRKSRC}/unix/pkgs/${lib} . endfor .endif post-install: - cd ${DESTDIR}${PREFIX}/${PKGMANDIR}/man3 && mv Thread.3 Tcl_Thread.3 + cd ${WRKSRC}/unix && ${MAKE} \ + BIN_INSTALL_DIR=${DESTDIR}${PREFIX}/bin \ + LIB_INSTALL_DIR=${DESTDIR}${PREFIX}/lib \ + CONFIG_INSTALL_DIR=${DESTDIR}${PREFIX}/lib \ + SCRIPT_INSTALL_DIR=${DESTDIR}${PREFIX}/lib/tcl${TCL_BASEVER} \ + INCLUDE_INSTALL_DIR=${DESTDIR}${PREFIX}/include \ + PRIVATE_INCLUDE_INSTALL_DIR=${DESTDIR}${PREFIX}/include \ + MAN_INSTALL_DIR=${DESTDIR}${PREFIX}/${PKGMANDIR} \ + install-binaries install-libraries install-headers \ + install-private-headers install-msgs + cd ${DESTDIR}${PREFIX}/bin && ${LN} -fs tclsh${TCL_BASEVER} tclsh + cd ${DESTDIR}${PREFIX}/${PKGMANDIR}/man3 && ${MV} Thread.3 Tcl_Thread.3 -BUILDLINK_API_DEPENDS.sqlite3+= sqlite3>=${SQLITE3_VERSION} +BUILDLINK_API_DEPENDS.sqlite3+= sqlite3>=${SQLITE3_VERSION} .include "../../databases/sqlite3/buildlink3.mk" .include "../../devel/zlib/buildlink3.mk" +.include "../../mk/pthread.buildlink3.mk" .include "../../mk/bsd.pkg.mk" Index: Makefile.version =================================================================== RCS file: /cvsroot/pkgsrc/lang/tcl/Makefile.version,v retrieving revision 1.32 diff -u -r1.32 Makefile.version --- Makefile.version 27 Jan 2025 13:59:46 -0000 1.32 +++ Makefile.version 15 Jul 2025 08:24:23 -0000 @@ -1,15 +1,15 @@ -# $NetBSD: Makefile.version,v 1.32 2025/01/27 13:59:46 wiz Exp $ +# $NetBSD: Makefile.version,v 1.1 2025/03/05 06:28:19 scole Exp $ # used by cad/xcircuit/Makefile # used by devel/tcl-tclcl/Makefile # used by lang/tcl/Makefile # used by lang/tcl-otcl/Makefile -TCL_SONUM= 86 -TCL_BASEVER= 8.6 -TCL_VERSION= 8.6.16 +TCL_SONUM= 90 +TCL_BASEVER= 9.0 +TCL_VERSION= 9.0.1 # Update bundled versions in lang/tcl/buildlink3.mk ITCL_VERSION= 4.3.2 SQLITE3_VERSION= 3.47.2 TDBC_VERSION= 1.1.10 -THREAD_VERSION= 2.8.11 +THREAD_VERSION= 3.0.1 Index: PLIST =================================================================== RCS file: /cvsroot/pkgsrc/lang/tcl/PLIST,v retrieving revision 1.33 diff -u -r1.33 PLIST --- PLIST 25 Jan 2025 21:29:25 -0000 1.33 +++ PLIST 15 Jul 2025 08:24:23 -0000 @@ -1,4 +1,4 @@ -@comment $NetBSD: PLIST,v 1.33 2025/01/25 21:29:25 adam Exp $ +@comment $NetBSD: PLIST,v 1.1 2025/03/05 06:28:37 scole Exp $ bin/sqlite3_analyzer bin/tclsh bin/tclsh${BASEVER} @@ -16,40 +16,20 @@ include/odbcStubs.h include/pqStubs.h include/tcl.h -include/tcl/generic/regcustom.h -include/tcl/generic/regerrs.h -include/tcl/generic/regex.h -include/tcl/generic/regguts.h -include/tcl/generic/tcl.h -include/tcl/generic/tclCompile.h -include/tcl/generic/tclDecls.h -include/tcl/generic/tclFileSystem.h -include/tcl/generic/tclIO.h -include/tcl/generic/tclInt.h -include/tcl/generic/tclIntDecls.h -include/tcl/generic/tclIntPlatDecls.h -include/tcl/generic/tclOO.h -include/tcl/generic/tclOODecls.h -include/tcl/generic/tclOOInt.h -include/tcl/generic/tclOOIntDecls.h -include/tcl/generic/tclParse.h -include/tcl/generic/tclPlatDecls.h -include/tcl/generic/tclPort.h -include/tcl/generic/tclRegexp.h -include/tcl/generic/tclStringRep.h -include/tcl/generic/tclStringTrim.h -include/tcl/generic/tclTomMath.h -include/tcl/generic/tclTomMathDecls.h -include/tcl/generic/tclTomMathInt.h -include/tcl/generic/tommath.h -include/tcl/unix/tclUnixPort.h -include/tcl/unix/tclUnixThrd.h -include/tcl/unix/tclUuid.h include/tclDecls.h +include/tclInt.h +include/tclIntDecls.h +include/tclIntPlatDecls.h include/tclOO.h include/tclOODecls.h +include/tclOOInt.h +include/tclOOIntDecls.h include/tclPlatDecls.h +include/tclPort.h include/tclThread.h +include/tclTomMath.h +include/tclTomMathDecls.h +include/tclUnixPort.h include/tdbc.h include/tdbcDecls.h include/tdbcInt.h @@ -59,16 +39,21 @@ lib/itcl${ITCL_VERSION}/itclWidget.tcl lib/itcl${ITCL_VERSION}/libitcl${ITCL_VERSION}.so lib/itcl${ITCL_VERSION}/libitclstub${ITCL_VERSION}.a +lib/itcl${ITCL_VERSION}/libitclstub.a +lib/itcl${ITCL_VERSION}/libtcl9itcl${ITCL_VERSION}.so lib/itcl${ITCL_VERSION}/pkgIndex.tcl -lib/libtcl${SONUM}.a -lib/libtcl${SONUM}.so -lib/libtcl${SONUM}.so.1.0 -lib/libtclstub${SONUM}.a +lib/libtcl${BASEVER}.so +lib/libtclstub.a lib/pkgconfig/tcl.pc lib/sqlite${SQLITE3_VERSION}/libsqlite${SQLITE3_VERSION}.so +lib/sqlite${SQLITE3_VERSION}/libtcl9sqlite${SQLITE3_VERSION}.so lib/sqlite${SQLITE3_VERSION}/pkgIndex.tcl lib/tcl${BASEVER}/auto.tcl lib/tcl${BASEVER}/clock.tcl +lib/tcl${BASEVER}/cookiejar0.2/cookiejar.tcl +lib/tcl${BASEVER}/cookiejar0.2/idna.tcl +lib/tcl${BASEVER}/cookiejar0.2/pkgIndex.tcl +lib/tcl${BASEVER}/cookiejar0.2/public_suffix_list.dat.gz lib/tcl${BASEVER}/encoding/ascii.enc lib/tcl${BASEVER}/encoding/big5.enc lib/tcl${BASEVER}/encoding/cns11643.enc @@ -151,10 +136,11 @@ lib/tcl${BASEVER}/encoding/shiftjis.enc lib/tcl${BASEVER}/encoding/symbol.enc lib/tcl${BASEVER}/encoding/tis-620.enc +lib/tcl${BASEVER}/foreachline.tcl lib/tcl${BASEVER}/history.tcl -lib/tcl${BASEVER}/http1.0/http.tcl -lib/tcl${BASEVER}/http1.0/pkgIndex.tcl +lib/tcl${BASEVER}/icu.tcl lib/tcl${BASEVER}/init.tcl +lib/tcl${BASEVER}/install.tcl lib/tcl${BASEVER}/msgs/af.msg lib/tcl${BASEVER}/msgs/af_za.msg lib/tcl${BASEVER}/msgs/ar.msg @@ -286,42 +272,52 @@ lib/tcl${BASEVER}/opt0.4/pkgIndex.tcl lib/tcl${BASEVER}/package.tcl lib/tcl${BASEVER}/parray.tcl +lib/tcl${BASEVER}/readfile.tcl lib/tcl${BASEVER}/safe.tcl lib/tcl${BASEVER}/tclAppInit.c lib/tcl${BASEVER}/tclIndex lib/tcl${BASEVER}/tm.tcl lib/tcl${BASEVER}/word.tcl -lib/tcl8/${BASEVER}/http-2.9.8.tm -lib/tcl8/${BASEVER}/tdbc/sqlite3-${TDBC_VERSION}.tm -lib/tcl8/${BASEVER}/tdbc/sqlite3-${TDBC_VERSION}.uuid -lib/tcl8/8.4/platform-1.0.19.tm -lib/tcl8/8.4/platform/shell-1.1.4.tm -lib/tcl8/8.5/msgcat-1.6.1.tm -lib/tcl8/8.5/tcltest-2.5.9.tm +lib/tcl${BASEVER}/writefile.tcl +lib/tcl9/${BASEVER}/http-2.10.0.tm +lib/tcl9/${BASEVER}/msgcat-1.7.1.tm +lib/tcl9/${BASEVER}/platform-1.0.19.tm +lib/tcl9/${BASEVER}/platform/shell-1.1.4.tm +lib/tcl9/${BASEVER}/tcltest-2.5.9.tm +lib/tcl9/${BASEVER}/tdbc/sqlite3-${TDBC_VERSION}.tm +lib/tcl9/${BASEVER}/tdbc/sqlite3-${TDBC_VERSION}.uuid lib/tclConfig.sh lib/tclooConfig.sh +lib/tdbc${TDBC_VERSION}/libtcl9tdbc${TDBC_VERSION}.so lib/tdbc${TDBC_VERSION}/libtdbc${TDBC_VERSION}.so lib/tdbc${TDBC_VERSION}/libtdbcstub${TDBC_VERSION}.a +lib/tdbc${TDBC_VERSION}/libtdbcstub.a lib/tdbc${TDBC_VERSION}/pkgIndex.tcl lib/tdbc${TDBC_VERSION}/tdbc.tcl lib/tdbc${TDBC_VERSION}/tdbcConfig.sh +lib/tdbcmysql${TDBC_VERSION}/libtcl9tdbcmysql${TDBC_VERSION}.so lib/tdbcmysql${TDBC_VERSION}/libtdbcmysql${TDBC_VERSION}.so lib/tdbcmysql${TDBC_VERSION}/pkgIndex.tcl lib/tdbcmysql${TDBC_VERSION}/tdbcmysql.tcl +lib/tdbcodbc${TDBC_VERSION}/libtcl9tdbcodbc${TDBC_VERSION}.so lib/tdbcodbc${TDBC_VERSION}/libtdbcodbc${TDBC_VERSION}.so lib/tdbcodbc${TDBC_VERSION}/pkgIndex.tcl lib/tdbcodbc${TDBC_VERSION}/tdbcodbc.tcl +lib/tdbcpostgres${TDBC_VERSION}/libtcl9tdbcpostgres${TDBC_VERSION}.so lib/tdbcpostgres${TDBC_VERSION}/libtdbcpostgres${TDBC_VERSION}.so lib/tdbcpostgres${TDBC_VERSION}/pkgIndex.tcl lib/tdbcpostgres${TDBC_VERSION}/tdbcpostgres.tcl -lib/thread${THREAD_VERSION}/libthread${THREAD_VERSION}.so +lib/thread${THREAD_VERSION}/libtcl9thread${THREAD_VERSION}.so lib/thread${THREAD_VERSION}/pkgIndex.tcl -lib/thread${THREAD_VERSION}/ttrace.tcl man/man1/tclsh.1 man/man3/DString.3 man/man3/Notifier.3 man/man3/RegExp.3 man/man3/TCL_MEM_DEBUG.3 +man/man3/TclZipfs_AppHook.3 +man/man3/TclZipfs_Mount.3 +man/man3/TclZipfs_MountBuffer.3 +man/man3/TclZipfs_Unmount.3 man/man3/Tcl_Access.3 man/man3/Tcl_AddErrorInfo.3 man/man3/Tcl_AddObjErrorInfo.3 @@ -339,23 +335,22 @@ man/man3/Tcl_AppendObjToObj.3 man/man3/Tcl_AppendPrintfToObj.3 man/man3/Tcl_AppendResult.3 -man/man3/Tcl_AppendResultVA.3 man/man3/Tcl_AppendStringsToObj.3 -man/man3/Tcl_AppendStringsToObjVA.3 man/man3/Tcl_AppendToObj.3 man/man3/Tcl_AppendUnicodeToObj.3 man/man3/Tcl_AsyncCreate.3 man/man3/Tcl_AsyncDelete.3 man/man3/Tcl_AsyncInvoke.3 man/man3/Tcl_AsyncMark.3 +man/man3/Tcl_AsyncMarkFromSignal.3 man/man3/Tcl_AsyncReady.3 man/man3/Tcl_AttemptAlloc.3 man/man3/Tcl_AttemptRealloc.3 man/man3/Tcl_AttemptSetObjLength.3 man/man3/Tcl_BackgroundError.3 man/man3/Tcl_BackgroundException.3 -man/man3/Tcl_Backslash.3 man/man3/Tcl_BadChannelOption.3 +man/man3/Tcl_BounceRefCount.3 man/man3/Tcl_CallWhenDeleted.3 man/man3/Tcl_CancelEval.3 man/man3/Tcl_CancelIdleCall.3 @@ -363,7 +358,6 @@ man/man3/Tcl_ChannelBlockModeProc.3 man/man3/Tcl_ChannelBuffered.3 man/man3/Tcl_ChannelClose2Proc.3 -man/man3/Tcl_ChannelCloseProc.3 man/man3/Tcl_ChannelFlushProc.3 man/man3/Tcl_ChannelGetHandleProc.3 man/man3/Tcl_ChannelGetOptionProc.3 @@ -371,13 +365,14 @@ man/man3/Tcl_ChannelInputProc.3 man/man3/Tcl_ChannelName.3 man/man3/Tcl_ChannelOutputProc.3 -man/man3/Tcl_ChannelSeekProc.3 man/man3/Tcl_ChannelSetOptionProc.3 man/man3/Tcl_ChannelThreadActionProc.3 man/man3/Tcl_ChannelTruncateProc.3 man/man3/Tcl_ChannelVersion.3 man/man3/Tcl_ChannelWatchProc.3 man/man3/Tcl_ChannelWideSeekProc.3 +man/man3/Tcl_Char16Len.3 +man/man3/Tcl_Char16ToUtfDString.3 man/man3/Tcl_Chdir.3 man/man3/Tcl_ClassGetMetadata.3 man/man3/Tcl_ClassSetConstructor.3 @@ -392,6 +387,7 @@ man/man3/Tcl_ConditionFinalize.3 man/man3/Tcl_ConditionNotify.3 man/man3/Tcl_ConditionWait.3 +man/man3/Tcl_ConsolePanic.3 man/man3/Tcl_ConvertCountedElement.3 man/man3/Tcl_ConvertElement.3 man/man3/Tcl_ConvertToType.3 @@ -410,11 +406,11 @@ man/man3/Tcl_CreateFileHandler.3 man/man3/Tcl_CreateHashEntry.3 man/man3/Tcl_CreateInterp.3 -man/man3/Tcl_CreateMathFunc.3 man/man3/Tcl_CreateNamespace.3 man/man3/Tcl_CreateObjCommand.3 +man/man3/Tcl_CreateObjCommand2.3 man/man3/Tcl_CreateObjTrace.3 -man/man3/Tcl_CreateSlave.3 +man/man3/Tcl_CreateObjTrace2.3 man/man3/Tcl_CreateThread.3 man/man3/Tcl_CreateThreadExitHandler.3 man/man3/Tcl_CreateTimerHandler.3 @@ -430,7 +426,7 @@ man/man3/Tcl_DStringResult.3 man/man3/Tcl_DStringSetLength.3 man/man3/Tcl_DStringStartSublist.3 -man/man3/Tcl_DStringTrunc.3 +man/man3/Tcl_DStringToObj.3 man/man3/Tcl_DStringValue.3 man/man3/Tcl_DecrRefCount.3 man/man3/Tcl_DeleteAssocData.3 @@ -461,7 +457,6 @@ man/man3/Tcl_DictObjRemoveKeyList.3 man/man3/Tcl_DictObjSize.3 man/man3/Tcl_DiscardInterpState.3 -man/man3/Tcl_DiscardResult.3 man/man3/Tcl_DoOneEvent.3 man/man3/Tcl_DoWhenIdle.3 man/man3/Tcl_DontCallWhenDeleted.3 @@ -475,7 +470,6 @@ man/man3/Tcl_EvalFile.3 man/man3/Tcl_EvalObjEx.3 man/man3/Tcl_EvalObjv.3 -man/man3/Tcl_EvalTokens.3 man/man3/Tcl_EvalTokensStandard.3 man/man3/Tcl_EventuallyFree.3 man/man3/Tcl_Exit.3 @@ -492,6 +486,7 @@ man/man3/Tcl_ExprString.3 man/man3/Tcl_ExternalToUtf.3 man/man3/Tcl_ExternalToUtfDString.3 +man/man3/Tcl_ExternalToUtfDStringEx.3 man/man3/Tcl_FSAccess.3 man/man3/Tcl_FSChdir.3 man/man3/Tcl_FSConvertToPathType.3 @@ -531,9 +526,11 @@ man/man3/Tcl_FSRenameFile.3 man/man3/Tcl_FSSplitPath.3 man/man3/Tcl_FSStat.3 +man/man3/Tcl_FSTildeExpand.3 man/man3/Tcl_FSUnloadFile.3 man/man3/Tcl_FSUnregister.3 man/man3/Tcl_FSUtime.3 +man/man3/Tcl_FetchInternalRep.3 man/man3/Tcl_Finalize.3 man/man3/Tcl_FinalizeNotifier.3 man/man3/Tcl_FinalizeThread.3 @@ -549,18 +546,19 @@ man/man3/Tcl_Format.3 man/man3/Tcl_Free.3 man/man3/Tcl_FreeEncoding.3 +man/man3/Tcl_FreeInternalRep.3 man/man3/Tcl_FreeParse.3 -man/man3/Tcl_FreeResult.3 man/man3/Tcl_GetAccessTimeFromStat.3 -man/man3/Tcl_GetAlias.3 man/man3/Tcl_GetAliasObj.3 man/man3/Tcl_GetAssocData.3 man/man3/Tcl_GetBignumFromObj.3 man/man3/Tcl_GetBlockSizeFromStat.3 man/man3/Tcl_GetBlocksFromStat.3 +man/man3/Tcl_GetBoolFromObj.3 man/man3/Tcl_GetBoolean.3 man/man3/Tcl_GetBooleanFromObj.3 man/man3/Tcl_GetByteArrayFromObj.3 +man/man3/Tcl_GetBytesFromObj.3 man/man3/Tcl_GetChangeTimeFromStat.3 man/man3/Tcl_GetChannel.3 man/man3/Tcl_GetChannelBufferSize.3 @@ -586,7 +584,6 @@ man/man3/Tcl_GetCurrentNamespace.3 man/man3/Tcl_GetCurrentThread.3 man/man3/Tcl_GetCwd.3 -man/man3/Tcl_GetDefaultEncodingDir.3 man/man3/Tcl_GetDeviceTypeFromStat.3 man/man3/Tcl_GetDouble.3 man/man3/Tcl_GetDoubleFromObj.3 @@ -614,17 +611,18 @@ man/man3/Tcl_GetIndexFromObj.3 man/man3/Tcl_GetIndexFromObjStruct.3 man/man3/Tcl_GetInt.3 +man/man3/Tcl_GetIntForIndex.3 man/man3/Tcl_GetIntFromObj.3 man/man3/Tcl_GetInterpPath.3 man/man3/Tcl_GetLinkCountFromStat.3 man/man3/Tcl_GetLongFromObj.3 -man/man3/Tcl_GetMaster.3 -man/man3/Tcl_GetMathFuncInfo.3 man/man3/Tcl_GetMemoryInfo.3 man/man3/Tcl_GetModeFromStat.3 man/man3/Tcl_GetModificationTimeFromStat.3 man/man3/Tcl_GetNameOfExecutable.3 man/man3/Tcl_GetNamespaceUnknownHandler.3 +man/man3/Tcl_GetNumber.3 +man/man3/Tcl_GetNumberFromObj.3 man/man3/Tcl_GetObjResult.3 man/man3/Tcl_GetObjType.3 man/man3/Tcl_GetObjectAsClass.3 @@ -640,7 +638,6 @@ man/man3/Tcl_GetReturnOptions.3 man/man3/Tcl_GetServiceMode.3 man/man3/Tcl_GetSizeFromStat.3 -man/man3/Tcl_GetSlave.3 man/man3/Tcl_GetStackedChannel.3 man/man3/Tcl_GetStartupScript.3 man/man3/Tcl_GetStdChannel.3 @@ -659,10 +656,12 @@ man/man3/Tcl_GetVar2Ex.3 man/man3/Tcl_GetVersion.3 man/man3/Tcl_GetWideIntFromObj.3 +man/man3/Tcl_GetWideUIntFromObj.3 man/man3/Tcl_Gets.3 man/man3/Tcl_GetsObj.3 man/man3/Tcl_GlobalEval.3 man/man3/Tcl_GlobalEvalObj.3 +man/man3/Tcl_HasStringRep.3 man/man3/Tcl_HashStats.3 man/man3/Tcl_HideCommand.3 man/man3/Tcl_Import.3 @@ -673,10 +672,11 @@ man/man3/Tcl_InitMemory.3 man/man3/Tcl_InitNotifier.3 man/man3/Tcl_InitObjHashTable.3 +man/man3/Tcl_InitStringRep.3 man/man3/Tcl_InitStubs.3 +man/man3/Tcl_InitSubsystems.3 man/man3/Tcl_InputBlocked.3 man/man3/Tcl_InputBuffered.3 -man/man3/Tcl_Interp.3 man/man3/Tcl_InterpActive.3 man/man3/Tcl_InterpDeleted.3 man/man3/Tcl_InvalidateStringRep.3 @@ -704,8 +704,8 @@ man/man3/Tcl_LimitTypeExceeded.3 man/man3/Tcl_LimitTypeReset.3 man/man3/Tcl_LimitTypeSet.3 +man/man3/Tcl_LinkArray.3 man/man3/Tcl_LinkVar.3 -man/man3/Tcl_ListMathFuncs.3 man/man3/Tcl_ListObjAppendElement.3 man/man3/Tcl_ListObjAppendList.3 man/man3/Tcl_ListObjGetElements.3 @@ -718,11 +718,11 @@ man/man3/Tcl_MainEx.3 man/man3/Tcl_MainExW.3 man/man3/Tcl_MakeFileChannel.3 -man/man3/Tcl_MakeSafe.3 man/man3/Tcl_MakeTcpClientChannel.3 man/man3/Tcl_Merge.3 man/man3/Tcl_MethodDeclarerClass.3 man/man3/Tcl_MethodDeclarerObject.3 +man/man3/Tcl_MethodIsPrivate.3 man/man3/Tcl_MethodIsPublic.3 man/man3/Tcl_MethodIsType.3 man/man3/Tcl_MethodName.3 @@ -731,8 +731,10 @@ man/man3/Tcl_MutexUnlock.3 man/man3/Tcl_NRAddCallback.3 man/man3/Tcl_NRCallObjProc.3 +man/man3/Tcl_NRCallObjProc2.3 man/man3/Tcl_NRCmdSwap.3 man/man3/Tcl_NRCreateCommand.3 +man/man3/Tcl_NRCreateCommand2.3 man/man3/Tcl_NREvalObj.3 man/man3/Tcl_NREvalObjv.3 man/man3/Tcl_NRExprObj.3 @@ -751,6 +753,7 @@ man/man3/Tcl_NewStringObj.3 man/man3/Tcl_NewUnicodeObj.3 man/man3/Tcl_NewWideIntObj.3 +man/man3/Tcl_NewWideUIntObj.3 man/man3/Tcl_NextHashEntry.3 man/man3/Tcl_NotifyChannel.3 man/man3/Tcl_NumUtfChars.3 @@ -772,9 +775,9 @@ man/man3/Tcl_OpenFileChannel.3 man/man3/Tcl_OpenTcpClient.3 man/man3/Tcl_OpenTcpServer.3 +man/man3/Tcl_OpenTcpServerEx.3 man/man3/Tcl_OutputBuffered.3 man/man3/Tcl_Panic.3 -man/man3/Tcl_PanicVA.3 man/man3/Tcl_ParseArgsObjv.3 man/man3/Tcl_ParseBraces.3 man/man3/Tcl_ParseCommand.3 @@ -815,9 +818,7 @@ man/man3/Tcl_Release.3 man/man3/Tcl_ResetResult.3 man/man3/Tcl_RestoreInterpState.3 -man/man3/Tcl_RestoreResult.3 man/man3/Tcl_SaveInterpState.3 -man/man3/Tcl_SaveResult.3 man/man3/Tcl_ScanCountedElement.3 man/man3/Tcl_ScanElement.3 man/man3/Tcl_Seek.3 @@ -835,7 +836,6 @@ man/man3/Tcl_SetChannelOption.3 man/man3/Tcl_SetCommandInfo.3 man/man3/Tcl_SetCommandInfoFromToken.3 -man/man3/Tcl_SetDefaultEncodingDir.3 man/man3/Tcl_SetDoubleObj.3 man/man3/Tcl_SetEncodingSearchPath.3 man/man3/Tcl_SetEnsembleFlags.3 @@ -845,7 +845,6 @@ man/man3/Tcl_SetEnsembleUnknownHandler.3 man/man3/Tcl_SetErrno.3 man/man3/Tcl_SetErrorCode.3 -man/man3/Tcl_SetErrorCodeVA.3 man/man3/Tcl_SetErrorLine.3 man/man3/Tcl_SetExitProc.3 man/man3/Tcl_SetHashValue.3 @@ -875,6 +874,7 @@ man/man3/Tcl_SetVar2.3 man/man3/Tcl_SetVar2Ex.3 man/man3/Tcl_SetWideIntObj.3 +man/man3/Tcl_SetWideUIntObj.3 man/man3/Tcl_SignalId.3 man/man3/Tcl_SignalMsg.3 man/man3/Tcl_Sleep.3 @@ -885,7 +885,9 @@ man/man3/Tcl_StackChannel.3 man/man3/Tcl_StandardChannels.3 man/man3/Tcl_Stat.3 +man/man3/Tcl_StaticLibrary.3 man/man3/Tcl_StaticPackage.3 +man/man3/Tcl_StoreInternalRep.3 man/man3/Tcl_StringCaseMatch.3 man/man3/Tcl_StringMatch.3 man/man3/Tcl_SubstObj.3 @@ -943,22 +945,27 @@ man/man3/Tcl_UtfNcmp.3 man/man3/Tcl_UtfNext.3 man/man3/Tcl_UtfPrev.3 +man/man3/Tcl_UtfToChar16.3 +man/man3/Tcl_UtfToChar16DString.3 man/man3/Tcl_UtfToExternal.3 man/man3/Tcl_UtfToExternalDString.3 +man/man3/Tcl_UtfToExternalDStringEx.3 man/man3/Tcl_UtfToLower.3 man/man3/Tcl_UtfToTitle.3 man/man3/Tcl_UtfToUniChar.3 man/man3/Tcl_UtfToUniCharDString.3 man/man3/Tcl_UtfToUpper.3 +man/man3/Tcl_UtfToWChar.3 +man/man3/Tcl_UtfToWCharDString.3 man/man3/Tcl_ValidateAllMemory.3 man/man3/Tcl_VarEval.3 -man/man3/Tcl_VarEvalVA.3 man/man3/Tcl_VarTraceInfo.3 man/man3/Tcl_VarTraceInfo2.3 +man/man3/Tcl_WCharLen.3 +man/man3/Tcl_WCharToUtfDString.3 man/man3/Tcl_WaitForEvent.3 man/man3/Tcl_WaitPid.3 -man/man3/Tcl_WinTCharToUtf.3 -man/man3/Tcl_WinUtfToTChar.3 +man/man3/Tcl_WinConvertError.3 man/man3/Tcl_Write.3 man/man3/Tcl_WriteChars.3 man/man3/Tcl_WriteObj.3 @@ -976,11 +983,6 @@ man/man3/Tcl_ZlibStreamInit.3 man/man3/Tcl_ZlibStreamPut.3 man/man3/Tdbc_Init.3 -man/man3/attemptckalloc.3 -man/man3/attemptckrealloc.3 -man/man3/ckalloc.3 -man/man3/ckfree.3 -man/man3/ckrealloc.3 man/mann/Tcl.n man/mann/after.n man/mann/append.n @@ -1000,17 +1002,23 @@ man/mann/binary.n man/mann/body.n man/mann/break.n -man/mann/case.n +man/mann/callback.n man/mann/catch.n man/mann/cd.n man/mann/chan.n man/mann/class.n +man/mann/classvariable.n man/mann/clock.n man/mann/close.n man/mann/code.n man/mann/concat.n man/mann/configbody.n +man/mann/configure.n +man/mann/const.n man/mann/continue.n +man/mann/cookiejar.n +man/mann/coroinject.n +man/mann/coroprobe.n man/mann/coroutine.n man/mann/dde.n man/mann/delete.n @@ -1036,7 +1044,9 @@ man/mann/flush.n man/mann/for.n man/mann/foreach.n +man/mann/foreachLine.n man/mann/format.n +man/mann/fpclassify.n man/mann/gets.n man/mann/glob.n man/mann/global.n @@ -1057,19 +1067,24 @@ man/mann/join.n man/mann/lappend.n man/mann/lassign.n +man/mann/ledit.n man/mann/library.n man/mann/lindex.n +man/mann/link.n man/mann/linsert.n man/mann/list.n man/mann/llength.n man/mann/lmap.n man/mann/load.n man/mann/local.n +man/mann/lpop.n man/mann/lrange.n +man/mann/lremove.n man/mann/lrepeat.n man/mann/lreplace.n man/mann/lreverse.n man/mann/lsearch.n +man/mann/lseq.n man/mann/lset.n man/mann/lsort.n man/mann/mathfunc.n @@ -1077,15 +1092,20 @@ man/mann/memory.n man/mann/msgcat.n man/mann/my.n +man/mann/myclass.n +man/mann/mymethod.n man/mann/namespace.n man/mann/next.n man/mann/nextto.n man/mann/oo_Slot.n +man/mann/oo_abstract.n man/mann/oo_class.n +man/mann/oo_configurable.n man/mann/oo_copy.n man/mann/oo_define.n man/mann/oo_objdefine.n man/mann/oo_object.n +man/mann/oo_singleton.n man/mann/open.n man/mann/package.n man/mann/packagens.n @@ -1097,10 +1117,12 @@ man/mann/platform.n man/mann/platform_shell.n man/mann/proc.n +man/mann/property.n man/mann/puts.n man/mann/pwd.n man/mann/re_syntax.n man/mann/read.n +man/mann/readFile.n man/mann/refchan.n man/mann/regexp.n man/mann/registry.n @@ -1123,14 +1145,15 @@ man/mann/tailcall.n man/mann/tcl_endOfWord.n man/mann/tcl_findLibrary.n +man/mann/tcl_idna.n man/mann/tcl_interactive.n man/mann/tcl_library.n man/mann/tcl_nonwordchars.n man/mann/tcl_patchLevel.n man/mann/tcl_pkgPath.n man/mann/tcl_platform.n -man/mann/tcl_precision.n man/mann/tcl_prefix.n +man/mann/tcl_process.n man/mann/tcl_rcFileName.n man/mann/tcl_startOfNextWord.n man/mann/tcl_startOfPreviousWord.n @@ -1172,6 +1195,8 @@ man/mann/variable.n man/mann/vwait.n man/mann/while.n +man/mann/writeFile.n man/mann/yield.n man/mann/yieldto.n +man/mann/zipfs.n man/mann/zlib.n Index: buildlink3.mk =================================================================== RCS file: /cvsroot/pkgsrc/lang/tcl/buildlink3.mk,v retrieving revision 1.36 diff -u -r1.36 buildlink3.mk --- buildlink3.mk 25 Jan 2025 21:29:25 -0000 1.36 +++ buildlink3.mk 15 Jul 2025 08:24:23 -0000 @@ -1,21 +1,21 @@ -# $NetBSD: buildlink3.mk,v 1.36 2025/01/25 21:29:25 adam Exp $ +# $NetBSD: buildlink3.mk,v 1.1 2025/03/05 06:28:49 scole Exp $ BUILDLINK_TREE+= tcl .if !defined(TCL_BUILDLINK3_MK) TCL_BUILDLINK3_MK:= -BUILDLINK_API_DEPENDS.tcl+= tcl>=8.5.7 -BUILDLINK_ABI_DEPENDS.tcl+= tcl>=8.6.1nb1 +BUILDLINK_API_DEPENDS.tcl+= tcl>=9.0.1 +BUILDLINK_ABI_DEPENDS.tcl+= tcl>=9.0.1 BUILDLINK_PKGSRCDIR.tcl?= ../../lang/tcl BUILDLINK_FILES.tcl+= bin/tclsh* # -# Make "-ltcl" and "-ltcl8.6" resolve into "-ltcl86", so that we don't +# Make "-ltcl" resolve into "-ltcl9.0", so that we don't # need to patch so many Makefiles. # -BUILDLINK_TRANSFORM+= l:tcl:tcl86 -BUILDLINK_TRANSFORM+= l:tcl8.6:tcl86 +BUILDLINK_TRANSFORM+= l:tcl:tcl9.0 +#BUILDLINK_TRANSFORM+= l:tcl90:tcl9.0 _TOOLS_USE_PKGSRC.tclsh= yes Index: distinfo =================================================================== RCS file: /cvsroot/pkgsrc/lang/tcl/distinfo,v retrieving revision 1.90 diff -u -r1.90 distinfo --- distinfo 2 Jul 2025 16:58:37 -0000 1.90 +++ distinfo 15 Jul 2025 08:24:23 -0000 @@ -1,25 +1,5 @@ -$NetBSD: distinfo,v 1.90 2025/07/02 16:58:37 jperkin Exp $ +$NetBSD: distinfo,v 1.1 2025/03/05 06:28:58 scole Exp $ -BLAKE2s (tcl8.6.16-src.tar.gz) = ccc62d3aa48e249864864b5d89061575bca88257cc30b3916d02cb7e455b65af -SHA512 (tcl8.6.16-src.tar.gz) = 434c92f8181fb8dca6bc065b0f1f5078779086f19adf008818c90a3108596c63465ef43e9f3c1cfb3d4151a9de244d0bf0e6ee5b40e714b1ddca4a78eb43050b -Size (tcl8.6.16-src.tar.gz) = 11678979 bytes -SHA1 (patch-generic_tclInt.h) = f41a50e6461d0afacd1c8656944403e438ea6baf -SHA1 (patch-generic_tclPort.h) = 36ff05b22591d588952e55d0f13c2ef52e371d1e -SHA1 (patch-generic_tclPosixStr.c) = 68da211865282fe7124cad71381658f8dfb986d6 -SHA1 (patch-pkgs_itcl4.3.2_configure) = a24dfc1b8f28358c6be7d44a7c7c6f63d9b2883f -SHA1 (patch-pkgs_sqlite3.47.2_Makefile.in) = 5b1152ca3a6bb04b471b93ce328d0ceb5dad4689 -SHA1 (patch-pkgs_sqlite3.47.2_configure) = 47df980b4afd3d96840d65a822e704ea1902ada4 -SHA1 (patch-pkgs_sqlite3.47.2_generic_tclsqlite3.c) = 7a2b91d05377d5a89215b20ea95e785632a16dab -SHA1 (patch-pkgs_tdbc1.1.10_configure) = 7c2c95d1c9ea81cbb2821ef3cacf50d102427cbd -SHA1 (patch-pkgs_tdbcmysql1.1.10_configure) = 5157381466851f6bfb81433792a4cb6f276acda5 -SHA1 (patch-pkgs_tdbcodbc1.1.10_configure) = eba57a51956faabb996cfa8c4d725314782cd47b -SHA1 (patch-pkgs_tdbcpostgres1.1.10_configure) = e811f276e4aa5deca185b7f51f54ff53ed22a27d -SHA1 (patch-pkgs_thread2.8.11_configure) = 8a286b6400493a6dc3e33c3905390ab80d552b8f -SHA1 (patch-tests_load.test) = 438695ab76e01646e49aadc01c44344a5495eabb -SHA1 (patch-tests_pkgMkIndex.test) = 70d1042c1f4743052c5fa191fa7c4732a08e28a2 -SHA1 (patch-unix_Makefile.in) = e6ecbc7db3934ef4d7f0f24dd52c88ca0873289e -SHA1 (patch-unix_configure) = 220952b5c0235a7e2af0d24a563f2bb297b4b01c -SHA1 (patch-unix_tclConfig.sh.in) = 341ac4f1bbfb29551dea87ade98b3b7b59652a31 -SHA1 (patch-unix_tclUnixFCmd.c) = e715d9419a36a8414355252bb3da0ef48b07fe4f -SHA1 (patch-unix_tclUnixInit.c) = 1ab04ae006bb300e1d0fba4d1c799b50147f733c -SHA1 (patch-unix_tclUnixPort.h) = 9eff7a5d5842fe208b467fd2ad844192e2e6aec7 +BLAKE2s (tcl9.0.1-src.tar.gz) = c1225ec564615e7030f921ce0d773f7b98503e63a6805a41a7c665d85471695c +SHA512 (tcl9.0.1-src.tar.gz) = 8ef8289bd86b4cc2597d63f4b460fa4a67da66dbb1bafa29cb8cd960867d07636f12713ecb1a95a96bd6c284b6f0f4264ff96da2feeb52a5a9795f036fa346c3 +Size (tcl9.0.1-src.tar.gz) = 11697609 bytes Index: options.mk =================================================================== RCS file: /cvsroot/pkgsrc/lang/tcl/options.mk,v retrieving revision 1.3 diff -u -r1.3 options.mk --- options.mk 11 Mar 2015 22:32:08 -0000 1.3 +++ options.mk 15 Jul 2025 08:24:23 -0000 @@ -1,19 +1,28 @@ -# $NetBSD: options.mk,v 1.3 2015/03/11 22:32:08 tnn Exp $ +# $NetBSD: options.mk,v 1.1 2025/03/05 06:29:10 scole Exp $ PKG_OPTIONS_VAR= PKG_OPTIONS.tcl -PKG_SUPPORTED_OPTIONS= threads debug -PKG_SUGGESTED_OPTIONS= threads +PKG_SUPPORTED_OPTIONS= debug +#PKG_SUGGESTED_OPTIONS+= .include "../../mk/bsd.prefs.mk" .include "../../mk/bsd.options.mk" +# xxx NetBSD 64bit configure detection not working +.if ${MACHINE_ARCH} == "sparc64" +CONFIGURE_ARGS+= --enable-64bit-vis +.else +. for plat in ${LP64PLATFORMS} +. if ${MACHINE_PLATFORM:M${plat}} +CONFIGURE_ARGS+= --enable-64bit +. endif +. endfor +.endif + .if !empty(PKG_OPTIONS:Mdebug) CONFIGURE_ARGS+= --enable-symbols=mem .endif -.if !empty(PKG_OPTIONS:Mthreads) -CONFIGURE_ARGS+= --enable-threads -.include "../../mk/pthread.buildlink3.mk" -.else -CONFIGURE_ARGS+= --disable-threads -.endif +# xxx +#.if !empty(PKG_OPTIONS:Mdtrace) +#CONFIGURE_ARGS+= --enable-dtrace +#.endif Index: patches/patch-generic_tclInt.h =================================================================== RCS file: patches/patch-generic_tclInt.h diff -N patches/patch-generic_tclInt.h --- patches/patch-generic_tclInt.h 16 Apr 2020 17:07:07 -0000 1.3 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,21 +0,0 @@ -$NetBSD: patch-generic_tclInt.h,v 1.3 2020/04/16 17:07:07 adam Exp $ - ---- generic/tclInt.h.orig 2019-11-13 17:57:08.000000000 +0000 -+++ generic/tclInt.h -@@ -38,16 +38,8 @@ - #include - - #include --#ifdef NO_STDLIB_H --# include "../compat/stdlib.h" --#else - # include --#endif --#ifdef NO_STRING_H --#include "../compat/string.h" --#else - #include --#endif - #if defined(STDC_HEADERS) || defined(__STDC__) || defined(__C99__FUNC__) \ - || defined(__cplusplus) || defined(_MSC_VER) || defined(__ICC) - #include Index: patches/patch-generic_tclPort.h =================================================================== RCS file: patches/patch-generic_tclPort.h diff -N patches/patch-generic_tclPort.h --- patches/patch-generic_tclPort.h 31 May 2013 20:15:04 -0000 1.2 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,13 +0,0 @@ -$NetBSD: patch-generic_tclPort.h,v 1.2 2013/05/31 20:15:04 adam Exp $ - ---- generic/tclPort.h.orig 2013-03-21 12:57:40.000000000 +0000 -+++ generic/tclPort.h -@@ -20,7 +20,7 @@ - #if defined(_WIN32) - # include "tclWinPort.h" - #else --# include "tclUnixPort.h" -+# include "../unix/tclUnixPort.h" - #endif - #include "tcl.h" - Index: patches/patch-generic_tclPosixStr.c =================================================================== RCS file: patches/patch-generic_tclPosixStr.c diff -N patches/patch-generic_tclPosixStr.c --- patches/patch-generic_tclPosixStr.c 11 Jan 2014 14:41:05 -0000 1.3 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,24 +0,0 @@ -$NetBSD: patch-generic_tclPosixStr.c,v 1.3 2014/01/11 14:41:05 adam Exp $ - -Carried over from TCL 8.4 - ---- generic/tclPosixStr.c.orig 2013-09-19 19:04:14.000000000 +0000 -+++ generic/tclPosixStr.c -@@ -344,7 +344,7 @@ Tcl_ErrnoId(void) - #ifdef EOTHER - case EOTHER: return "EOTHER"; - #endif --#if defined(EOVERFLOW) && (!defined(EFBIG) || (EOVERFLOW != EFBIG)) && (!defined(EINVAL) || (EOVERFLOW != EINVAL)) -+#if defined(EOVERFLOW) && (!defined(EFBIG) || (EOVERFLOW != EFBIG)) && (!defined(EINVAL) || (EOVERFLOW != EINVAL)) && (!defined(ERANGE) || (EOVERFLOW != ERANGE)) - case EOVERFLOW: return "EOVERFLOW"; - #endif - #ifdef EOWNERDEAD -@@ -804,7 +804,7 @@ Tcl_ErrnoMsg( - #ifdef EOTHER - case EOTHER: return "other error"; - #endif --#if defined(EOVERFLOW) && (!defined(EFBIG) || (EOVERFLOW != EFBIG)) && (!defined(EINVAL) || (EOVERFLOW != EINVAL)) -+#if defined(EOVERFLOW) && (!defined(EFBIG) || (EOVERFLOW != EFBIG)) && (!defined(EINVAL) || (EOVERFLOW != EINVAL)) && (!defined(ERANGE) || (EOVERFLOW != ERANGE)) - case EOVERFLOW: return "file too big"; - #endif - #ifdef EOWNERDEAD Index: patches/patch-pkgs_itcl4.3.2_configure =================================================================== RCS file: patches/patch-pkgs_itcl4.3.2_configure diff -N patches/patch-pkgs_itcl4.3.2_configure --- patches/patch-pkgs_itcl4.3.2_configure 25 Jan 2025 21:29:25 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,30 +0,0 @@ -$NetBSD: patch-pkgs_itcl4.3.2_configure,v 1.1 2025/01/25 21:29:25 adam Exp $ - -Honor LDFLAGS on NetBSD. -https://core.tcl.tk/tcl/tktview/fed5069f8a8e59e97af0a784b534919f5b789b1e - ---- pkgs/itcl4.3.2/configure.orig 2023-12-20 17:04:40.000000000 +0000 -+++ pkgs/itcl4.3.2/configure -@@ -7444,20 +7444,18 @@ then : - fi - LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS} - SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.so${SHLIB_VERSION}' -- LDFLAGS="$LDFLAGS -Wl,-export-dynamic" -+ LDFLAGS="$LDFLAGS -Wl,--export-dynamic" - CFLAGS_OPTIMIZE="-O2" - # On OpenBSD: Compile with -pthread - # Don't link with -lpthread - LIBS=`echo $LIBS | sed s/-lpthread//` - CFLAGS="$CFLAGS -pthread" - # OpenBSD doesn't do version numbers with dots. -- UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.a' -- TCL_LIB_VERSIONS_OK=nodots - ;; - NetBSD-*) - # NetBSD has ELF and can use 'cc -shared' to build shared libs - SHLIB_CFLAGS="-fPIC" -- SHLIB_LD='${CC} ${SHLIB_CFLAGS} -shared' -+ SHLIB_LD='${CC} ${SHLIB_CFLAGS} -shared ${LDFLAGS_DEFAULT}' - SHLIB_SUFFIX=".so" - LDFLAGS="$LDFLAGS -export-dynamic" - if test $doRpath = yes Index: patches/patch-pkgs_sqlite3.47.2_Makefile.in =================================================================== RCS file: patches/patch-pkgs_sqlite3.47.2_Makefile.in diff -N patches/patch-pkgs_sqlite3.47.2_Makefile.in --- patches/patch-pkgs_sqlite3.47.2_Makefile.in 25 Jan 2025 21:29:25 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,15 +0,0 @@ -$NetBSD: patch-pkgs_sqlite3.47.2_Makefile.in,v 1.1 2025/01/25 21:29:25 adam Exp $ - -Fix building with system sqlite3. - ---- pkgs/sqlite3.47.2/Makefile.in.orig 2022-11-18 18:49:30.000000000 +0000 -+++ pkgs/sqlite3.47.2/Makefile.in -@@ -155,7 +155,7 @@ SHARED_BUILD = @SHARED_BUILD@ - INCLUDES = @PKG_INCLUDES@ @TCL_INCLUDES@ -I. -I$(srcdir)/.. - #INCLUDES = @PKG_INCLUDES@ @TCL_INCLUDES@ @TK_INCLUDES@ @TK_XINCLUDES@ - --PKG_CFLAGS = @PKG_CFLAGS@ -DSQLITE_EXTERN= -+PKG_CFLAGS = @PKG_CFLAGS@ - - # TCL_DEFS is not strictly need here, but if you remove it, then you - # must make sure that configure.ac checks for the necessary components Index: patches/patch-pkgs_sqlite3.47.2_configure =================================================================== RCS file: patches/patch-pkgs_sqlite3.47.2_configure diff -N patches/patch-pkgs_sqlite3.47.2_configure --- patches/patch-pkgs_sqlite3.47.2_configure 25 Jan 2025 21:29:25 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,30 +0,0 @@ -$NetBSD: patch-pkgs_sqlite3.47.2_configure,v 1.1 2025/01/25 21:29:25 adam Exp $ - -Honor LDFLAGS on NetBSD. -https://core.tcl.tk/tcl/tktview/fed5069f8a8e59e97af0a784b534919f5b789b1e - ---- pkgs/sqlite3.47.2/configure.orig 2023-11-28 11:02:09.000000000 +0000 -+++ pkgs/sqlite3.47.2/configure -@@ -7458,20 +7458,18 @@ then : - fi - LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS} - SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.so${SHLIB_VERSION}' -- LDFLAGS="$LDFLAGS -Wl,-export-dynamic" -+ LDFLAGS="$LDFLAGS -Wl,--export-dynamic" - CFLAGS_OPTIMIZE="-O2" - # On OpenBSD: Compile with -pthread - # Don't link with -lpthread - LIBS=`echo $LIBS | sed s/-lpthread//` - CFLAGS="$CFLAGS -pthread" - # OpenBSD doesn't do version numbers with dots. -- UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.a' -- TCL_LIB_VERSIONS_OK=nodots - ;; - NetBSD-*) - # NetBSD has ELF and can use 'cc -shared' to build shared libs - SHLIB_CFLAGS="-fPIC" -- SHLIB_LD='${CC} ${SHLIB_CFLAGS} -shared' -+ SHLIB_LD='${CC} ${SHLIB_CFLAGS} -shared ${LDFLAGS_DEFAULT}' - SHLIB_SUFFIX=".so" - LDFLAGS="$LDFLAGS -export-dynamic" - if test $doRpath = yes Index: patches/patch-pkgs_sqlite3.47.2_generic_tclsqlite3.c =================================================================== RCS file: patches/patch-pkgs_sqlite3.47.2_generic_tclsqlite3.c diff -N patches/patch-pkgs_sqlite3.47.2_generic_tclsqlite3.c --- patches/patch-pkgs_sqlite3.47.2_generic_tclsqlite3.c 25 Jan 2025 21:29:25 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,14 +0,0 @@ -$NetBSD: patch-pkgs_sqlite3.47.2_generic_tclsqlite3.c,v 1.1 2025/01/25 21:29:25 adam Exp $ - -add missing include for uintptr_t - ---- pkgs/sqlite3.47.2/generic/tclsqlite3.c.orig 2024-04-09 01:04:35.609524877 +0000 -+++ pkgs/sqlite3.47.2/generic/tclsqlite3.c -@@ -73,6 +73,7 @@ - # endif - # endif /* SQLITE_PTRSIZE */ - # if defined(HAVE_STDINT_H) -+# include - typedef uintptr_t uptr; - # elif SQLITE_PTRSIZE==4 - typedef unsigned int uptr; Index: patches/patch-pkgs_tdbc1.1.10_configure =================================================================== RCS file: patches/patch-pkgs_tdbc1.1.10_configure diff -N patches/patch-pkgs_tdbc1.1.10_configure --- patches/patch-pkgs_tdbc1.1.10_configure 25 Jan 2025 21:29:25 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,30 +0,0 @@ -$NetBSD: patch-pkgs_tdbc1.1.10_configure,v 1.1 2025/01/25 21:29:25 adam Exp $ - -Honor LDFLAGS on NetBSD. -https://core.tcl.tk/tcl/tktview/fed5069f8a8e59e97af0a784b534919f5b789b1e - ---- pkgs/tdbc1.1.10/configure.orig 2024-02-23 15:51:36.000000000 +0000 -+++ pkgs/tdbc1.1.10/configure -@@ -7765,20 +7765,18 @@ then : - fi - LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS} - SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.so${SHLIB_VERSION}' -- LDFLAGS="$LDFLAGS -Wl,-export-dynamic" -+ LDFLAGS="$LDFLAGS -Wl,--export-dynamic" - CFLAGS_OPTIMIZE="-O2" - # On OpenBSD: Compile with -pthread - # Don't link with -lpthread - LIBS=`echo $LIBS | sed s/-lpthread//` - CFLAGS="$CFLAGS -pthread" - # OpenBSD doesn't do version numbers with dots. -- UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.a' -- TCL_LIB_VERSIONS_OK=nodots - ;; - NetBSD-*) - # NetBSD has ELF and can use 'cc -shared' to build shared libs - SHLIB_CFLAGS="-fPIC" -- SHLIB_LD='${CC} ${SHLIB_CFLAGS} -shared' -+ SHLIB_LD='${CC} ${SHLIB_CFLAGS} -shared ${LDFLAGS_DEFAULT}' - SHLIB_SUFFIX=".so" - LDFLAGS="$LDFLAGS -export-dynamic" - if test $doRpath = yes Index: patches/patch-pkgs_tdbcmysql1.1.10_configure =================================================================== RCS file: patches/patch-pkgs_tdbcmysql1.1.10_configure diff -N patches/patch-pkgs_tdbcmysql1.1.10_configure --- patches/patch-pkgs_tdbcmysql1.1.10_configure 25 Jan 2025 21:29:26 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,30 +0,0 @@ -$NetBSD: patch-pkgs_tdbcmysql1.1.10_configure,v 1.1 2025/01/25 21:29:26 adam Exp $ - -Honor LDFLAGS on NetBSD. -https://core.tcl.tk/tcl/tktview/fed5069f8a8e59e97af0a784b534919f5b789b1e - ---- pkgs/tdbcmysql1.1.10/configure.orig 2024-02-09 15:49:31.000000000 +0000 -+++ pkgs/tdbcmysql1.1.10/configure -@@ -8131,20 +8131,18 @@ then : - fi - LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS} - SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.so${SHLIB_VERSION}' -- LDFLAGS="$LDFLAGS -Wl,-export-dynamic" -+ LDFLAGS="$LDFLAGS -Wl,--export-dynamic" - CFLAGS_OPTIMIZE="-O2" - # On OpenBSD: Compile with -pthread - # Don't link with -lpthread - LIBS=`echo $LIBS | sed s/-lpthread//` - CFLAGS="$CFLAGS -pthread" - # OpenBSD doesn't do version numbers with dots. -- UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.a' -- TCL_LIB_VERSIONS_OK=nodots - ;; - NetBSD-*) - # NetBSD has ELF and can use 'cc -shared' to build shared libs - SHLIB_CFLAGS="-fPIC" -- SHLIB_LD='${CC} ${SHLIB_CFLAGS} -shared' -+ SHLIB_LD='${CC} ${SHLIB_CFLAGS} -shared ${LDFLAGS_DEFAULT}' - SHLIB_SUFFIX=".so" - LDFLAGS="$LDFLAGS -export-dynamic" - if test $doRpath = yes Index: patches/patch-pkgs_tdbcodbc1.1.10_configure =================================================================== RCS file: patches/patch-pkgs_tdbcodbc1.1.10_configure diff -N patches/patch-pkgs_tdbcodbc1.1.10_configure --- patches/patch-pkgs_tdbcodbc1.1.10_configure 25 Jan 2025 21:29:26 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,30 +0,0 @@ -$NetBSD: patch-pkgs_tdbcodbc1.1.10_configure,v 1.1 2025/01/25 21:29:26 adam Exp $ - -Honor LDFLAGS on NetBSD. -https://core.tcl.tk/tcl/tktview/fed5069f8a8e59e97af0a784b534919f5b789b1e - ---- pkgs/tdbcodbc1.1.10/configure.orig 2024-02-09 15:53:38.000000000 +0000 -+++ pkgs/tdbcodbc1.1.10/configure -@@ -8131,20 +8131,18 @@ then : - fi - LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS} - SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.so${SHLIB_VERSION}' -- LDFLAGS="$LDFLAGS -Wl,-export-dynamic" -+ LDFLAGS="$LDFLAGS -Wl,--export-dynamic" - CFLAGS_OPTIMIZE="-O2" - # On OpenBSD: Compile with -pthread - # Don't link with -lpthread - LIBS=`echo $LIBS | sed s/-lpthread//` - CFLAGS="$CFLAGS -pthread" - # OpenBSD doesn't do version numbers with dots. -- UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.a' -- TCL_LIB_VERSIONS_OK=nodots - ;; - NetBSD-*) - # NetBSD has ELF and can use 'cc -shared' to build shared libs - SHLIB_CFLAGS="-fPIC" -- SHLIB_LD='${CC} ${SHLIB_CFLAGS} -shared' -+ SHLIB_LD='${CC} ${SHLIB_CFLAGS} -shared ${LDFLAGS_DEFAULT}' - SHLIB_SUFFIX=".so" - LDFLAGS="$LDFLAGS -export-dynamic" - if test $doRpath = yes Index: patches/patch-pkgs_tdbcpostgres1.1.10_configure =================================================================== RCS file: patches/patch-pkgs_tdbcpostgres1.1.10_configure diff -N patches/patch-pkgs_tdbcpostgres1.1.10_configure --- patches/patch-pkgs_tdbcpostgres1.1.10_configure 25 Jan 2025 21:29:26 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,30 +0,0 @@ -$NetBSD: patch-pkgs_tdbcpostgres1.1.10_configure,v 1.1 2025/01/25 21:29:26 adam Exp $ - -Honor LDFLAGS on NetBSD. -https://core.tcl.tk/tcl/tktview/fed5069f8a8e59e97af0a784b534919f5b789b1e - ---- pkgs/tdbcpostgres1.1.10/configure.orig 2024-02-23 15:59:31.000000000 +0000 -+++ pkgs/tdbcpostgres1.1.10/configure -@@ -8131,20 +8131,18 @@ then : - fi - LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS} - SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.so${SHLIB_VERSION}' -- LDFLAGS="$LDFLAGS -Wl,-export-dynamic" -+ LDFLAGS="$LDFLAGS -Wl,--export-dynamic" - CFLAGS_OPTIMIZE="-O2" - # On OpenBSD: Compile with -pthread - # Don't link with -lpthread - LIBS=`echo $LIBS | sed s/-lpthread//` - CFLAGS="$CFLAGS -pthread" - # OpenBSD doesn't do version numbers with dots. -- UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.a' -- TCL_LIB_VERSIONS_OK=nodots - ;; - NetBSD-*) - # NetBSD has ELF and can use 'cc -shared' to build shared libs - SHLIB_CFLAGS="-fPIC" -- SHLIB_LD='${CC} ${SHLIB_CFLAGS} -shared' -+ SHLIB_LD='${CC} ${SHLIB_CFLAGS} -shared ${LDFLAGS_DEFAULT}' - SHLIB_SUFFIX=".so" - LDFLAGS="$LDFLAGS -export-dynamic" - if test $doRpath = yes Index: patches/patch-pkgs_thread2.8.11_configure =================================================================== RCS file: patches/patch-pkgs_thread2.8.11_configure diff -N patches/patch-pkgs_thread2.8.11_configure --- patches/patch-pkgs_thread2.8.11_configure 25 Jan 2025 21:29:26 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,30 +0,0 @@ -$NetBSD: patch-pkgs_thread2.8.11_configure,v 1.1 2025/01/25 21:29:26 adam Exp $ - -Honor LDFLAGS on NetBSD. -https://core.tcl.tk/tcl/tktview/fed5069f8a8e59e97af0a784b534919f5b789b1e - ---- pkgs/thread2.8.11/configure.orig 2024-02-07 18:27:29.000000000 +0000 -+++ pkgs/thread2.8.11/configure -@@ -7667,20 +7667,18 @@ then : - fi - LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS} - SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.so${SHLIB_VERSION}' -- LDFLAGS="$LDFLAGS -Wl,-export-dynamic" -+ LDFLAGS="$LDFLAGS -Wl,--export-dynamic" - CFLAGS_OPTIMIZE="-O2" - # On OpenBSD: Compile with -pthread - # Don't link with -lpthread - LIBS=`echo $LIBS | sed s/-lpthread//` - CFLAGS="$CFLAGS -pthread" - # OpenBSD doesn't do version numbers with dots. -- UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.a' -- TCL_LIB_VERSIONS_OK=nodots - ;; - NetBSD-*) - # NetBSD has ELF and can use 'cc -shared' to build shared libs - SHLIB_CFLAGS="-fPIC" -- SHLIB_LD='${CC} ${SHLIB_CFLAGS} -shared' -+ SHLIB_LD='${CC} ${SHLIB_CFLAGS} -shared ${LDFLAGS_DEFAULT}' - SHLIB_SUFFIX=".so" - LDFLAGS="$LDFLAGS -export-dynamic" - if test $doRpath = yes Index: patches/patch-tests_load.test =================================================================== RCS file: patches/patch-tests_load.test diff -N patches/patch-tests_load.test --- patches/patch-tests_load.test 21 Aug 2012 21:31:47 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,15 +0,0 @@ -$NetBSD: patch-tests_load.test,v 1.1 2012/08/21 21:31:47 marino Exp $ - -Carried over from TCL 8.4 - ---- tests/load.test.orig 2012-07-16 11:57:06.000000000 +0000 -+++ tests/load.test -@@ -21,7 +21,7 @@ if {![info exists ext]} { - set ext [info sharedlibextension] - } - # Tests require the existence of one of the DLLs in the dltest directory. --set testDir [file join [file dirname [info nameofexecutable]] dltest] -+set testDir [file join [file dirname [info nameofexecutable]] .. dltest .libs ] - set x [file join $testDir pkga$ext] - set dll "[file tail $x]Required" - testConstraint $dll [file readable $x] Index: patches/patch-tests_pkgMkIndex.test =================================================================== RCS file: patches/patch-tests_pkgMkIndex.test diff -N patches/patch-tests_pkgMkIndex.test --- patches/patch-tests_pkgMkIndex.test 21 Aug 2012 21:31:47 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,33 +0,0 @@ -$NetBSD: patch-tests_pkgMkIndex.test,v 1.1 2012/08/21 21:31:47 marino Exp $ - -Carried over from TCL 8.4 - ---- tests/pkgMkIndex.test.orig 2012-07-16 11:57:06.000000000 +0000 -+++ tests/pkgMkIndex.test -@@ -557,7 +557,7 @@ removeFile [file join pkg circ2.tcl] - removeFile [file join pkg circ3.tcl] - - # Some tests require the existence of one of the DLLs in the dltest directory --set x [file join [file dirname [info nameofexecutable]] dltest \ -+set x [file join [file dirname [info nameofexecutable]] .. dltest .libs \ - pkga[info sharedlibextension]] - set dll "[file tail $x]Required" - testConstraint $dll [file exists $x] -@@ -570,7 +570,7 @@ proc pkga_neq { x } { - return [expr {! [pkgq_eq $x]}] - } - } [file join pkg pkga.tcl] -- file copy -force $x $fullPkgPath -+ eval file copy -force [glob "$x*"] $fullPkgPath - } - testConstraint exec [llength [info commands ::exec]] - -@@ -596,7 +596,7 @@ test pkgMkIndex-10.2 {package in DLL hid - } {0 {}} - - if {[testConstraint $dll]} { -- file delete -force [file join $fullPkgPath [file tail $x]] -+ eval file delete -force [global [file join $fullPkgPath [file tail "$x*"] ] ] - removeFile [file join pkg pkga.tcl] - } - Index: patches/patch-unix_Makefile.in =================================================================== RCS file: patches/patch-unix_Makefile.in diff -N patches/patch-unix_Makefile.in --- patches/patch-unix_Makefile.in 26 Jun 2023 15:51:56 -0000 1.20 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,138 +0,0 @@ -$NetBSD: patch-unix_Makefile.in,v 1.20 2023/06/26 15:51:56 adam Exp $ - -Honour LDFLAGS. - ---- unix/Makefile.in.orig 2022-10-28 15:19:48.000000000 +0000 -+++ unix/Makefile.in -@@ -8,6 +8,7 @@ VERSION = @TCL_VERSION@ - MAJOR_VERSION = @TCL_MAJOR_VERSION@ - MINOR_VERSION = @TCL_MINOR_VERSION@ - PATCH_LEVEL = @TCL_PATCH_LEVEL@ -+SHLIB_VERSION = @SHLIB_VERSION@ - - #-------------------------------------------------------------------------- - # Things you can change to personalize the Makefile for your own site (you can -@@ -58,6 +59,8 @@ MODULE_INSTALL_DIR = $(SCRIPT_INSTALL_DI - - # Directory in which to install the include file tcl.h: - INCLUDE_INSTALL_DIR = $(INSTALL_ROOT)$(includedir) -+UNIX_INCLUDE_INSTALL_DIR = $(INCLUDE_INSTALL_DIR)/tcl/unix -+GENERIC_INCLUDE_INSTALL_DIR = $(INCLUDE_INSTALL_DIR)/tcl/generic - - # Path to the private tcl header dir: - PRIVATE_INCLUDE_DIR = @PRIVATE_INCLUDE_DIR@ -@@ -107,7 +110,7 @@ CFLAGS_OPTIMIZE = @CFLAGS_OPTIMIZE@ - #CFLAGS = $(CFLAGS_DEBUG) - #CFLAGS = $(CFLAGS_OPTIMIZE) - #CFLAGS = $(CFLAGS_DEBUG) $(CFLAGS_OPTIMIZE) --CFLAGS = @CFLAGS_DEFAULT@ @CFLAGS@ -+CFLAGS += @CFLAGS_DEFAULT@ @CFLAGS@ - - # Flags to pass to the linker - LDFLAGS_DEBUG = @LDFLAGS_DEBUG@ -@@ -143,7 +146,7 @@ NO_DEPRECATED_FLAGS = - - # Some versions of make, like SGI's, use the following variable to determine - # which shell to use for executing commands: --SHELL = @MAKEFILE_SHELL@ -+#SHELL = @MAKEFILE_SHELL@ - - # Tcl used to let the configure script choose which program to use for - # installing, but there are just too many different versions of "install" -@@ -189,7 +192,7 @@ DLTEST_TARGETS = dltest.marker - # run-time. The first symbol is for use when creating a binary with cc, and - # the second is for use when running ld directly. - CC_SEARCH_FLAGS = @CC_SEARCH_FLAGS@ --LD_SEARCH_FLAGS = @LD_SEARCH_FLAGS@ -+LD_SEARCH_FLAGS = @LD_SEARCH_FLAGS@ @LDFLAGS@ - - # The following symbol is defined to "$(DLTEST_TARGETS)" if dynamic loading is - # available; this causes everything in the "dltest" subdirectory to be built -@@ -200,6 +203,7 @@ BUILD_DLTEST = @BUILD_DLTEST@ - #BUILD_DLTEST = - - TCL_LIB_FILE = @TCL_LIB_FILE@ -+TCL_LIB_A_FILE = ${TCL_LIB_FILE:@SHLIB_SUFFIX@=.a} - #TCL_LIB_FILE = libtcl.a - - # Generic lib name used in rules that apply to tcl and tk -@@ -715,7 +719,7 @@ SRCS = $(GENERIC_SRCS) $(UNIX_SRCS) $(NO - - all: binaries libraries doc packages - --binaries: ${LIB_FILE} ${TCL_EXE} -+binaries: ${LIB_FILE} ${TCL_EXE} ${TCL_LIB_A_FILE} - - libraries: - -@@ -734,6 +738,11 @@ ${STUB_LIB_FILE}: ${STUB_LIB_OBJS} - rm -f $@ - @MAKE_STUB_LIB@ - -+${TCL_LIB_A_FILE}: ${OBJS} -+ rm -rf $@ -+ ar cr $@ ${OBJS} -+ $(RANLIB) $@ -+ - # Make target which outputs the list of the .o contained in the Tcl lib useful - # to build a single big shared library containing Tcl and other extensions. - # Used for the Tcl Plugin. -- dl -@@ -900,9 +909,16 @@ install-binaries: binaries - done - @echo "Installing $(LIB_FILE) to $(DLL_INSTALL_DIR)/" - @@INSTALL_LIB@ -- @chmod 555 "$(DLL_INSTALL_DIR)/$(LIB_FILE)" -+ @cd "$(DLL_INSTALL_DIR)" && if test "$(SHLIB_SUFFIX)" = ".dylib"; then \ -+ ln -sf libtcl$(MAJOR_VERSION)$(MINOR_VERSION)$(SHLIB_VERSION)$(SHLIB_SUFFIX) $(LIB_FILE) ; \ -+ else \ -+ ln -sf libtcl$(MAJOR_VERSION)$(MINOR_VERSION)$(SHLIB_SUFFIX)$(SHLIB_VERSION) $(LIB_FILE) ; \ -+ fi -+ @echo "Installing ${TCL_LIB_A_FILE} to $(DLL_INSTALL_DIR)/" -+ @$(INSTALL_DATA) ${TCL_LIB_A_FILE} $(DLL_INSTALL_DIR)/${TCL_LIB_A_FILE} - @echo "Installing ${TCL_EXE} as $(BIN_INSTALL_DIR)/tclsh$(VERSION)${EXE_SUFFIX}" - @$(INSTALL_PROGRAM) ${TCL_EXE} "$(BIN_INSTALL_DIR)/tclsh$(VERSION)${EXE_SUFFIX}" -+ @cd "$(BIN_INSTALL_DIR)" && ln -sf tclsh$(VERSION)${EXE_SUFFIX} tclsh - @echo "Installing tclConfig.sh to $(CONFIG_INSTALL_DIR)/" - @$(INSTALL_DATA) tclConfig.sh "$(CONFIG_INSTALL_DIR)/tclConfig.sh" - @echo "Installing tclooConfig.sh to $(CONFIG_INSTALL_DIR)/" -@@ -1044,20 +1060,24 @@ install-doc: doc - done - - install-headers: -- @for i in "$(INCLUDE_INSTALL_DIR)"; do \ -+ @for i in "$(INCLUDE_INSTALL_DIR)" "$(GENERIC_INCLUDE_INSTALL_DIR)" "$(UNIX_INCLUDE_INSTALL_DIR)"; do \ - if [ ! -d "$$i" ] ; then \ - echo "Making directory $$i"; \ - $(INSTALL_DATA_DIR) "$$i"; \ - fi; \ - done - @echo "Installing header files to $(INCLUDE_INSTALL_DIR)/"; -- @for i in $(GENERIC_DIR)/tcl.h $(GENERIC_DIR)/tclDecls.h \ -- $(GENERIC_DIR)/tclOO.h $(GENERIC_DIR)/tclOODecls.h \ -- $(GENERIC_DIR)/tclPlatDecls.h \ -- $(GENERIC_DIR)/tclTomMath.h \ -- $(GENERIC_DIR)/tclTomMathDecls.h ; \ -+ @for i in $(GENERIC_DIR)/*.h ; \ -+ do \ -+ $(INSTALL_DATA) $$i "$(GENERIC_INCLUDE_INSTALL_DIR)"; \ -+ done; -+ @for i in $(UNIX_DIR)/*.h ; \ -+ do \ -+ $(INSTALL_DATA) $$i "$(UNIX_INCLUDE_INSTALL_DIR)"; \ -+ done; -+ @for i in tcl.h tclDecls.h tclOO.h tclOODecls.h tclPlatDecls.h; \ - do \ -- $(INSTALL_DATA) $$i "$(INCLUDE_INSTALL_DIR)"; \ -+ cd "$(INCLUDE_INSTALL_DIR)" && ln -sf tcl/generic/$$i $$i; \ - done - - # Optional target to install private headers -@@ -1814,7 +1834,7 @@ configure-packages: - mkdir -p $(PKG_DIR)/$$pkg; \ - if [ ! -f $(PKG_DIR)/$$pkg/Makefile ] ; then \ - ( cd $(PKG_DIR)/$$pkg; \ -- $$i/configure --with-tcl=../.. \ -+ $(SHELL) $$i/configure --with-tcl=../.. \ - --with-tclinclude=$(GENERIC_DIR) \ - $(PKG_CFG_ARGS) --libdir=$(PACKAGE_DIR) \ - --enable-shared --enable-threads; ) || exit $$?; \ Index: patches/patch-unix_configure =================================================================== RCS file: patches/patch-unix_configure diff -N patches/patch-unix_configure --- patches/patch-unix_configure 2 Jul 2025 16:58:37 -0000 1.19 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,184 +0,0 @@ -$NetBSD: patch-unix_configure,v 1.19 2025/07/02 16:58:37 jperkin Exp $ - -Fix evil -Wimplicit-function-declaration fallout on GCC 14. - ---- unix/configure.orig 2024-12-02 12:57:40.000000000 +0000 -+++ unix/configure -@@ -6772,12 +6772,12 @@ fi - LD_SEARCH_FLAGS="" - ;; - BSD/OS-4.*) -- SHLIB_CFLAGS="-export-dynamic -fPIC" -+ SHLIB_CFLAGS="-Wl,--export-dynamic -fPIC" - SHLIB_LD='${CC} -shared' - SHLIB_SUFFIX=".so" - DL_OBJS="tclLoadDl.o" - DL_LIBS="-ldl" -- LDFLAGS="$LDFLAGS -export-dynamic" -+ LDFLAGS="$LDFLAGS --export-dynamic" - CC_SEARCH_FLAGS="" - LD_SEARCH_FLAGS="" - ;; -@@ -7480,7 +7480,7 @@ fi - - LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS} - SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.so${SHLIB_VERSION}' -- LDFLAGS="-Wl,-export-dynamic" -+ LDFLAGS="-Wl,--export-dynamic" - CFLAGS_OPTIMIZE="-O2" - if test "${TCL_THREADS}" = "1"; then - -@@ -7502,7 +7502,7 @@ fi - SHLIB_SUFFIX=".so" - DL_OBJS="tclLoadDl.o" - DL_LIBS="" -- LDFLAGS="$LDFLAGS -export-dynamic" -+ LDFLAGS="$LDFLAGS -Wl,--export-dynamic" - if test $doRpath = yes; then - - CC_SEARCH_FLAGS='"-Wl,-rpath,${LIB_RUNTIME_DIR}"' -@@ -7520,7 +7520,6 @@ fi - - ;; - Darwin-*) -- CFLAGS_OPTIMIZE="-O2" - SHLIB_CFLAGS="-fno-common" - # To avoid discrepancies between what headers configure sees during - # preprocessing tests and compiling tests, move any -isysroot and -@@ -8799,6 +8798,11 @@ fi - else - - INSTALL_LIB='$(INSTALL_LIBRARY) $(LIB_FILE) "$(LIB_INSTALL_DIR)/$(LIB_FILE)"' -+ if test "${SHLIB_SUFFIX}" = ".dylib" ; then -+ INSTALL_LIB='$(INSTALL_LIBRARY) $(LIB_FILE) "$(LIB_INSTALL_DIR)/libtcl$(MAJOR_VERSION)$(MINOR_VERSION)$(SHLIB_VERSION)$(SHLIB_SUFFIX)"' -+ else -+ INSTALL_LIB='$(INSTALL_LIBRARY) $(LIB_FILE) "$(LIB_INSTALL_DIR)/$(LIB_FILE)$(SHLIB_VERSION)"' -+ fi - - fi - -@@ -8833,7 +8837,7 @@ else - - fi - -- INSTALL_STUB_LIB='$(INSTALL_LIBRARY) $(STUB_LIB_FILE) "$(LIB_INSTALL_DIR)/$(STUB_LIB_FILE)"' -+ INSTALL_STUB_LIB='$(INSTALL_DATA) $(STUB_LIB_FILE) "$(LIB_INSTALL_DIR)/$(STUB_LIB_FILE)"' - - # Define TCL_LIBS now that we know what DL_LIBS is. - # The trick here is that we don't want to change the value of TCL_LIBS if -@@ -10091,6 +10095,7 @@ _ACEOF - cat confdefs.h >>conftest.$ac_ext - cat >>conftest.$ac_ext <<_ACEOF - /* end confdefs.h. */ -+#include - int - main () - { -@@ -19101,9 +19106,9 @@ fi - # building libtcl as a shared library instead of a static library. - #-------------------------------------------------------------------- - --TCL_UNSHARED_LIB_SUFFIX=${UNSHARED_LIB_SUFFIX} --TCL_SHARED_LIB_SUFFIX=${SHARED_LIB_SUFFIX} --eval "TCL_LIB_FILE=libtcl${LIB_SUFFIX}" -+TCL_UNSHARED_LIB_SUFFIX=${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION}.a -+TCL_SHARED_LIB_SUFFIX=${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION}${SHLIB_SUFFIX} -+eval "TCL_LIB_FILE=libtcl${TCL_SHARED_LIB_SUFFIX}" - - # tclConfig.sh needs a version of the _LIB_SUFFIX that has been eval'ed - # since on some platforms TCL_LIB_FILE contains shell escapes. -@@ -19216,13 +19221,10 @@ else - eval libdir="$libdir" - # default install directory for bundled packages - PACKAGE_DIR="$libdir" -- if test "${TCL_LIB_VERSIONS_OK}" = "ok"; then -- TCL_LIB_FLAG="-ltcl${TCL_VERSION}" -- else -- TCL_LIB_FLAG="-ltcl`echo ${TCL_VERSION} | tr -d .`" -- fi -+ TCL_LIB_FLAG="-ltcl${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION}" - TCL_BUILD_LIB_SPEC="-L`pwd | sed -e 's/ /\\\\ /g'` ${TCL_LIB_FLAG}" -- TCL_LIB_SPEC="-L${libdir} ${TCL_LIB_FLAG}" -+ TCL_LIB_SPEC_RPATH="${COMPILER_RPATH_FLAG}${libdir}" -+ TCL_LIB_SPEC="${TCL_LIB_SPEC_RPATH} -L${libdir} ${TCL_LIB_FLAG}" - fi - VERSION='${VERSION}' - eval "CFG_TCL_SHARED_LIB_SUFFIX=${TCL_SHARED_LIB_SUFFIX}" -@@ -19243,10 +19245,8 @@ if test "$FRAMEWORK_BUILD" = "1" ; then - TCL_PACKAGE_PATH="$TCL_PACKAGE_PATH:/Library/Frameworks/Tk.framework/Versions" - test -z "$TCL_MODULE_PATH" && \ - TCL_MODULE_PATH="~/Library/Tcl /Library/Tcl" --elif test "$prefix/lib" != "$libdir"; then -- test -z "$TCL_PACKAGE_PATH" && TCL_PACKAGE_PATH="${libdir}:${prefix}/lib" - else -- test -z "$TCL_PACKAGE_PATH" && TCL_PACKAGE_PATH="${prefix}/lib" -+ test -z "$TCL_PACKAGE_PATH" && TCL_PACKAGE_PATH="${prefix}/lib/tcl:${prefix}/lib" - fi - - #-------------------------------------------------------------------- -@@ -19261,12 +19261,7 @@ eval "TCL_STUB_LIB_FILE=libtclstub${TCL_ - eval "TCL_STUB_LIB_FILE=\"${TCL_STUB_LIB_FILE}\"" - eval "TCL_STUB_LIB_DIR=\"${libdir}\"" - --if test "${TCL_LIB_VERSIONS_OK}" = "ok"; then -- TCL_STUB_LIB_FLAG="-ltclstub${TCL_VERSION}" --else -- TCL_STUB_LIB_FLAG="-ltclstub`echo ${TCL_VERSION} | tr -d .`" --fi -- -+TCL_STUB_LIB_FLAG="-ltclstub${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION}" - TCL_BUILD_STUB_LIB_SPEC="-L`pwd | sed -e 's/ /\\\\ /g'` ${TCL_STUB_LIB_FLAG}" - TCL_STUB_LIB_SPEC="-L${TCL_STUB_LIB_DIR} ${TCL_STUB_LIB_FLAG}" - TCL_BUILD_STUB_LIB_PATH="`pwd`/${TCL_STUB_LIB_FILE}" -@@ -19420,34 +19415,15 @@ fi - # Transform confdefs.h into DEFS. - # Protect against shell expansion while executing Makefile rules. - # Protect against Makefile macro expansion. --# --# If the first sed substitution is executed (which looks for macros that --# take arguments), then we branch to the quote section. Otherwise, --# look for a macro that doesn't take arguments. --cat >confdef2opt.sed <<\_ACEOF --t clear --: clear --s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\),-D\1=\2,g --t quote --s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\),-D\1=\2,g --t quote --d --: quote --s,[ `~#$^&*(){}\\|;'"<>?],\\&,g --s,\[,\\&,g --s,\],\\&,g --s,\$,$$,g --p --_ACEOF --# We use echo to avoid assuming a particular line-breaking character. --# The extra dot is to prevent the shell from consuming trailing --# line-breaks from the sub-command output. A line-break within --# single-quotes doesn't work because, if this script is created in a --# platform that uses two characters for line-breaks (e.g., DOS), tr --# would break. --ac_LF_and_DOT=`echo; echo .` --DEFS=`sed -n -f confdef2opt.sed confdefs.h | tr "$ac_LF_and_DOT" ' .'` --rm -f confdef2opt.sed -+cat > conftest.defs <<\EOF -+s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g -+s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g -+s%\[%\\&%g -+s%\]%\\&%g -+s%\$%$$%g -+EOF -+DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '` -+rm -f conftest.defs - - - -@@ -20077,6 +20053,7 @@ s,@EXTRA_BUILD_HTML@,$EXTRA_BUILD_HTML,; - s,@EXTRA_TCLSH_LIBS@,$EXTRA_TCLSH_LIBS,;t t - s,@DLTEST_LD@,$DLTEST_LD,;t t - s,@DLTEST_SUFFIX@,$DLTEST_SUFFIX,;t t -+s,@SHLIB_VERSION@,$SHLIB_VERSION,;t t - CEOF - - _ACEOF Index: patches/patch-unix_tclConfig.sh.in =================================================================== RCS file: patches/patch-unix_tclConfig.sh.in diff -N patches/patch-unix_tclConfig.sh.in --- patches/patch-unix_tclConfig.sh.in 31 Oct 2014 21:11:18 -0000 1.2 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,23 +0,0 @@ -$NetBSD: patch-unix_tclConfig.sh.in,v 1.2 2014/10/31 21:11:18 adam Exp $ - ---- unix/tclConfig.sh.in.orig 2014-08-26 15:23:08.000000000 +0000 -+++ unix/tclConfig.sh.in -@@ -9,6 +9,8 @@ - # - # The information in this file is specific to a single platform. - -+if [ -z "${_TCL_NOTHREAD}" ]; then -+ - # Tcl's version number. - TCL_VERSION='@TCL_VERSION@' - TCL_MAJOR_VERSION='@TCL_MAJOR_VERSION@' -@@ -167,3 +169,9 @@ TCL_STUB_LIB_PATH='@TCL_STUB_LIB_PATH@' - - # Flag, 1: we built Tcl with threads enabled, 0 we didn't - TCL_THREADS=@TCL_THREADS@ -+ -+else -+ -+. @prefix@/lib/tclConfig-nothread.sh -+ -+fi Index: patches/patch-unix_tclUnixFCmd.c =================================================================== RCS file: patches/patch-unix_tclUnixFCmd.c diff -N patches/patch-unix_tclUnixFCmd.c --- patches/patch-unix_tclUnixFCmd.c 11 Jan 2014 14:41:05 -0000 1.2 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,21 +0,0 @@ -$NetBSD: patch-unix_tclUnixFCmd.c,v 1.2 2014/01/11 14:41:05 adam Exp $ - -Carried over from TCL 8.4 - ---- unix/tclUnixFCmd.c.orig 2012-07-16 11:57:06.000000000 +0000 -+++ unix/tclUnixFCmd.c -@@ -676,6 +676,14 @@ TclpDeleteFile( - *--------------------------------------------------------------------------- - */ - -+/* Reintroduced here for the benefit of scotty */ -+int -+TclpCreateDirectory(path) -+ CONST char *path; -+{ -+ return DoCreateDirectory(path); -+} -+ - int - TclpObjCreateDirectory( - Tcl_Obj *pathPtr) Index: patches/patch-unix_tclUnixInit.c =================================================================== RCS file: patches/patch-unix_tclUnixInit.c diff -N patches/patch-unix_tclUnixInit.c --- patches/patch-unix_tclUnixInit.c 25 Jan 2025 21:29:26 -0000 1.6 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,65 +0,0 @@ -$NetBSD: patch-unix_tclUnixInit.c,v 1.6 2025/01/25 21:29:26 adam Exp $ - -Carried over from TCL 8.4 - ---- unix/tclUnixInit.c.orig 2024-11-27 15:56:57.000000000 +0000 -+++ unix/tclUnixInit.c -@@ -22,7 +22,7 @@ - # endif - #endif - #include --#if defined(__FreeBSD__) && defined(__GNUC__) -+#if (defined(__FreeBSD__) || defined(__DragonFly__)) && defined(__GNUC__) - # include - #endif - #if defined(__bsdi__) -@@ -31,6 +31,12 @@ - # include - # endif - #endif -+#if defined(__NetBSD__) -+#include -+#include -+#include -+#endif -+ - - #ifdef __CYGWIN__ - #ifdef __cplusplus -@@ -393,7 +399,7 @@ TclpInitPlatform(void) - (void) signal(SIGPIPE, SIG_IGN); - #endif /* SIGPIPE */ - --#if defined(__FreeBSD__) && defined(__GNUC__) -+#if (defined(__FreeBSD__) || defined(__DragonFly__)) && defined(__GNUC__) - /* - * Adjust the rounding mode to be more conventional. Note that FreeBSD - * only provides the __fpsetreg() used by the following two for the GNU -@@ -797,6 +803,11 @@ TclpSetVariables( - int unameOK; - const char *p, *q; - Tcl_Obj *pkgListObj = Tcl_NewObj(); -+#if defined(__NetBSD__) -+ char machine_arch[SYS_NMLN]; -+ int mib[2] = { CTL_HW, HW_MACHINE_ARCH }; -+ size_t len = sizeof(machine_arch); -+#endif - - #ifdef HAVE_COREFOUNDATION - char tclLibPath[MAXPATHLEN + 1]; -@@ -947,8 +958,15 @@ TclpSetVariables( - - #endif /* DJGPP */ - } -+#if defined(__NetBSD__) -+ if (sysctl(mib, sizeof(mib) / sizeof(int), machine_arch, &len, NULL, 0) < 0) -+ unameOK = 0; -+ else -+ Tcl_SetVar2(interp, "tcl_platform", "machine", machine_arch, TCL_GLOBAL_ONLY); -+#else - Tcl_SetVar2(interp, "tcl_platform", "machine", name.machine, - TCL_GLOBAL_ONLY); -+#endif /* __NetBSD__ */ - } - #endif /* !NO_UNAME */ - if (!unameOK) { Index: patches/patch-unix_tclUnixPort.h =================================================================== RCS file: patches/patch-unix_tclUnixPort.h diff -N patches/patch-unix_tclUnixPort.h --- patches/patch-unix_tclUnixPort.h 3 Feb 2018 17:51:19 -0000 1.5 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,17 +0,0 @@ -$NetBSD: patch-unix_tclUnixPort.h,v 1.5 2018/02/03 17:51:19 adam Exp $ - ---- unix/tclUnixPort.h.orig 2017-10-13 13:41:43.000000000 +0000 -+++ unix/tclUnixPort.h -@@ -145,11 +145,7 @@ typedef off_t Tcl_SeekOffset; - #ifdef HAVE_STDINT_H - # include - #endif --#ifdef HAVE_UNISTD_H --# include --#else --# include "../compat/unistd.h" --#endif -+#include - - extern int TclUnixSetBlockingMode(int fd, int mode); -