File: install.sh

package info (click to toggle)
ts 9902p1-1
  • links: PTS
  • area: main
  • in suites: potato
  • size: 2,252 kB
  • ctags: 1,271
  • sloc: tcl: 5,638; sh: 129; makefile: 40
file content (76 lines) | stat: -rwxr-xr-x 1,746 bytes parent folder | download
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