similarity index 91%
rename from meta/recipes-devtools/tcltk/tcl_9.0.4.bb
rename to meta/recipes-devtools/tcltk/tcl_9.1.0.bb
@@ -22,7 +22,7 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/tcl/tcl-core${PV}-src.tar.gz \
file://0003-tcl-install-tcl-to-lib64-instead-of-lib-on-64bit-tar.patch \
file://0004-tcl-update-the-header-location.patch \
"
-SRC_URI[sha256sum] = "5d265f3499b588681825d8093177830707b7035ad866b17189a3a6ab6dade0ff"
+SRC_URI[sha256sum] = "ba11ae7035ec4b0caf2c489b20d5aa2abb1cf001a7e65b0fa2fbac86908c643b"
UPSTREAM_CHECK_URI = "https://www.tcl-lang.org/software/tcltk/download.html"
UPSTREAM_CHECK_REGEX = "tcl(?P<pver>\d+(\.\d+)+)-src"
@@ -37,6 +37,9 @@ AUTOTOOLS_SCRIPT_PATH = "${S}/unix"
EXTRA_OECONF = "--disable-rpath --enable-man-suffix=tcl9 --disable-zipfs"
+# Override some paths to not include TMPDIR into binaries
+EXTRA_OEMAKE = "ABS_BUILD_DIR=/build TCL_BUILDTIME_LIBRARY=/build/lib"
+
PACKAGECONFIG ??= ""
# Use of system tzdata is not recommended at present:
# https://core.tcl-lang.org/tcl/tktview/51aa53616067cb63900b17ca1d71f07b094ffa1a
@@ -46,7 +49,7 @@ do_install() {
autotools_do_install
oe_runmake 'DESTDIR=${D}' install-private-headers
ln -sf ./tclsh${VER} ${D}${bindir}/tclsh
- ln -sf tclsh9.0 ${D}${bindir}/tclsh${VER}
+ ln -sf tclsh9.1 ${D}${bindir}/tclsh${VER}
sed -i "s;-L${B};-L${STAGING_LIBDIR};g" tclConfig.sh
sed -i "s;'${UNPACKDIR};'${STAGING_INCDIR};g" tclConfig.sh
install -d ${D}${bindir_crossscripts}
@@ -61,8 +64,8 @@ do_install() {
SYSROOT_DIRS += "${bindir_crossscripts}"
PACKAGES =+ "tcl-lib"
-FILES:tcl-lib = "${libdir}/libtcl9.0.so.*"
-FILES:${PN} += "${libdir}/tcl${VER} ${libdir}/tcl9.0 ${libdir}/tcl9"
+FILES:tcl-lib = "${libdir}/libtcl9.1.so.*"
+FILES:${PN} += "${libdir}/tcl${VER} ${libdir}/tcl9.1 ${libdir}/tcl9"
FILES:${PN}-dev += "${libdir}/tclConfig.sh ${libdir}/tclooConfig.sh"
# isn't getting picked up by shlibs code
Changelog: - Incompatibilities - Remove `expr` behavior from `lseq` - File paths are now treated as case-insensitive on MacOS - New command `tcl::registry` as replacement for the `registry` command without needing the registry package to be loaded. The registry module is now part of the core Tcl DLL in all build configurations. - Custom applications must call Tcl\_FindExecutable or TclZipfs_AppHook to initialize Tcl - Search path for locating Tcl core script and encodings is changed - New commands and options - New options `-backslashes`, `-commands` and `-variables` for `subst` command - New command `unicode` for Unicode normalization - New `timer` command, switch to monotonic clock and microsecond resolution - New `lfilter` command for selecting items from a list - Many new functions from C99, specifically: `acosh()`, `asinh()`, `atanh()`, `cbrt()`, `copysign()`, `dim()`, `erf()`, `erfc()`, `exp2()`, `expm1()`, `fma()`, `gamma()`, `ldexp()`, `lgamma()`, `log1p()`, `log2()`, `logb()`, `nextafter()`, `remainder()`, `signbit()`, and `trunc()`, and (for functions that return multiple values in their C99 API) the commands: `divmod`, `frexp`, `modf`, and `remquo`. - New `switch` option `-integer` to compare values as integers - Reading and writing of child interpreter variables - Updated Tcl Bytecode opcodes - Add support for `\z` in regex as end-of-string anchor - New `tcltest::configure` option `-iterations` to control number of iterations of each test. - New public C API - `Tcl_IsEmpty()` — checks if the string representation of a value would be the empty string - `Tcl_GetEncodingNameForUser()` — returns name of encoding from user settings - `Tcl_AttemptCreateHashEntry()` — version of `Tcl_CreateHashEntry()` that returns NULL instead of panic'ing on memory allocation errors - `Tcl_ListObjRange()`, `Tcl_ListObjRepeat()`, `Tcl_ListObjReverse()` — C API for new list operations - `Tcl_UtfToNormalized()`, `Tcl_UtfToNormalizedDString()` — C API for Unicode normalization - `Tcl_UtfToExternalEx()` and `Tcl_ExternalToUtfEx()` — C encoding API supporting output buffers larger than INT_MAX - New API for monotonic clock and microseconds resolution - Windows `auto_execok` enhancements and `exec` search reform - New timer API using long long in stead of Tcl_Time - `Tcl_RegisterPostInitProc` callback for post-initialization of interpreters - Performance - Memory efficient internal representations for list operations on large lists. - Continued 64-bit capacity: Command line arguments larger than 2Gb - Support for long paths on Windows - Faster UTF-8 encoding and I/O - Faster interpreter creation - Bug fixes - Inconsistent `glob` matching on MacOS - `file normalize` does not uniquely identify a file on MacOS - Inconsistencies between `cd` and `file normalize` for volume-relative paths on Windows - Tcl cannot run from an arbitrary build directory with --disable-zipfs - Crash on finalization with an active thread running. - Crash on use-after-free in Windows socket thread. - Updated bundled packages, libraries, standards, data - Unicode 18.0.0 - platorm 1.2.0: Add support for musl C runtime Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> --- meta/recipes-devtools/tcltk/{tcl_9.0.4.bb => tcl_9.1.0.bb} | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) --- base-commit: 3182386f3a8e9d51ffabfdb3e7df63e989ac7c4a change-id: 20260930-mathieu-tcl-9-1-d54451cc1136 Best regards,