* --enable-aqua build for Mac OS X is now a Cocoa implementation.
* Support has been added for Cygwin network pathnames.
* Updated to Unicode 6.2 support. Fixes for several crashes and bugs.
tcl_platform(machine), instead of using $MACHINE there.
This is in preparation for reverting the recent change
to the net/tcl-scotty PLIST.
Bump PKGREVISION.
The runpath of the TCL_LIB_SPEC was missing as compared to version 8.4,
so the configure script was altered to add it back.
Also, the CONFIGURE_ARGS for thread options had unrecognized arguments.
Problems found and fixes suggested by he@
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.
The previous commit caused DragonFly to build the libraries with a
different file name than specified in the PLIST, causing the build
to fail on DragonFly.
This commit forces DragonFly to use library names without dots to
match the PLIST.
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.
* generic/tclInterp.c (Tcl_GetAlias): fix for [Bug 1882373]
* generic/regguts.h, generic/regc_color.c, generic/regc_nfa.c:
Fixes for problems created when processing regular expressions that
generate very large automata. An enormous number of thanks to Will
Drewry <wad@google.com>, Tavis Ormandy <taviso@google.com>, and Tom
Lane <tgl@sss.pgh.pa.us> from the Postgresql crowd for their help in
tracking these problems down. [Bug 1810264]
* unix/tclUnixCompat.c (TclpGetHostByName): Really applied
the change noted on 2007-11-13 by dkf below.
* generic/tclIOUtil.c (TclGetOpenMode): Only set the O_APPEND flag
* tests/ioUtil.test (ioUtil-4.1): on a channel for the 'a'
mode and not for 'a+'. [Bug 1773127] (backport from HEAD)
* generic/tclCmdIL.c (Tcl_LsearchObjCmd): Prevent shimmering crash
when -exact and -integer/-real are mixed. [Bug 1844789]
* generic/tclThread.c: Back-port locking changes from Tcl8.5
in Tcl_Mutex/ConditionFinlize. Now we properly master-lock
the finalization of sync primitives.
* generic/regc_nfa.c: Fixed infinite loop in the regexp compiler
* generic/regcomp.c: [Bug 1810038]. Corrected looping logic in
* tests/regexp.test: fixempties() to avoid wasting time walking a
list of dead states [Bug 1832612]. Convert optst() from expensive
no-op to a cheap no-op. Improve newline usage in debug output.
* unix/tclUnixCompat.c (TclpGetHostByName): The six-argument form of
getaddressbyname_r() uses the fifth argument to indicate whether the
lookup succeeded or not on at least one platform. [Bug 1618235]
* generic/regc_lex.c (lexescape): Ensure that backreference numbers
can't overflow a signed int in a way that breaks things. [Bug 1810264]
* generic/tclParse.c (Tcl_ParseBraces): fix for possible read
after the end of buffer, [Bug 1813528] (Joe Mistachkin).
* generic/tclObj.c (Tcl_FindCommandFromObj): fix finding a deleted
command; cannot trigger this from Tcl itself, but crash reported
on xotcl. This check is new to 8.4 but exists in 8.5, so this is a
backport or something. Thanks Gustaf Neumann.
* generic/tcl.h (Tcl_DecrRefCount): Update change from 2006-05-29
to make macro more warning-robust in unbraced if code.
* Tk_PhotoPutBlock performance restored (JPEG image loading).
* [namespace inscope] change reverted; harmed Itcl.
* Made [expr {srand(.)}] accept wide integer argument.
* Made [lappend $invalidList] raise an error.
* Improved [text] delete performance.
* Support for the WM_UNICHAR window message on Windows
* Stopped excess variable writes by [scale].
* Tcl_Main no longer blocks main loop start for one interactive command.
* [console] made thread safe.
* Thread-enabled configuration uses MT-safe system calls.
* Many Aqua/Tk bug fixes and improvements, see changes file.
* Made unthreaded notifier naked-fork-safe on Darwin.
* Support for weak linking on Mac OS X.
* msgcat support for CFLocale on Darwin (msgcat 1.3.4)
* Fixed crashes due to alignment issues in encoding translation routines.
* Fixed crash with [listbox -listvariable] on namespace variable.
* Fixed crash when Tcl_DeleteTrace changes proc on the active stack.
* Fixed crash when normalizing filesystem pathnames.
* Fixed crash due to invalid font name from XServer.
* Several 64-bit bugs fixed and platform support enhanced.
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
* 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.
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).
* Repeated [namespace import] of same command now permitted.
* ${prefix}/share added to ::tcl_pkgPath on some systems.
* [exec]'s >> redirection has improved append behavior.
* [info globals] returned only existing variables.
* Recognize some Solaris variations of the cp1251 encoding.
* Addressed [file mkdir] race condition.
* Support opening >2GB files on RHEL 3.
* Corrections to $argv formatting when [encoding system] is multibyte.
* http 2.5.2: Update URL encoding rules to RFC 3986.
* Fixed issue in recursive file delete with NFS lock files.
* Stopped crash after use of Tcl_TraceCommand().
* Win NT/XP: support unicode console.
* Improved support for Tclkit to set [encoding system].
* Added Korean timezone abbreviations.
* Windows: exit codes can now exceed -128..127 range.
* [load] support on LynxOS.
* Packages with incorrect index scripts now cause a warning to be logged.
*** POTENTIAL INCOMPATIBILITY ***
* [lsearch -regexp] now accepts backrefs in the RE.
* [selection get] made compatible with OpenOffice.org.
* Dialog support for widget names containing spaces.
* Improved Tk window manager event interaction on OS X Aqua.
Remove the --mandir setting for CONFIGURE_ARGS as this is
now done by default (for GNU_CONFIGURE).
Remove the man page staging from post-install (and the
comment about this). The maintainer told me this was
a workaround for older versions of tcl and that it is
fixed now.
to follow the principle of least surprise between the packages and the
mainstream builds.
Approved by jwise@.
Bump PKGREVISION of lang/tcl, x11/tk, x11/tk83 to 1 and of lang/tcl83 to 2.
NetBSD/i386 2.0_STABLE and current: set timezone in TEST_ENV, use
libtool to compile shared test modules and account for that in the
Tcl test scripts.
Thanks to jwise@ for the helping hand.
to the build environment, which of course no longer exists once we
install the file. Also make sure that variables are set using
double quotes, so that variables inside are expanded. Ok jwise@.
* Fixed segfault in info vars trivial matching branch (new in 8.4.8)
* Fixed the treatment of backslashes in file join on Windows
* Improved readdir_r detection and usage on unix
* Fixed potential unix fileevent issue on 64-bit systems
* Remove file normalize on tcl_findLibrary search path uniqification
added in 8.4.8
* Ensure tilde paths are not returned specially by 'glob'
* Fixed clipping of partially transparent images on buttons on unix to
avoid X error
* Fix Tk_PhotoPut(Zoomed)Block overlay compositing of partially
transparent areas on blank targets
* Fixed possible deadlock in Tcl_Finalize
* Fixed thread IDs on 64-bit systems
* Fixed [scan %ld] handling LP64 systems
* Fixed [string map $samevar $samevar] crash
* Fixed broken [namespace forget] logic
* Fixed [namespace import] cycle prevention
* Improved control over int <-> wideInt conversion
* Fixed buffer overflow when there is a syntax error in [subst]
* Fixed [file executable] result for case insensitivity on Windows
* Fixed [expr {NaN == NaN}] result
* Make [tcl_findLibrary] search $::auto_path as well
* Fixed crash in [fconfigure -ttycontrol] in threaded build
* [TIP 222] implementation of [wm attributes -alpha] on Windows
* [TIP 159] implementation of [wm iconphoto]
* Make Tk [load]-able on OS X/Aqua
* Handle color/screen resolution changes on Windows
* Fixed [wm resizable] for Solaris/CDE
* Handle Windows native dialog double clicks that fall through
* Fixed [place forget] memory leak
* Recompute menu geometry on named font size change
* Fixed X/IME IC focus after creation
* Improved multiple display Tk dialog window placement
* Fixed compound buttons for OS X/Aqua
* Documentation improvements and test suite expansion
tcl packages assume that this directory exists and never delete it
when deinstalled. This fixes the tcl-fbsql build problem noted in
recent bulk builds. Bump PKGREVISION.
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.
* Fixed [glob -path] bug when in the root directory
* Fixed unicode-char path installation on Windows NT-based platforms
* Properly subsitute more values in Windows tclConfig.sh
* Improved stack overflow prevention on Windows
* Fixed mem leak in [fconfigure $serial -xchar]
* Fixed crash with [cd] with a volumerelative $HOME
* Fixed clock %G %V formats for ISO8601 week numbers
* Fixed support for non-WIDE_INT aware math functions
* Added [http::config -urlencoding] option
* Fixed utf-8 encoding of \u0000 on system I/O
* Prevented dde hangs with non-responsive apps
* Added round() wide integer support
* Cleaner exit and correction of mem leaks when using the threaded
memory allocator and reinitializing
* Improved build configuration on 64-bit systems
* Added read support of PPM/PGM with the -data option
* Correct issue with displaying maximize window button on KDE-3.2.1
* Fix drawing of unicode chars in menu titles on Windows
* Correctly post Tk clipboard data to the Windows clipboard on exit
* Fix the panedwindow -opaqueresize option to work as per the docs
* Reduce Tk tk_messageBox default font size to 14-point
* Prevent possible segfault in -maxundo
* Fix XIM initialization on Solaris
* Complete the implementation of the CG version of the X drawing
emulation layer on Mac OS X
* Fix several Mac OS X usability issues
All library names listed by *.la files no longer need to be listed
in the PLIST, e.g., instead of:
lib/libfoo.a
lib/libfoo.la
lib/libfoo.so
lib/libfoo.so.0
lib/libfoo.so.0.1
one simply needs:
lib/libfoo.la
and bsd.pkg.mk will automatically ensure that the additional library
names are listed in the installed package +CONTENTS file.
Also make LIBTOOLIZE_PLIST default to "yes".
(by extension). Evidence suggests there is (at best) a bad interaction
between pth and the thread memory allocator inside tcl, as witnessed by
the tcl-scotty's package failure to install if threads is enabled on
1.6.2_STABLE/i386. Interestingly, the version with native threads on
2.0_BETA/alpha works just nicely.
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.
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.
Comment indicates it was here earlier, now apparently scheduled
to be replaced by TclpObjCreateDirectory, but this will have to
do as a workaround for now.
that accumulates within itself with a do-nothing version because it tried
to re-use LDFLAGS for another purpose. This broke all library checks after
the "checking for ELF" step. Fix this by (duh) not re-using LDFLAGS but
by using a different variable. Bump the PKGREVISIONs of lang/tcl and
x11/tk.
This fixes building the threaded versions of tcl and tk.
* Tcl_Obj sharing fixed in [binary scan]
* Updated errno usage for recent glibc
* Fixed [file normalize ~unknownuser] error
* Fixed two memory leaks in VFS code
* Fixed possible infinite loop in TclFinalizeFilesystem
* Updated HP-UX 11 build libraries setup
* Unix std channels forced to exist at startup
* Stopped broken [exec] quoting of '{'
* Fixed memory leak with very long host names
* Corrected level interpretation of Tcl_CreateTrace
* Allow 64-bit configure on IRIX64-6.5*
* Several OS X/Aqua native integration improvements (scrollbar,
event generate, unicode clipboard, tk_messageBox, mousewheel event,
alpha blending for partially transparent images)
* Recognized native hand2/fleur cursors on Windows
* Post menubuttons so they stay on screen better
* Fixed crash during intra-image copy/resize
* New msg catalogs for Esperanto and Polish
* Corrections bold/italic font handling (width calculations) on Windows
* Fixed shrinking grid geometry calculations
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.
submitted in private mail by Georg Schwarz. Prevents PLIST mismatches
on these platforms.
Tested for non-interference with other platforms, but no specific
IRIX testing of this version of fix yet performed.