[Buildroot] [PATCH v2] package/tcl: bump to version 9.0.3
Shubham Chakraborty <[email protected]>
| Newsgroups | net.busybox.buildroot |
|---|---|
| Message-ID | <[email protected]> |
Bump the version of tcl to 9.0.3. This is a major version upgrade from 8.6 to 9.0 series. Notable changes in Tcl 9.0 include: - 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. Build / Cross-compilation fixes for Tcl 9.0 ZipFS: - In Tcl 9.0, Zip virtual filesystems (ZipFS) are built into the core package and bundled packages (itcl, thread). Generating these zip archives during cross-compilation requires running a native tclsh. - Add host-tcl to TCL_DEPENDENCIES and add a HOST_TCL_SYMLINK_TCLSH hook so $(HOST_DIR)/bin/tclsh is available. - Pass TCLSH and TCLSH_PROG explicitly in TCL_MAKE_OPTS pointing to $(HOST_DIR)/bin/tclsh$(TCL_VERSION_MAJOR) to ensure sub-Makefiles use the native host interpreter without inheriting target LD_LIBRARY_PATH settings. Note on bundled packages: Unlike v1, we do not remove the bundled itcl (Incr Tcl) and thread packages. These packages were already present in 8.6 and built by default. Removing them in Tcl 9.0 would break compatibility for existing runtime scripts relying on them (Buildroot has no standalone packages for them). More Details & Changelogs: - https://www.tcl-lang.org/software/tcltk/9.0.html Tested using: utils/test-pkg -a -c /tmp/tcl.config -p tcl (Result: 32 builds, 4 skipped, 0 build failed) Signed-off-by: Shubham Chakraborty <[email protected]> --- Changes v1 -> v2: - Reverted removal of bundled 'itcl' and 'thread' packages to prevent breaking runtime scripts relying on them. - Rewrote commit message highlights to accurately match official Tcl 9.0 release notes at https://www.tcl-lang.org/software/tcltk/9.0.html. - Added explicit note on bundled packages rationale in commit body. - Added host-tcl dependency and host tclsh symlink to fix ZipFS build failures during cross-compilation. - Overrode TCLSH and TCLSH_PROG in TCL_MAKE_OPTS to prevent LD_LIBRARY_PATH pollution during cross-compilation. - Ran full 32-toolchain test matrix via test-pkg -a (28 builds OK, 4 skipped, 0 failed). --- package/tcl/tcl.hash | 2 +- package/tcl/tcl.mk | 14 ++++++++++++-- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/package/tcl/tcl.hash b/package/tcl/tcl.hash index d67a7c4e74..b5f401e83d 100644 --- a/package/tcl/tcl.hash +++ b/package/tcl/tcl.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 861e159753f2e2fbd6ec1484103715b0be56be3357522b858d3cbb5f893ffef1 tcl8.6.15-src.tar.gz +sha256 2537ba0c86112c8c953f7c09d33f134dd45c0fb3a71f2d7f7691fd301d2c33a6 tcl9.0.3-src.tar.gz sha256 c0a69a2bfd757361ec7e6143973b103c90409316b49e9c88db26ad6388e79f16 license.terms diff --git a/package/tcl/tcl.mk b/package/tcl/tcl.mk index 0cd242a2e9..9f50985263 100644 --- a/package/tcl/tcl.mk +++ b/package/tcl/tcl.mk @@ -4,8 +4,8 @@ # ################################################################################ -TCL_VERSION_MAJOR = 8.6 -TCL_VERSION = $(TCL_VERSION_MAJOR).15 +TCL_VERSION_MAJOR = 9.0 +TCL_VERSION = $(TCL_VERSION_MAJOR).3 TCL_SOURCE = tcl$(TCL_VERSION)-src.tar.gz TCL_SITE = http://downloads.sourceforge.net/project/tcl/Tcl/$(TCL_VERSION) TCL_LICENSE = TCL @@ -73,9 +73,19 @@ define TCL_REMOVE_EXTRA endef TCL_POST_INSTALL_TARGET_HOOKS += TCL_REMOVE_EXTRA +define HOST_TCL_SYMLINK_TCLSH + ln -sf tclsh$(TCL_VERSION_MAJOR) $(HOST_DIR)/bin/tclsh +endef +HOST_TCL_POST_INSTALL_HOOKS += HOST_TCL_SYMLINK_TCLSH + +TCL_MAKE_OPTS = \ + TCLSH="$(HOST_DIR)/bin/tclsh$(TCL_VERSION_MAJOR)" \ + TCLSH_PROG="$(HOST_DIR)/bin/tclsh$(TCL_VERSION_MAJOR)" + TCL_DEPENDENCIES = $(if $(BR2_PACKAGE_SQLITE),sqlite) \ $(if $(BR2_PACKAGE_MARIADB),mariadb) \ $(if $(BR2_PACKAGE_POSTGRESQL),postgresql) \ + host-tcl \ zlib $(eval $(autotools-package)) -- 2.55.0 _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot