Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH] package/tcl: bump to version 9.0.3
@ 2026-05-03  8:12 Shubham Chakraborty
  2026-05-31  6:11 ` Thomas Petazzoni via buildroot
  2026-08-10 11:31 ` [Buildroot] [PATCH v2] " Shubham Chakraborty
  0 siblings, 2 replies; 4+ messages in thread
From: Shubham Chakraborty @ 2026-05-03  8:12 UTC (permalink / raw)
  To: buildroot; +Cc: Shubham Chakraborty

Major version upgrade from 8.6 to 9.0 series.

Key changes in Tcl 9.0:
- Full Unicode support (UTF-16/UTF-32/UCS-2 encodings)
- 64-bit integer support
- Enhanced encoding with -profile/-failindex options
- Script library packaged with binary
- Improved virtual filesystem support

Also remove bundled itcl and thread packages to reduce bloat.

https://www.tcl-lang.org/software/tcltk/9.0.html

Tested Using:
- tils/test-pkg -n 13 -p tcl

Signed-off-by: Shubham Chakraborty <chakrabortyshubham66@gmail.com>
---
 package/tcl/tcl.hash |  2 +-
 package/tcl/tcl.mk   | 12 +++++++-----
 2 files changed, 8 insertions(+), 6 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..4a34f71693 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
@@ -28,17 +28,19 @@ HOST_TCL_CONF_OPTS = \
 # I haven't found a good way to force pkgs to not build
 # or configure without just removing the entire pkg directory.
 define HOST_TCL_REMOVE_PACKAGES
-	rm -fr $(@D)/pkgs/sqlite3* $(@D)/pkgs/tdbc*
+	rm -fr $(@D)/pkgs/itcl* $(@D)/pkgs/sqlite3* $(@D)/pkgs/tdbc* $(@D)/pkgs/thread*
 endef
 HOST_TCL_PRE_CONFIGURE_HOOKS += HOST_TCL_REMOVE_PACKAGES
 
 # We remove the bundled sqlite as we prefer to not use bundled stuff at all.
 define TCL_REMOVE_PACKAGES
-	rm -fr $(@D)/pkgs/sqlite3* \
+	rm -fr $(@D)/pkgs/itcl* \
+		$(@D)/pkgs/sqlite3* \
 		$(if $(BR2_PACKAGE_MARIADB),,$(@D)/pkgs/tdbcmysql*) \
 		$(@D)/pkgs/tdbcodbc* \
 		$(if $(BR2_PACKAGE_POSTGRESQL),,$(@D)/pkgs/tdbcpostgres*) \
-		$(if $(BR2_PACKAGE_SQLITE),,$(@D)/pkgs/tdbcsqlite3*)
+		$(if $(BR2_PACKAGE_SQLITE),,$(@D)/pkgs/tdbcsqlite3*) \
+		$(@D)/pkgs/thread*
 endef
 TCL_PRE_CONFIGURE_HOOKS += TCL_REMOVE_PACKAGES
 
-- 
2.54.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [Buildroot] [PATCH] package/tcl: bump to version 9.0.3
  2026-05-03  8:12 [Buildroot] [PATCH] package/tcl: bump to version 9.0.3 Shubham Chakraborty
@ 2026-05-31  6:11 ` Thomas Petazzoni via buildroot
  2026-08-10 11:31 ` [Buildroot] [PATCH v2] " Shubham Chakraborty
  1 sibling, 0 replies; 4+ messages in thread
From: Thomas Petazzoni via buildroot @ 2026-05-31  6:11 UTC (permalink / raw)
  To: Shubham Chakraborty; +Cc: buildroot

On Sun, May 03, 2026 at 01:42:03PM +0530, Shubham Chakraborty wrote:
> Major version upgrade from 8.6 to 9.0 series.
> 
> Key changes in Tcl 9.0:
> - Full Unicode support (UTF-16/UTF-32/UCS-2 encodings)
> - 64-bit integer support
> - Enhanced encoding with -profile/-failindex options
> - Script library packaged with binary
> - Improved virtual filesystem support

Where is this list of key changes coming from? It doesn't match with
what is at https://www.tcl-lang.org/software/tcltk/9.0.html. Is this
just AI-generated slop?

> Also remove bundled itcl and thread packages to reduce bloat.

And this will not break existing users? Is it because those packages
are new?

Thomas
-- 
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Buildroot] [PATCH v2] package/tcl: bump to version 9.0.3
  2026-05-03  8:12 [Buildroot] [PATCH] package/tcl: bump to version 9.0.3 Shubham Chakraborty
  2026-05-31  6:11 ` Thomas Petazzoni via buildroot
@ 2026-08-10 11:31 ` Shubham Chakraborty
  2026-08-24 20:24   ` Thomas Petazzoni via buildroot
  1 sibling, 1 reply; 4+ messages in thread
From: Shubham Chakraborty @ 2026-08-10 11:31 UTC (permalink / raw)
  To: buildroot; +Cc: Shubham Chakraborty

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 <chakrabortyshubham66@gmail.com>
---
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
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [Buildroot] [PATCH v2] package/tcl: bump to version 9.0.3
  2026-08-10 11:31 ` [Buildroot] [PATCH v2] " Shubham Chakraborty
@ 2026-08-24 20:24   ` Thomas Petazzoni via buildroot
  0 siblings, 0 replies; 4+ messages in thread
From: Thomas Petazzoni via buildroot @ 2026-08-24 20:24 UTC (permalink / raw)
  To: Shubham Chakraborty; +Cc: buildroot

Hello,

On Mon, Aug 10, 2026 at 05:01:52PM +0530, Shubham Chakraborty wrote:
> -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

Are you sure you need to symlink, since...

> +
> +TCL_MAKE_OPTS = \
> +	TCLSH="$(HOST_DIR)/bin/tclsh$(TCL_VERSION_MAJOR)" \
> +	TCLSH_PROG="$(HOST_DIR)/bin/tclsh$(TCL_VERSION_MAJOR)"

... you're passing the full path to
$(HOST_DIR)/bin/tclsh$(TCL_VERSION_MAJOR) here?

From my quick experiment, it seems like the symlink is not needed.

Also, could you verify that both TCLSH= and TCLSH_PROG= are needed?

> +
>  TCL_DEPENDENCIES = $(if $(BR2_PACKAGE_SQLITE),sqlite) \
>  	$(if $(BR2_PACKAGE_MARIADB),mariadb) \
>  	$(if $(BR2_PACKAGE_POSTGRESQL),postgresql) \
> +	host-tcl \
>  	zlib

With your patch:

- host-tcl fails to build because <zlib.h> is not found. Seems like
  host-zlib is now needed as a dependency of host-tcl. Make sure to
  build in a minimal Docker container to figure out this kind of
  issue. You can trivially do that in Buildroot: "./utils/docker-run
  make".

- tcllib fails to build, because version 1.21 is not designed to work
  with Tcl 9.0, you need to bump tcllib to 2.0 apparently.

Could you look into these different issues, and get back to us with an
updated patch?

Thanks a lot!

Thomas
-- 
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2026-08-24 20:24 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-03  8:12 [Buildroot] [PATCH] package/tcl: bump to version 9.0.3 Shubham Chakraborty
2026-05-31  6:11 ` Thomas Petazzoni via buildroot
2026-08-10 11:31 ` [Buildroot] [PATCH v2] " Shubham Chakraborty
2026-08-24 20:24   ` Thomas Petazzoni via buildroot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox