Index: apps/build.tcl =================================================================== diff -u -N -rb146d7e3ac355b7afdb7d3d1249d138c4ab04ee9 -r2edfa21fb74866cf966a742b99d014a8881ce932 --- apps/build.tcl (.../build.tcl) (revision b146d7e3ac355b7afdb7d3d1249d138c4ab04ee9) +++ apps/build.tcl (.../build.tcl) (revision 2edfa21fb74866cf966a742b99d014a8881ce932) @@ -1,6 +1,12 @@ +# w/o tls # linux: https://kitcreator.rkeene.org/kits/840dec4286102c869d85bae3b0dcd32565e7bf12/tclkit -# osx: https://kitcreator.rkeene.org/kits/6967b89da1f6af7b12cdc82819f3bdb13a661242/tclkit +# macos: https://kitcreator.rkeene.org/kits/6967b89da1f6af7b12cdc82819f3bdb13a661242/tclkit +# w/ tls +# linux: http://kitcreator.rkeene.org/kits/c8fe6fba3323b12b924b4a0716609abbaa00822c/tclkit +# macos: http://kitcreator.rkeene.org/kits/31eaf9ae17e769609700b41d1d3c9abeda27510d/tclkit +# win: http://kitcreator.rkeene.org/kits/32c6369ff6ef02a685b75854237635d4a3d56611/tclkit.exe + package require http package require tar package require platform @@ -10,26 +16,46 @@ set INSTALLDIR [file join $HOMEDIR install] cd $HOMEDIR + + set URL https://core.tcl-lang.org/tcl/tarball/$tarball?uuid=$TCLTAG - set fh [open $tarball wb+] - try { + if {![catch {package require tls}]} { + + http::register https 443 [list ::tls::socket -tls1 1] - ::http::geturl http://core.tcl.tk/tcl/tarball/$tarball?uuid=$TCLTAG \ - -binary true \ - -channel $fh + set fh [open $tarball wb+] + try { + + ::http::geturl $URL \ + -binary true \ + -channel $fh + + seek $fh 0 + zlib push gunzip $fh + ::tar::untar $fh -chan + + } on error {e opts} { + file delete -force tcl + return -options $opts $e + } finally { + close $fh + file delete -force $tarball + } + } else { - seek $fh 0 - zlib push gunzip $fh - ::tar::untar $fh -chan - - } on error {e opts} { - file delete -force tcl - return -options $opts $e - } finally { - close $fh - file delete $tarball + # fall back to using curl + exec >@stdout 2>@stderr bash -lc "curl -L -k -o $tarball $URL" + + set fh [open $tarball rb] + try { + zlib push gunzip $fh + ::tar::untar $fh -chan + } finally { + close $fh + file delete -force $tarball + } } - + # exec tar -xzf tcl.tar.gz # https://stackoverflow.com/questions/22333745/how-does-tcl-exec-work-exactly