set url_kitbase "https://www.gitea1.intx.com.au/jn/punkbin/raw/branch/master" package require http package require tls http::register https 443 [list ::tls::socket -autoservername true] package require platform set plat [platform::identify] set os [lindex [split $plat -] 0] set runtime_available 0 set scriptdir [file dirname [info script]] switch -- $os { "win32" { set url "$url_kitbase/win32-x86_64/tclsh902z.exe" set output [file join $scriptdir "../src/runtime/tclsh902z.exe"] set runtime_available 1 } "linux" { switch -glob -- $plat { *x86_64 { set url "$url_kitbase/linux-x86_64/tclkit-902-Linux64-intel-dyn" set output [file join $scriptdir "../src/runtime/tclkit-902-Linux64-intel-dyn"] set runtime_available 1 } *arm { set url "$url_kitbase/linux-x86_64/tclkit-902-Linux64-arm-dyn" set output [file join $scriptdir "../src/runtime/tclkit-902-Linux64-arm-dyn"] set runtime_available 1 } default { # puts stderr "No runtime currently available for linux $::tcl_platform(machine)" } } } "macosx" { set url "$url_kitbase/macosx/tclkit-902-Darwin64-dyn" set output [file join $scriptdir "../src/runtime/tclkit-902-Darwin64-dyn"] set runtime_available 1 } "freebsd" { puts stderr "No runtime currently available for freebsd" } default { puts stderr "No runtime currently available for $os" } } if {$runtime_available} { if {[file exists $output]} { puts stderr "Runtime already found at $output" exit 1 } puts stdout "Attempting to download $url" set fd [open $output wb] set tok [http::geturl $url -channel $fd -binary 1] close $fd if {[http::status $tok] eq "ok" && [http::ncode $tok] == 200} { puts "Download complete." } http::cleanup $tok }