Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
| Comment: | [66cd465323] Platform package simplifications for MacOS >= 11. Platform => 1.1.0 |
|---|---|
| Timelines: | family | ancestors | descendants | both | core-9-0-branch |
| Files: | files | file ages | folders |
| SHA3-256: |
ee7c3ae49b524b36a7c61892e78ce061 |
| User & Date: | jan.nijtmans 2025-08-25 15:32:36.706 |
References
|
2025-08-26
| ||
| 08:49 | • Closed ticket [66cd465323]: Platform package simplifications for MacOS >= 11 plus 7 other changes artifact: 5966fc4501 user: jan.nijtmans | |
Context
|
2025-08-25
| ||
| 16:42 | amend to [0433b67adc] (ticket [87b69745be]): don't return with OK (swallow the error) if encoding ca... check-in: 9338fcde50 user: sebres tags: core-9-0-branch | |
| 15:34 | Merge 9.0 check-in: 9b784a4c77 user: jan.nijtmans tags: trunk, main | |
| 15:32 | [66cd465323] Platform package simplifications for MacOS >= 11. Platform => 1.1.0 check-in: ee7c3ae49b user: jan.nijtmans tags: core-9-0-branch | |
| 15:08 | [66cd465323] Platform package simplifications for MacOS >= 11. Platform => 1.1.0 check-in: 12394301e1 user: jan.nijtmans tags: core-8-6-branch | |
| 11:49 | Remove some more references to non-existing Tcl version 8.7 check-in: 325e2bd02f user: jan.nijtmans tags: core-9-0-branch | |
Changes
Changes to changes.md.
| ︙ | ︙ | |||
10 11 12 13 14 15 16 | to the userbase. # Bug fixes - [On Unix, IsTimeNative() always defined but not always used](https://core.tcl-lang.org/tcl/tktview/6b8e39) - [Tweak install permissions](https://core.tcl-lang.org/tcl/tktview/31d4fa) # Updated bundled packages, libraries, standards, data | | | 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | to the userbase. # Bug fixes - [On Unix, IsTimeNative() always defined but not always used](https://core.tcl-lang.org/tcl/tktview/6b8e39) - [Tweak install permissions](https://core.tcl-lang.org/tcl/tktview/31d4fa) # Updated bundled packages, libraries, standards, data - platform 1.1.0 - sqlite3 3.50.4 - tcltest 2.5.10 - Thread 3.0.3 - TDBC\* 1.1.12 Release Tcl 9.0.2 arises from the check-in with tag `core-9-0-2`. |
| ︙ | ︙ |
Changes to library/manifest.txt.
1 2 3 4 5 6 7 8 9 10 11 |
###
# Package manifest for all Tcl packages included in the /library file system
###
apply {{dir} {
set isafe [interp issafe]
foreach {safe package version file} {
0 http 2.10.0 {http http.tcl}
1 msgcat 1.7.1 {msgcat msgcat.tcl}
1 opt 0.4.9 {opt optparse.tcl}
0 cookiejar 0.2.0 {cookiejar cookiejar.tcl}
0 tcl::idna 1.0.1 {cookiejar idna.tcl}
| | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
###
# Package manifest for all Tcl packages included in the /library file system
###
apply {{dir} {
set isafe [interp issafe]
foreach {safe package version file} {
0 http 2.10.0 {http http.tcl}
1 msgcat 1.7.1 {msgcat msgcat.tcl}
1 opt 0.4.9 {opt optparse.tcl}
0 cookiejar 0.2.0 {cookiejar cookiejar.tcl}
0 tcl::idna 1.0.1 {cookiejar idna.tcl}
0 platform 1.1.0 {platform platform.tcl}
0 platform::shell 1.1.4 {platform shell.tcl}
1 tcltest 2.5.10 {tcltest tcltest.tcl}
} {
if {$isafe && !$safe} continue
package ifneeded $package $version [list source [file join $dir {*}$file]]
}
}} $dir
|
Changes to library/platform/pkgIndex.tcl.
|
| | | 1 2 3 | package ifneeded platform 1.1.0 [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]] |
Changes to library/platform/platform.tcl.
| ︙ | ︙ | |||
119 120 121 122 123 124 125 |
# sparc
if {$tcl_platform(wordSize) == 8} {
append cpu 64
}
}
}
darwin {
| > > > > | > | 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 |
# sparc
if {$tcl_platform(wordSize) == 8} {
append cpu 64
}
}
}
darwin {
set major [lindex [split $tcl_platform(osVersion) .] 0]
if {$major > 19} {
set plat macos
} else {
set plat macosx
}
# Correctly identify the cpu when running as a 64bit
# process on a machine with a 32bit kernel
if {$cpu eq "ix86"} {
if {$tcl_platform(wordSize) == 8} {
set cpu x86_64
}
}
|
| ︙ | ︙ | |||
167 168 169 170 171 172 173 |
proc ::platform::identify {} {
global tcl_platform
set id [generic]
regexp {^([^-]+)-([^-]+)$} $id -> plat cpu
| | | < | < < < | | 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 |
proc ::platform::identify {} {
global tcl_platform
set id [generic]
regexp {^([^-]+)-([^-]+)$} $id -> plat cpu
switch -glob -- $plat {
solaris {
regsub {^5} $tcl_platform(osVersion) 2 text
append plat $text
return "${plat}-${cpu}"
}
macos* {
set major [lindex [split $tcl_platform(osVersion) .] 0]
if {$major > 19} {
incr major
if {$major < 26} {
incr major -10
}
append plat $major
} else {
incr major -4
append plat 10.$major
}
return "${plat}-${cpu}"
}
linux {
|
| ︙ | ︙ | |||
339 340 341 342 343 344 345 |
}
macosx-x86_64 {
lappend res macosx-i386-x86_64
}
macosx-ix86 {
lappend res macosx-universal macosx-i386-x86_64
}
| | | | 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 |
}
macosx-x86_64 {
lappend res macosx-i386-x86_64
}
macosx-ix86 {
lappend res macosx-universal macosx-i386-x86_64
}
macos*-* {
# 10.5+,11.0+
if {[regexp {macosx?([^-]*)-(.*)} $id -> v cpu]} {
foreach {major minor} [split $v.15 .] break
switch -exact -- $cpu {
ix86 {
lappend alt i386-x86_64
lappend alt universal
}
|
| ︙ | ︙ | |||
364 365 366 367 368 369 370 |
lappend alt x86_64
}
default { set alt {} }
}
if {$v ne ""} {
set res {}
| | | < | | | | < < < | < < < < < < < | < | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 |
lappend alt x86_64
}
default { set alt {} }
}
if {$v ne ""} {
set res {}
while {$major > 10} {
# Add $major to patterns.
lappend res macos${major}-${cpu}
foreach a $alt {
lappend res macos${major}-$a
}
incr major -1
if {$major == 25} {
set major 15
}
}
# 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}
}
if {($cpu eq "x86_64") && ($j == 14)} {
|
| ︙ | ︙ | |||
488 489 490 491 492 493 494 |
return $res
}
# ### ### ### ######### ######### #########
## Ready
| | | 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 |
return $res
}
# ### ### ### ######### ######### #########
## Ready
package provide platform 1.1.0
# ### ### ### ######### ######### #########
## Demo application
if {[info exists argv0] && ($argv0 eq [info script])} {
puts ====================================
parray tcl_platform
|
| ︙ | ︙ |
Changes to tests/platform.test.
| ︙ | ︙ | |||
29 30 31 32 33 34 35 |
test platform-1.0 {tcl_platform(engine)} {
set tcl_platform(engine)
} {Tcl}
test platform-1.1 {TclpSetVariables: tcl_platform} {
interp create i
| < < | 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
test platform-1.0 {tcl_platform(engine)} {
set tcl_platform(engine)
} {Tcl}
test platform-1.1 {TclpSetVariables: tcl_platform} {
interp create i
set result [i eval {lsort [array names tcl_platform]}]
interp delete i
set result
} {byteOrder engine machine os osVersion pathSeparator platform pointerSize user wordSize}
test platform-2.1 {tcl_platform(wordSize) indicates size of native word} testlongsize {
expr {$tcl_platform(wordSize) == [testlongsize]}
|
| ︙ | ︙ | |||
76 77 78 79 80 81 82 |
set old_machine $::tcl_platform(machine)
set old_os $::tcl_platform(os)
set old_wordsize $::tcl_platform(wordSize)
set old_version $tcl_platform(osVersion)
set ::tcl_platform(machine) arm
set ::tcl_platform(os) Darwin
set ::tcl_platform(wordSize) 8
| < > > > | > > | | > | | | | | | | | | 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 |
set old_machine $::tcl_platform(machine)
set old_os $::tcl_platform(os)
set old_wordsize $::tcl_platform(wordSize)
set old_version $tcl_platform(osVersion)
set ::tcl_platform(machine) arm
set ::tcl_platform(os) Darwin
set ::tcl_platform(wordSize) 8
} -body {
set res {}
set l {macosx10.15-x86_64 macosx10.14-x86_64 macosx10.13-x86_64 macosx10.12-x86_64 macosx10.11-x86_64 macosx10.10-x86_64 macosx10.9-x86_64 tcl}
foreach v {20.0 21.0 22.0 23.0 24.0 25.0 26.0} {
set ::tcl_platform(osVersion) $v
set id [platform::identify]
set l [linsert $l 0 [string range $id 0 end-4]-x86_64]
set l [linsert $l 0 $id]
lappend res $id
lappend res [expr {($l eq [platform::patterns $id]) ? 1 : [platform::patterns $id]}]
}
set res
} -cleanup {
set ::tcl_platform(machine) $old_machine
set ::tcl_platform(os) $old_os
set ::tcl_platform(wordSize) $old_wordsize
set ::tcl_platform(osVersion) $old_version
unset res l old_machine old_os old_wordsize old_version
} -result {macos11-arm 1 macos12-arm 1 macos13-arm 1 macos14-arm 1 macos15-arm 1 macos26-arm 1 macos27-arm 1}
test platform-5.1 {format of platform::patterns macos26-x86_64} -body {
platform::patterns macos26-x86_64
} -result {macos26-x86_64 macos15-x86_64 macos14-x86_64 macos13-x86_64 macos12-x86_64 macos11-x86_64 macosx10.15-x86_64 macosx10.14-x86_64 macosx10.14-i386-x86_64 macosx10.13-x86_64 macosx10.13-i386-x86_64 macosx10.12-x86_64 macosx10.12-i386-x86_64 macosx10.11-x86_64 macosx10.11-i386-x86_64 macosx10.10-x86_64 macosx10.10-i386-x86_64 macosx10.9-x86_64 macosx10.9-i386-x86_64 tcl}
test platform-5.2 {format of platform::patterns macos26-arm} -body {
platform::patterns macos26-arm
} -result {macos26-arm macos26-x86_64 macos15-arm macos15-x86_64 macos14-arm macos14-x86_64 macos13-arm macos13-x86_64 macos12-arm macos12-x86_64 macos11-arm macos11-x86_64 macosx10.15-x86_64 macosx10.14-x86_64 macosx10.13-x86_64 macosx10.12-x86_64 macosx10.11-x86_64 macosx10.10-x86_64 macosx10.9-x86_64 tcl}
# cleanup
cleanupTests
}
namespace delete ::tcl::test::platform
return
# Local Variables:
# mode: tcl
# End:
|
Changes to unix/Makefile.in.
| ︙ | ︙ | |||
1080 1081 1082 1083 1084 1085 1086 | done @echo "Installing package msgcat 1.7.1 as a Tcl Module" @$(INSTALL_DATA) $(TOP_DIR)/library/msgcat/msgcat.tcl \ "$(MODULE_INSTALL_DIR)/9.0/msgcat-1.7.1.tm" @echo "Installing package tcltest 2.5.10 as a Tcl Module" @$(INSTALL_DATA) $(TOP_DIR)/library/tcltest/tcltest.tcl \ "$(MODULE_INSTALL_DIR)/9.0/tcltest-2.5.10.tm" | | | | 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 | done @echo "Installing package msgcat 1.7.1 as a Tcl Module" @$(INSTALL_DATA) $(TOP_DIR)/library/msgcat/msgcat.tcl \ "$(MODULE_INSTALL_DIR)/9.0/msgcat-1.7.1.tm" @echo "Installing package tcltest 2.5.10 as a Tcl Module" @$(INSTALL_DATA) $(TOP_DIR)/library/tcltest/tcltest.tcl \ "$(MODULE_INSTALL_DIR)/9.0/tcltest-2.5.10.tm" @echo "Installing package platform 1.1.0 as a Tcl Module" @$(INSTALL_DATA) $(TOP_DIR)/library/platform/platform.tcl \ "$(MODULE_INSTALL_DIR)/9.0/platform-1.1.0.tm" @echo "Installing package platform::shell 1.1.4 as a Tcl Module" @$(INSTALL_DATA) $(TOP_DIR)/library/platform/shell.tcl \ "$(MODULE_INSTALL_DIR)/9.0/platform/shell-1.1.4.tm" @echo "Installing encoding files to $(SCRIPT_INSTALL_DIR)/encoding/" @for i in $(TOP_DIR)/library/encoding/*.enc; do \ $(INSTALL_DATA) $$i "$(SCRIPT_INSTALL_DIR)/encoding"; \ done |
| ︙ | ︙ |
Changes to win/Makefile.in.
| ︙ | ︙ | |||
944 945 946 947 948 949 950 | @for j in $(ROOT_DIR)/library/opt/*.tcl; do \ $(COPY) "$$j" "$(SCRIPT_INSTALL_DIR)/opt0.4"; \ done; @echo "Installing package msgcat 1.7.1 as a Tcl Module"; @$(COPY) $(ROOT_DIR)/library/msgcat/msgcat.tcl "$(MODULE_INSTALL_DIR)/9.0/msgcat-1.7.1.tm"; @echo "Installing package tcltest 2.5.10 as a Tcl Module"; @$(COPY) $(ROOT_DIR)/library/tcltest/tcltest.tcl "$(MODULE_INSTALL_DIR)/9.0/tcltest-2.5.10.tm"; | | | | 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 | @for j in $(ROOT_DIR)/library/opt/*.tcl; do \ $(COPY) "$$j" "$(SCRIPT_INSTALL_DIR)/opt0.4"; \ done; @echo "Installing package msgcat 1.7.1 as a Tcl Module"; @$(COPY) $(ROOT_DIR)/library/msgcat/msgcat.tcl "$(MODULE_INSTALL_DIR)/9.0/msgcat-1.7.1.tm"; @echo "Installing package tcltest 2.5.10 as a Tcl Module"; @$(COPY) $(ROOT_DIR)/library/tcltest/tcltest.tcl "$(MODULE_INSTALL_DIR)/9.0/tcltest-2.5.10.tm"; @echo "Installing package platform 1.1.0 as a Tcl Module"; @$(COPY) $(ROOT_DIR)/library/platform/platform.tcl "$(MODULE_INSTALL_DIR)/9.0/platform-1.1.0.tm"; @echo "Installing package platform::shell 1.1.4 as a Tcl Module"; @$(COPY) $(ROOT_DIR)/library/platform/shell.tcl "$(MODULE_INSTALL_DIR)/9.0/platform/shell-1.1.4.tm"; @echo "Installing encodings"; @for i in $(ROOT_DIR)/library/encoding/*.enc ; do \ $(COPY) "$$i" "$(SCRIPT_INSTALL_DIR)/encoding"; \ done; |
| ︙ | ︙ |