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 <[email protected]>
---
meta/recipes-devtools/tcltk/{tcl_9.0.4.bb => tcl_9.1.0.bb} | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/meta/recipes-devtools/tcltk/tcl_9.0.4.bb
b/meta/recipes-devtools/tcltk/tcl_9.1.0.bb
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
index 97ba82d5fa1c..6e8a97c729e3 100644
--- a/meta/recipes-devtools/tcltk/tcl_9.0.4.bb
+++ b/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
---
base-commit: 3182386f3a8e9d51ffabfdb3e7df63e989ac7c4a
change-id: 20260930-mathieu-tcl-9-1-d54451cc1136
Best regards,
--
Mathieu Dubois-Briand <[email protected]>
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#246968):
https://lists.openembedded.org/g/openembedded-core/message/246968
Mute This Topic: https://lists.openembedded.org/mt/121507379/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-