#!/bin/sh # ---------------------------------------------------------------------- # USAGE: tclsh install # # Use this script to install the Rappture toolkit into an existing # Tcl installation. # ====================================================================== # AUTHOR: Michael McLennan, Purdue University # Copyright (c) 2004 Purdue Research Foundation, West Lafayette, IN # ====================================================================== #\ exec tclsh "$0" "$*" # ---------------------------------------------------------------------- # tclsh executes everything from here on... # run this script from directory containing it cd [file dirname [info script]] set package "Rappture" set version "0.9" proc find {dir} { set flist "" foreach name [glob [file join $dir *]] { lappend flist $name if {[file isdirectory $name]} { eval lappend flist [find $name] } } return $flist } proc mkindex {dir} { package require Itcl ;# index Itcl files too! auto_mkindex $dir *.tcl } set dir [file dirname [info library]] set targetdir [file join $dir $package$version] mkindex scripts if {![file exists $targetdir]} { puts "making directory $targetdir..." file mkdir $targetdir } foreach file [find .] { set target [file join $targetdir $file] if {[file isdirectory $file]} { puts "making directory $target..." catch {file mkdir $target} file attributes $target -permissions ugo+rx } else { puts "installing $target..." file copy -force $file $target file attributes $target -permissions ugo+r } } set fid [open [file join $targetdir pkgIndex.tcl] w] puts $fid "# Tcl package index file" puts $fid "package ifneeded $package $version \"" puts $fid " \[list lappend auto_path \[file join \$dir scripts\]\]" puts $fid " namespace eval Rappture \[list variable installdir \$dir\]" puts $fid " package provide $package $version" puts $fid "\"" close $fid puts "== $package-$version INSTALLED"