summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2025-08-19 12:36:22 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2025-08-19 12:36:22 (GMT)
commitfa96d47dfcc4a011995890671355e572994e4551 (patch)
tree13b9b737e66e3af5c51df9e5f46e1cc3a1d92c98
parent66ce9bc18565d5b1af471d84fd7cce4c2a8f1fa0 (diff)
parent88f4b5757c89a525b25ca6834e954931bd4c00b2 (diff)
downloadtcl-fa96d47dfcc4a011995890671355e572994e4551.zip
tcl-fa96d47dfcc4a011995890671355e572994e4551.tar.gz
tcl-fa96d47dfcc4a011995890671355e572994e4551.tar.bz2
support for MacOS Tahoe, platform => 1.0.20
-rw-r--r--changes5
-rw-r--r--library/platform/pkgIndex.tcl2
-rw-r--r--library/platform/platform.tcl81
-rw-r--r--unix/Makefile.in4
-rw-r--r--win/Makefile.in4
5 files changed, 79 insertions, 17 deletions
diff --git a/changes b/changes
index 906130c..2639fc3 100644
--- a/changes
+++ b/changes
@@ -9419,4 +9419,7 @@ Many code fixes to avoid overflow or undefined behavior. Thanks chrstphrchvz.
- Released 8.6.17, Aug 15, 2025 - details at https://core.tcl-lang.org/tcl/ -
-- (to be) Released 8.6.17, Apr ??, 2026 - details at https://core.tcl-lang.org/tcl/ -
+2025-08-18 (new) support for MacOS Tahoe (nijtmans)
+ => platform 1.0.20
+
+- (to be) Released 8.6.18, Apr ??, 2026 - details at https://core.tcl-lang.org/tcl/ -
diff --git a/library/platform/pkgIndex.tcl b/library/platform/pkgIndex.tcl
index 4526c7e..20750be 100644
--- a/library/platform/pkgIndex.tcl
+++ b/library/platform/pkgIndex.tcl
@@ -1,3 +1,3 @@
-package ifneeded platform 1.0.19 [list source -encoding utf-8 [file join $dir platform.tcl]]
+package ifneeded platform 1.0.20 [list source -encoding utf-8 [file join $dir platform.tcl]]
package ifneeded platform::shell 1.1.4 [list source -encoding utf-8 [file join $dir shell.tcl]]
diff --git a/library/platform/platform.tcl b/library/platform/platform.tcl
index 63d4d76..3bf1ff6 100644
--- a/library/platform/platform.tcl
+++ b/library/platform/platform.tcl
@@ -181,12 +181,17 @@ proc ::platform::identify {} {
set major [lindex [split $tcl_platform(osVersion) .] 0]
if {$major > 19} {
set minor [lindex [split $tcl_platform(osVersion) .] 1]
- incr major -9
- append plat $major.[expr {$minor - 1}]
+ incr major 1
+ if {$major < 26} {
+ incr major -10
+ }
+ if {$major < 14} {
+ incr minor -1
+ }
+ append plat $major.$minor
} else {
incr major -4
append plat 10.$major
- return "${plat}-${cpu}"
}
return "${plat}-${cpu}"
}
@@ -364,6 +369,50 @@ proc ::platform::patterns {id} {
foreach {major minor} [split $v .] break
set res {}
+ if {$major > 26} {
+ # Add x.0 to x.minor to patterns.
+ for {set j $minor} {$j >= 0} {incr j -1} {
+ lappend res macosx${major}.${j}-${cpu}
+ foreach a $alt {
+ lappend res macosx${major}.${j}-$a
+ }
+ }
+ incr major -1
+ set minor 5; # Assume that (major-1).5 will be there one day.
+ }
+ if {$major eq 26} {
+ # Add 26.0 to 26.minor to patterns.
+ for {set j $minor} {$j >= 0} {incr j -1} {
+ lappend res macosx${major}.${j}-${cpu}
+ foreach a $alt {
+ lappend res macosx${major}.${j}-$a
+ }
+ }
+ set major 15
+ set minor 6
+ }
+ if {$major eq 15} {
+ # Add 15.0 to 15.minor to patterns.
+ for {set j $minor} {$j >= 0} {incr j -1} {
+ lappend res macosx${major}.${j}-${cpu}
+ foreach a $alt {
+ lappend res macosx${major}.${j}-$a
+ }
+ }
+ set major 14
+ set minor 6
+ }
+ if {$major eq 14} {
+ # Add 14.0 to 14.minor to patterns.
+ for {set j $minor} {$j >= 0} {incr j -1} {
+ lappend res macosx${major}.${j}-${cpu}
+ foreach a $alt {
+ lappend res macosx${major}.${j}-$a
+ }
+ }
+ set major 13
+ set minor 5
+ }
if {$major eq 13} {
# Add 13.0 to 13.minor to patterns.
for {set j $minor} {$j >= 0} {incr j -1} {
@@ -397,8 +446,8 @@ proc ::platform::patterns {id} {
set major 10
set minor 15
}
- # Add 10.5 to 10.minor to patterns.
- for {set j $minor} {$j >= 5} {incr j -1} {
+ # Add 10.9 to 10.minor to patterns.
+ for {set j $minor} {$j >= 9} {incr j -1} {
if {$cpu ne "arm"} {
lappend res macosx${major}.${j}-${cpu}
}
@@ -406,11 +455,21 @@ proc ::platform::patterns {id} {
lappend res macosx${major}.${j}-$a
}
}
-
- # Add unversioned patterns for 10.3/10.4 builds.
- lappend res macosx-${cpu}
- foreach a $alt {
- lappend res macosx-$a
+ if {![package vsatisfies [package provide Tcl] 9.0-]} {
+ # Continue up to 10.5.
+ for {} {$j >= 5} {incr j -1} {
+ if {$cpu ne "arm"} {
+ lappend res macosx${major}.${j}-${cpu}
+ }
+ foreach a $alt {
+ lappend res macosx${major}.${j}-$a
+ }
+ }
+ # Add unversioned patterns for 10.3/10.4 builds.
+ lappend res macosx-${cpu}
+ foreach a $alt {
+ lappend res macosx-$a
+ }
}
} else {
# No version, just do unversioned patterns.
@@ -431,7 +490,7 @@ proc ::platform::patterns {id} {
# ### ### ### ######### ######### #########
## Ready
-package provide platform 1.0.19
+package provide platform 1.0.20
# ### ### ### ######### ######### #########
## Demo application
diff --git a/unix/Makefile.in b/unix/Makefile.in
index 3efdfec..886606d 100644
--- a/unix/Makefile.in
+++ b/unix/Makefile.in
@@ -875,9 +875,9 @@ install-libraries: libraries
@echo "Installing package tcltest 2.5.10 as a Tcl Module"
@$(INSTALL_DATA) $(TOP_DIR)/library/tcltest/tcltest.tcl \
"$(MODULE_INSTALL_DIR)/8.5/tcltest-2.5.10.tm"
- @echo "Installing package platform 1.0.19 as a Tcl Module"
+ @echo "Installing package platform 1.0.20 as a Tcl Module"
@$(INSTALL_DATA) $(TOP_DIR)/library/platform/platform.tcl \
- "$(MODULE_INSTALL_DIR)/8.4/platform-1.0.19.tm"
+ "$(MODULE_INSTALL_DIR)/8.4/platform-1.0.20.tm"
@echo "Installing package platform::shell 1.1.4 as a Tcl Module"
@$(INSTALL_DATA) $(TOP_DIR)/library/platform/shell.tcl \
"$(MODULE_INSTALL_DIR)/8.4/platform/shell-1.1.4.tm"
diff --git a/win/Makefile.in b/win/Makefile.in
index 6b06e2e..4daa827 100644
--- a/win/Makefile.in
+++ b/win/Makefile.in
@@ -758,8 +758,8 @@ install-libraries: libraries install-tzdata install-msgs
@$(COPY) $(ROOT_DIR)/library/msgcat/msgcat.tcl "$(MODULE_INSTALL_DIR)/8.5/msgcat-1.6.1.tm";
@echo "Installing package tcltest 2.5.10 as a Tcl Module";
@$(COPY) $(ROOT_DIR)/library/tcltest/tcltest.tcl "$(MODULE_INSTALL_DIR)/8.5/tcltest-2.5.10.tm";
- @echo "Installing package platform 1.0.19 as a Tcl Module";
- @$(COPY) $(ROOT_DIR)/library/platform/platform.tcl "$(MODULE_INSTALL_DIR)/8.4/platform-1.0.19.tm";
+ @echo "Installing package platform 1.0.20 as a Tcl Module";
+ @$(COPY) $(ROOT_DIR)/library/platform/platform.tcl "$(MODULE_INSTALL_DIR)/8.4/platform-1.0.20.tm";
@echo "Installing package platform::shell 1.1.4 as a Tcl Module";
@$(COPY) $(ROOT_DIR)/library/platform/shell.tcl "$(MODULE_INSTALL_DIR)/8.4/platform/shell-1.1.4.tm";
@echo "Installing encodings";