Extended Tcl (TclX), is a set of extensions to Tcl, the Tool
Command Language invented by Dr. John Ousterhout of the University
of California at Berkeley. Tcl is a powerful, yet simple embeddable
programming language. Extended Tcl is oriented towards Unix system
programming tasks, with many additional interfaces to the Unix
operating system, It is upwardly compatible with Tcl. You take
the Extended Tcl package, add it to Tcl, and from that you get
Extended Tcl.
WWW: http://tclx.sourceforge.net/

Use BINARY_ALIAS to make LLD_UNSAFE more widely applicable
Some ports do not honour $LD or -fuse-ld=bfd in $CFLAGS, but do invoke
ld via $PATH. Automatically set BINARY_ALIAS+=ld=${LD} when LLD_UNSAFE
is active to use ld.bfd for these ports.
Approved by: portmgr (antoine)
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D14876

Add "tea" argument to USES=tcl to facilitate porting of TEA-based extensions.
Quoting https://tcl.tk/doc/tea:
"The Tcl Extension Architecture, or TEA, by John Ousterhout and others, is a
set of guidelines and techniques for the distribution, configuration,
compilation, and installation of Tcl extensions. TEA also provides a set of
utilities that operate accordingly. Many Tcl extensions leverage the TEA
utilities, which are designed to be easily customizable."
To facilitate the porting of TEA-based extensions, I have added the new "tea"
argument to USES=tcl. This argument prepares the autoconf environment by
setting GNU_CONFIGURE and sets some commonly used CONFIGURE_ARGS. Also, it
tries to figure out the correct extension name, sets TCL_PKG accordingly, and
adds it to PLIST_SUB.
I have modified a few ports to take advantage of this. More will come.

Add USES=alias to several ports
Alias is a new USES tool that allows DragonFly to masquerade as FreeBSD
by setting CFLAGS+= -D__FreeBSD__. For some ports, this fixes the build
without the need for additional patches.
Approved by: portmgr (bapt, blanket)

After a lively discussion with Tcl developers, fix the TclX
profile-code to use the official API-calls instead of modifying
Tcl's internal data-structures directly.
The profile command now works again. Will try to have the change
committed upstream.

Convert all :U to :tu and :L to :tl
Since FreeBSD 8.4 and FreeBSD 9.1 make(1) do support :tu and :tl as a
replacement for :U and :L (which has been marked as deprecated)
bmake which is the default on FreeBSD 10+ only support by default
:tu/:tl a hack has been added at the time to support :U and :L to ease
migration. This hack is now not necessary anymore
Note that this makes the ports tree incompatible with make(1) from
FreeBSD 8.3 or earlier
With hat: portmgr

Allow building against any Tcl, rather than limit to 8.4. Both 8.3
should now work properly.
Add patch to fix profiling on 8.5 AND whenever the system has been up
for more than 25 days -- the latter used to overflow the clock_t-sized
variables, because TclX uses these 31-bit values to store milliseconds.
Use the proper method to obtain CLK_TCK -- if only on FreeBSD.

At some point a change in Tcl's core (in both 8.5 and 8.4) resulted
in an unintended call to write ZERO bytes to any descriptor, that was
opened for writing, when closing it.
When the descriptor belongs to a pipe, with its other end closed -- such
as when the started process has exited, doing so results in a SIGPIPE.
Tcl's core ignores SIGPIPEs, but TclX' self-tests didn't and began to
fail.
The bug should now be fixed in Tcl, but this patch is needed for TclX to
pass its own tests even when using the uncorrected version of Tcl.

Fix a line in configure script, which had a bug in it, that we didn't
care for, because the line was never reachable on FreeBSD.
Our new and improved sh cares deeply about such problems, however, and
configure started to fail even on 7-STABLE at the beginning of October.
Notified by: miwi

Work-around the deficiencies in FreeBSD package-building cluster,
which causes the regression-tests to fail by disabling the regression
tests.
Unbreak -- the build was never "broken" for the usual (non-jail)
systems.

- Fix a breakage caused by revision v 1.91 of ports/lang/tcl84/Makefile
- Switch to USE_TCL
- s/INSTALLS_SHLIB/USE_LDCONFIG/
- Support tcl84-thread
- Fix tclsh detection in configure
- Pet portlint.
Note: this port is still broken, because a test is failing, and tests
are part of the all target.
PR: ports/110805
Submitted by: /me
Approved by: mi (excepted the move of tests to a regression-test target)

Upgrade tclX from 8.3.5 to 8.4 released last November after several
years of idleness. The changes are fairly substantial -- all Tk bits,
however insignificant they were, are now removed completely, for
example. No TclX enabled executable is built/installed either -- a Tcl
script is expected to load the Tclx package via the "package require
Tclx" only.
The changes to port add the handling of SIGINFO (made possible by the
recent fix-up of lang/tcl84), running the authors' test-target as part
of the build, and skipping building/installing of help files in the
NOPORTDOCS case.
The devel/tcl-neo is the only dependant port of tclX and is updated to
depend on the new version.

Try to make the vendor's tests run smoothly. Fail, but in the process
eliminate all warnings (on i386) and const-ify the KeyedList-API and
others (patch-warnings grew up).
Fix a typo in the previous commit (s/KeyList/KeyedList/g in MLINKS).
Bump PORTREVISION again.

Unbreak the manual pages installation and help file generation:
. when parsing man-files, do not choke on files
containing '.so man.macros';
. be ready for the .bz2 man-pages;
. do not use vendor's install-doc target at all -- install
the vendor's manual pages in post-install and declare
MLINKS to have bsd.port.mk do the Right Thing (TM) --
links instead of copies of the manual pages.
This may even work now :-)

Remove more copies of Tcl's SunOS shared library hack.
It's worth pointing out that the Tcl project used to
*recommend* that application writers copy this kludge.
These ports work fine with Tcl 8.3, which provided a fake
matherr() even if the OS didn't, but here's what the
Tcl 8.4 changelog has to say:
2002-05-31 (dead code)[474335,555635] removed all use of matherr() (english)
*** POTENTIAL INCOMPATIBILITY ***
The following lines can be safely removed from any application that
has them, unless compatibility with SunOS 4.X is desired.
extern int matherr();
int *tclDummyMathPtr = (int *) matherr;
The build problems were pointed out by Kris, as usual. ;-)

Upgrade to 8.3.5 after repocopy from lang/tclX82. No ports depend
on this yet, but should be switching now. The lang/tclX82 will go
away after the release.
Approved by: portmgr timeout (3 requests remain unanswered)