Opened 2 hours ago

Last modified 98 minutes ago

#5570 new enhancement

tcl-9.0.0

Reported by: Xi Ruoyao Owned by: lfs-book
Priority: normal Milestone: 12.3
Component: Book Version: git
Severity: normal Keywords:
Cc:

Description

New major version.

Change History (5)

comment:1 by Xi Ruoyao, 2 hours ago

Highlights of Tcl 9.0

  • 64-bit Capacity: Data values larger than 2Gb
  • Unicode and Encodings: full codepoint range, added encodings, encoding profiles to govern I/O, and more.
  • Zip Filesystems: mount zipfiles as filesystems
  • Attached Archives: enable starkit-style deployment of apps, with support data in filesystem archives attached to executable or libraries. Build tclsh and wish this way.
  • New Notifiers: The central event handling engine in Tcl is now constructed on top of the system calls epoll or kqueue when they are available. The select based implementation also remains for platforms where they are not.
  • Many new commands and features

Important Incompatibilities in Tcl 9.0

  • Namespace varname resolution: Current namespace, not global.
  • I/O malencoding: now raises error by default.
  • Tilde (~) in pathnames: no longer interpreted as home directory.
  • tcl_precision no longer has effect on number formatting

comment:2 by Xi Ruoyao, 2 hours ago

On my system it seems using /usr/bin/zip. Not sure what will happen in the LFS chroot environment.

comment:3 by Xi Ruoyao, 2 hours ago

On another system w/o zip installed, the build fails because when building the thread sub-package the building system attempts to find "minizip" at a wrong location. It can be worked around with make NATIVE_ZIP=$PWD/minizip (i.e. overriding the relative path NATIVE_ZIP=./minizip in the Makefile).

Maybe we should report this to upstream.

comment:4 by Xi Ruoyao, 111 minutes ago

The sed expression

-e "s|$SRCDIR/pkgs/tdbc1.1.9/library|/usr/lib/tcl8.6|"

contains hard-coded "8.6" and it seems just wrong even with tcl-8.6.x (IIRC someone has complained via lfs-support or dev). It looks like /usr/lib/tcl8.6 should be /usr/lib/tdbc1.1.9 (where we can find tdbc.tcl) instead.

comment:5 by Xi Ruoyao, 98 minutes ago

12 tests require an Internet connection, so it looks like they'll fail in the chroot.

Note: See TracTickets for help on using tickets.