1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76
|
#!/bin/sh
# Next line starts wish: \
exec wish8.0 $0 $*
set ins(lib) /usr/local/lib/ts-9902
set ins(bin) /usr/local/bin
set ins(filelist) {ts ts_err includes.cfg texshell.cfg bitmaps help templates}
foreach f [glob *.tcl] {
lappend ins(filelist) $f
}
if [catch {package require Tk 8}] {
puts "Wrong Tcl/Tk version. You need Version 8.x"
puts "Please download it from http://www.tclconsortium.com"
exit
}
proc Install {} {
global ins
puts "Build ts from ts.in"
set fi [open ts.in r]
set fo [open ts w]
while {![eof $fi]} {
gets $fi line
if [regexp {set TS_BASE} $line] {
puts $fo "set TS_BASE $ins(lib)"
} elseif [regexp {set params\(debug\)} $line] {
puts $fo "set params(debug) 0"
} else {
puts $fo $line
}
}
close $fo
close $fi
puts "Change permissions of binaries"
foreach bin {ts ts_err} {
file attributes $bin -permissions 0755
}
puts "Build install dir and copy files"
catch {exec rm -rf $ins(lib)} err
puts $err
file mkdir $ins(lib)
foreach f $ins(filelist) {
file copy -force $f $ins(lib)
}
# set symbolic links
foreach bin {ts ts_err} {
file delete -force $ins(bin)/$bin
catch {exec ln -s $ins(lib)/$bin $ins(bin)/$bin} err
puts $err
}
exit
}
proc ide {} {
global ins
wm title . "TS setup"
label .llib -text "Library path:"
entry .elib -textvariable ins(lib)
label .lbin -text "Binary path:"
entry .ebin -textvariable ins(bin)
button .binst -text "Install!" -command Install
button .bexit -text Exit -command exit
grid .llib -row 0 -column 0
grid .elib -row 0 -column 1
grid .lbin -row 1 -column 0
grid .ebin -row 1 -column 1
grid .binst -row 2 -column 0
grid .bexit -row 2 -column 1
}
ide
|