Up to [cvs.NetBSD.org] / pkgsrc / lang / tcl
Request diff between arbitrary revisions
Keyword substitution: kv
Default branch: MAIN
tcl: updated to 8.6.16 8.6.16 * unneeded path normalization (sebres) * zlib stream returns negative checksums (nadkarni) * zlib-8.8, zlib-8.16 fail on Fedora 40 (nijtmans) * win/makefile: wrong recipe to buid libtcl.a and missing dependencies (sebres) * regression in tzdata, %z instead of offset TZ-name (sebres) * Tcl will not start properly if there is an init.tcl file in the current dir (sebres) * clock scan of leapsecond: wrong result (sebres) * Segfault in TclOO with coroutines (goth,sebres) 8.6.15 * remove private unicode 0xE000-0xF8FF from unicode control group (nijtmans) * TCL_PACKAGE_PATH in tclConfig.sh change from TCL list to ":" (UNIX) or ";" (Windows) separated items (nijtmans) *** POTENTIAL INCOMPATIBILITY *** * Time zones added: Alaska Standard/Daylight (nijtmans) * fix compiled mapped ensembles (sebres) * fix encoding koi8-u codepoint 0xB4 * speedup op unicode transformation related operations (sebres) * Add encodings: koi8-ru, koi8-t * Fix Tcl_ParseArgsObjv with TCL_ARGV_GENFUNC option (gavilan) * Hash speedup for pointer compare. Option TCL_HASH_KEY_DIRECT_COMPARE for hash tables (sebres) * Deprecate Tcl_GetAlias() * Correct tcl::tm::path autoload (nadkarni) * Remove empty all items from tclConfig.sh path variables. * Fix crash in oo+coroutine (fellows) * fix crash in oo destructors in same namespace * Fix crash in reflected channels * Fix crash due to unchecked file descriptor size * Fix report of non ASCII computer names on Windows (fasel) * Fix error message caused by interp limit * Source files with BOM also in safe interpreters * Fix encoding system result for system locale ISO-8859-1 * Tcl_NewObjectInstance() errors on namespace re-use (fellows) *** POTENTIAL INCOMPATIBILITY -- breaks Itcl 4.2 *** * for linked varnames (fellows) * Unicode version 16 (nijtmans) * with wide int increment * Fix Windows NTFS alternate data streams (ADS) accessability
tcl, tk: updated to 8.6.14 Summary of Changes since Tcl/Tk 8.6.13: -------------------------------------- This is a patch release, so it primarily includes bug fixes and corrections to erratic behavior. Highlighted changes are noted below. The changes file at the root of the source tree contains a more complete list. The Timelines of all changes are online. http://core.tcl-lang.org/tcl/timeline http://core.tcl-lang.org/tk/timeline * [TIP 402] revise path normalization for x-platform UNC path support *** POTENTIAL INCOMPATIBILITY *** * Harmonize Tk's parse of numbers (screen distance, etc) with Tcl *** POTENTIAL INCOMPATIBILITY *** * Iconlist ignores options db for fg text color; affects dialogs *** POTENTIAL INCOMPATIBILITY *** * Aqua: XPutImage() swaps red and blue channels *** POTENTIAL INCOMPATIBILITY *** * [encoding convertfrom] handling of incomplete code sequences *** POTENTIAL INCOMPATIBILITY *** * Harmonize handling of ~ in paths across platforms. *** POTENTIAL INCOMPATIBILITY *** * Fix menu clone binding misbehavior, menu-20.1[2-6]. *** POTENTIAL INCOMPATIBILITY *** * Improved performance of [exec] and [open |$cmd] on unix-lke systems, especially with large memory footprints. * Improve performance of large treeview destruction. * Improve performance of large image insertions into text. * Improve widget creation performance due to poor font caching. * Fix notebook tab appearances when placed on edge other than top. * Enable treeview display of partial final line. * Win: restore [exec %var%] that was dropped in 8.6.13. * Allow [chan create {} $cmd]. Enables simulation of server channels. * Allow return from [tk scaling] in safe interps. * Prevent navigation by word exposing clues to masked entry contents. * Fix crashes or hangs in... - [chan pop] with pending input - thread finalization of reflected channels - [label .l -bitmap floppy] - [set tcl_precision 15; expr 6.4623485355705287e-27] - [tk busy forget] and [tk busy hold] - channel read into "string" Tcl_Obj can BO, and perform poorly - KVO crash after destroying Aqua's first root toplevel - Test treeview-6ee162c3f9 - Test tailcall-bug-784befb0ba - Tests menu-40.[12] * Repair memory leaks and errors - Eliminate undefined realloc() calls - Silence many warnings from -fsanitize=function - Flawed interfacing with XIM - Tcl_UtfToExternal writing to one-byte buffer - Tcl_UtfToUniChar() handling of 0xC1. - Tk_ConfigureValue could call wrong free() routine. - tests getuncichar-1.* in utf.test - ...and many more * No more support for 32-bit Cygwin * ::tcl_platform(osVersion) updated to report Windows 11 * Accommodate macOS deprecation of sprintf() * Silence macOS 14 warnings about secure restorable state. * Code changes to support ASan use-after-return detection * Revise Tcl_MakeFileChannel() to better partner with pledge() * Prevent false [clock format] error reports on FreeBSD * Region clip & copy make better use of OS facilities. * Update handling of Apple FourCC creator codes. * Text selection omits first character, text-38.1 * Windows: improved support of non-BMP pathnames * Fixed some Y2038 limitations * Fix photo color drawing on X11 32-bit visuals. * Fix <<MenuSelect>> regression on menus with -tearoff * Correct rounding of [nsFont pointSize]. * zlib comment/filename error handling (zlib-8.19, zlib-8.2[012]) * Prevent theme change attempts after Tk finalize. * Make dialogs robust against parent destruction. * Make [tk_chooseColor] robust against failed grab. * Fix menu parsing of @x,y indices. menu-22.[6-9] * Fix inconsistent results from [font measure]. * Fixed [clock scan|add] handling of abbreviated options * Avoid endless loops replacing [unknown] or [history]. * Fix polluted error messages from [send -option]. * PNG photo image decoder missed a 0xFF entry. * Fix failing winTime-2.1 on Windows * test string-2.20.1 failed on big endian platforms * Updated bundled packages, libraries, standards, data - Itcl 4.2.4 - sqlite3 3.44.2 - Thread 2.8.9 - TDBC* 1.1.7 - tcltest 2.5.7 - libtommath 1.2.1 - zlib 1.3.1 - Unicode 15.1 - tzdata 2024a
tcl: updated to 8.6.13 8.6.13 2021-12-08 (update) tcltest package to version 2.5.4 2022-01-13 (bug)[26f132] Crash when sizeof(int) < sizeof(void *) (Plan 9 port) 2022-01-19 (TIP 623)[e9a271] Tcl_GetRange index args < 0 (petasis,nijtmans) 2022-03-08 (bug) test string-5.22 (porter) 2022-03-11 (bug)[8a7ec8] fat binary compile on Mac M1 (davis, nijtmans) 2022-04-04 (bug)[e5ed1b] numeric IPv6 in URLs (nijtmans) => http 2.9.6 2022-04-26 (bug)[27520c] test error-9.6 (goth,sebres) 2022-05-04 (bug)[8eb64b] http package tolerant again invalid reply header 2022-05-11 (bug)[6898f9] http package failed detection of shiftjis charset 2022-05-25 (bug)[76ad7a] tests string-6.13[23] (mistachkin, nijtmans) 2022-06-20 (bug)[55bf73] Avoid connection reuse after response code 101. => http 2.9.8 2022-07-22 (bug)[713653] FP rounding exposed by x86 musl (rubicon,sebres) 2022-07-22 More portable notation of microseconds in verbose output (sebres) => tcltest 2.5.5 2022-07-27 (bug)[b3977d] Process CR-LF split across packets (nadkarni,sebres) 2022-07-29 (bug)[4eb3a1] crash due to undetected bytecode invalidity (nadkarni) 2022-08-23 (new)[371080] Portability to CHERI-enabled Morello processor (jrtc27) 2022-09-06 (bug)[55a02f] Fallback init env(HOME) from USERPROFILE (nadkarni) 2022-09-13 (bug)[1073da] crash writing invalid utf-8 (nijtmans) 2022-09-14 (new) Update to Unicode-15 (nijtmans) 2022-10-14 tzdata updated to Olson's tzdata2022e (nijtmans) Update bundled zlib to 1.2.13 Update bundled libtommath Many code fixes to avoid overflow or undefined behavior.
tcl: updated to 8.6.12 8.6.12: Bug fixes
tcl/tk: updated to 8.6.10 Changes in Tcl/Tk 8.6.10 Tcl Changes New unsupported commands tcl::unsupported::timerate tcl::unsupported::corotype Tk Changes New Commands tk::mac::PerformService tk::mac::LaunchURL tk::mac::GetAppPath tk::mac::PrintDocument Expanded Syntax / New Options menubutton post x y index combobox current end Updated packages http 2.9.1 Itcl 4.2.0 Thread 2.8.5 sqlite 3.30.1 tdbc 1.1.1
tcl: updated to 8.6.9 8.6.9: * (enhance) stop blocking conversion of object to/from class * (enhance) NR-enable [package require] * (bug)[9fd5c6] crash in object deletion, test oo-11.5 * (bug)[3c32a3] crash deleting object with class mixed in * (platform) stop using -lieee, removed from glibc-2.27 ***POTENTIAL INCOMPATIBILITY for math programs that embed Tcl*** * (bug)[8e6a9a] bad binary [string match], test string-11.55 * (bug)[1873ea] repair multi-thread std channel init * (bug)[db36fa] broken bytecode for index values * (bug) broken compiled [string replace], test string-14.19 * (bug) [string trim*] engine crashed on invalid UTF * (bug) missing trace in compiled [array set], test var-20.11 * (bug)[46a241] crash in unset array with search, var-13.[23] * (bug)[27b682] race made [file delete] raise "no such file" * (bug)[925643] 32/64 cleanup of filesystem DIR operations * (bug) leaks in TclSetEnv and env cache * (bug)[3592747] [yieldto] dying namespace, tailcall-14.1 * (bug)[270f78] race in [file mkdir] * (bug)[3f7af0] [file delete] raised "permission denied" * (bug)[d051b7] overflow crash in [format] * revised quoting of [exec] args in generated command line ***POTENTIAL INCOMPATIBILITY*** * HTTP Keep-Alive with pipelined requests => http 2.9.0 * (new)[TIP 505] [lreplace] accepts all out of range indices * (bug) Prevent crash from NULL keyName => registry 1.3.3 * (enhance) advance dde version => dde 1.4.1 * tzdata updated to Olson's tzdata2018g * Update tcltest package for Travis support => tcltest 2.5.0 * (bug)[35a8f1] overlong string length of some lists * (bug)[00d04c] Repair [binary encode base64]
tcl: updated to 8.6.8 8.6.8: [array names -regexp] supports backrefs Fix gcc build failures due to #pragma placement (bug)[b50fb2] exec redir append stdout and stderr to file (bug)[2a9465] http state 100 continue handling broken (bug)[0e4d88] replace command, delete trace kills namespace (bug)[1a5655] [info * methods] includes mixins tzdata updated to Olson's tzdata2017c (bug)[fc1409] segfault in method cloning, oo-15.15 (bug)[6f2f83] More robust [load] for ReactOS (bug)[3298012] Stop crash when hash tables overflow 32 bits (bug)[5d6de6] Close failing case of [package prefer stable] (bug)[fab924] Fix misleading [load] message on Windows (bug)[4f6a1e] Crash when ensemble map and list are same (bug)[ce3a21] file normalize failure when tail is empty (new)[TIP 477] nmake build system reform (bug)[586e71] EvalObjv exception handling at level 0
Export TDBC_VERSION like ITCL_VERSION. Use these versions as well in Makefile and PLIST. It's unclear whether buildlink3.mk might include Makefile.version, this is the reason to duplicate this information. There are other packages that might be versioned similarily: - sqlite3, - thread. No user-visible change in the main package.
Provide bundled itcl version (ITCL_VERSION) in buildlink3.mk Packages need to know files with ITCL of current TCL version.
Remove mk/find-prefix.mk usage from the lang category. The find-prefix infrastructure was required in a pkgviews world where packages installed from pkgsrc could have different installation prefixes, and this was a way for a dependency prefix to be determined. Now that pkgviews has been removed there is no longer any need for the overhead of this infrastructure. Instead we use BUILDLINK_PREFIX.pkg for dependencies pulled in via buildlink, or LOCALBASE/PREFIX where the dependency is coming from pkgsrc. Provides a reasonable performance win due to the reduction of `pkg_info -qp` calls, some of which were redundant anyway as they were duplicating the same information provided by BUILDLINK_PREFIX.pkg.
The TCL library links with libz, so pull in the dependency.
Changes 8.6.1: * object-oriented programming support * a stackless evaluation implementation and much more besides.
lang/tcl: Upgrade from version 8.4.18 to 8.5.12 Highlights of Tcl 8.5 * Features: 8.5 has over 90 TIPs included to provide a wide variety of new features. * Bignums: Tcl now supports arbitrary-precision integers, which improves math operations on large integers. * Safer interps: Tcl's powerful safe interpreter mechanism now has improved control of time and command limits in slave interpreters. * clock command: More robust implementation of command for specifying time, with significant l10n and i18n improvements. * dict command: New data structure that allows access to data by value rather than a variable name, which is substantially faster. * Additional improvements: Faster list search, new and improved mathematics procedures, anonymous procedures, new ways to package Tcl extensions, Tcl-level custom channel types, file and line location information for each command, and more. There is of course much, much more. See [8.5 Changes](http://wiki.tcl.tk/10630) on the wiki for a complete list of new features.
Set TCLSH here, same as PERL5 in lang/perl5/buildlink3.mk.
Use tclsh from pkgsrc for the case lang/tcl is buildlinked.
Remove @dirrm related logic.
Simply and speed up buildlink3.mk files and processing. This changes the buildlink3.mk files to use an include guard for the recursive include. The use of BUILDLINK_DEPTH, BUILDLINK_DEPENDS, BUILDLINK_PACKAGES and BUILDLINK_ORDER is handled by a single new variable BUILDLINK_TREE. Each buildlink3.mk file adds a pair of enter/exit marker, which can be used to reconstruct the tree and to determine first level includes. Avoiding := for large variables (BUILDLINK_ORDER) speeds up parse time as += has linear complexity. The include guard reduces system time by avoiding reading files over and over again. For complex packages this reduces both %user and %sys time to half of the former time.
Change the format of BUILDLINK_ORDER to contain depth information as well, and add a new helper target and script, "show-buildlink3", that outputs a listing of the buildlink3.mk files included as well as the depth at which they are included. For example, "make show-buildlink3" in fonts/Xft2 displays: zlib fontconfig iconv zlib freetype2 expat freetype2 Xrender renderproto
Track information in a new variable BUILDLINK_ORDER that informs us of the order in which buildlink3.mk files are (recursively) included by a package Makefile.
Changes 8.4.13: * Win NT/XP: unicode console support taken back out. * ${prefix}/share addition to ::tcl_pkgPath undone. * Warning message for packages with incorrect index scripts silenced. * Correct syntax error in configure script (bash 3.1 exposes it). * Tk incompatibilities with SCIM resolved. * Improved [file writable] support of Windows conventions. * Tcl_GetIndexFromObj() support for exact matching of empty key. * Tk Portuguese localization support (pt.msg). * Tk more robust when X server does not recognize color name "Black". * Tk_PhotoPutBlock() performance improvement. * [lsearch -start $pastEnd] no longer finds match at end of list. * Correct [expr abs($LONG_MIN)] result. * Correct [string range] failures on some strings containing \x00. * TCL_EVAL_GLOBAL and [uplevel 0] agreement when traces or [unknown] active. * Corrections to context of auto-loading the target of an interp alias. * Corrected some interference between enter and enterstep traces. * Correct [$img configure -data] failure to change X display. * Tk_GetBitmapFromData() thread safety. * Crashes in [grid] for some invalid index arguments. * Crash when all content of a [text] is elided. * Crash in [$text edit undo/redo]. * Crash in animated GIF display with variable frame size. * Crash related to pipe usage in thread-enabled Tcl on Windows. * Crash when [$text dump -command] changes contents while dumping. * Crash reading utf-8 when multibyte char spans multiple buffers at EOF. * Several finalization crashes corrected.
Over 1200 files touched but no revisions bumped :) RECOMMENDED is removed. It becomes ABI_DEPENDS. BUILDLINK_RECOMMENDED.foo becomes BUILDLINK_ABI_DEPENDS.foo. BUILDLINK_DEPENDS.foo becomes BUILDLINK_API_DEPENDS.foo. BUILDLINK_DEPENDS does not change. IGNORE_RECOMMENDED (which defaulted to "no") becomes USE_ABI_DEPENDS which defaults to "yes". Added to obsolete.mk checking for IGNORE_RECOMMENDED. I did not manually go through and fix any aesthetic tab/spacing issues. I have tested the above patch on DragonFly building and packaging subversion and pkglint and their many dependencies. I have also tested USE_ABI_DEPENDS=no on my NetBSD workstation (where I have used IGNORE_RECOMMENDED for a long time). I have been an active user of IGNORE_RECOMMENDED since it was available. As suggested, I removed the documentation sentences suggesting bumping for "security" issues. As discussed on tech-pkg. I will commit to revbump, pkglint, pkg_install, createbuildlink separately. Note that if you use wip, it will fail! I will commit to pkgsrc-wip later (within day).
These packages install libraries that dlopen() shared modules.
During print-PLIST, output a comment for the tcl/lib directory.
Libtool fix for PR pkg/26633, and other issues. Update libtool to 1.5.10 in the process. (More information on tech-pkg.) Bump PKGREVISION and BUILDLINK_DEPENDS of all packages using libtool and installing .la files. Bump PKGREVISION (only) of all packages depending directly on the above via a buildlink3 include.
add hooks to plug in a non-threaded version of libtcl.so (needed for embedding into non-threaded programs) without duplicating anything else
Reverse previous commit (disabling thread-safety), which was poorly though through, unacceptably breaks threaded apps, and was made without consulting the package's maintainer. To quote my mail to packages@: I am reversing this change. With this change, tcl is _not_ usable in threaded apps, while without this change, tcl is perfectly usable in non-threaded apps. The fix for a package which is incorrectly written is not to break the package it depends on, but do your job correctly when writing the package. With buildlink3, this is mind-numbingly easy to do. That you neither contacted the maintainer of this package, nor did the buildlink and dependent package changes which your change requires shows that you have not really thought this through. So, as I said, I am reversing this change. Fix your own package, don't break others.
Don't --enable-threads for now. If we do this, all potential users of libtcl.so/libtk.so (whether linking it in or dlopen() it) must be linked against libpthread. This is something we can't guarantee. Fixes bulk build error in py-imagingtk and numerous runtime problems.
Fix up some Makefile logic that got broken by the libtool patches (and prevented it from building on some platforms). Ensure that the built library is named libtcl84 (as opposed to libtcl8.4) on all platforms.
Move the inclusion of pthread.buildlink3.mk within the section that manages the buildlink3 stack depth.
Now that we build tcl/tk with thread safety enabled, pull pthread buildlink glue into the tcl buildlink glue. Also, update buildlink dependencies appropriately. Pointed out by wiz@netbsd.org.
Update tcl to 8.4.5. Too many changes since 8.3.4. Please see ChangeLog in the distfile.
Reorder location and setting of BUILDLINK_PACKAGES to match template buildlink3.mk file in revision 1.101 of bsd.buildlink3.mk.
Append to BUILDLINK_DEPENDS.<pkg> instead of setting a default value. In the normal case when BUILDLINK_DEPENDS.<pkg> isn't specified, it receives a value only once due to the multiple inclusion protection in the bulldlink3.mk files. In the case where a package includes several buildlink3.mk files that each want a slightly different version of another dependency, having BUILDLINK_DEPENDS.<pkg> be a list allows for the strictest <pkg> dependency to be matched.
Use S/+$// instead of C/\+$// to save a backslash. Very highly recommended by seb :)
Re-arrange to match example buildlink3.mk file in bsd.buildlink3.mk.
Initial sprinkling of work-in-progress buildlink3.mk files for using the buildlink3 framework.