summarylogtreecommitdiffstats
path: root/destdir.patch
diff options
context:
space:
mode:
Diffstat (limited to 'destdir.patch')
-rw-r--r--destdir.patch58
1 files changed, 58 insertions, 0 deletions
diff --git a/destdir.patch b/destdir.patch
new file mode 100644
index 000000000000..d654a8ff0c47
--- /dev/null
+++ b/destdir.patch
@@ -0,0 +1,58 @@
+diff -ur andreas-kupries-critcl-62a03a2/build.tcl andreas-kupries-critcl-62a03a2-mod/build.tcl
+--- andreas-kupries-critcl-62a03a2/build.tcl 2016-11-03 08:36:34.000000000 +0100
++++ andreas-kupries-critcl-62a03a2-mod/build.tcl 2017-01-28 11:31:04.251417238 +0100
+@@ -1,7 +1,7 @@
+ #!/bin/sh
+ # -*- tcl -*- \
+ exec tclsh "$0" ${1+"$@"}
+-package require Tcl 8.4
++package require Tcl 8.5
+ unset -nocomplain ::errorInfo
+ set me [file normalize [info script]]
+ proc main {} {
+@@ -105,6 +105,24 @@
+ }
+ return $path
+ }
++proc dstlfromlib {path} {
++ # kinda the inverse of findlib above
++ # returns the path to dstlpath, relative the */lib path returned by findlib
++ # The path is returned
++ # as a list of directories
++ set relpath {}
++ while {1} {
++ if {[file tail $path] eq "lib"} {
++ break
++ }
++ set new [file dirname $path]
++ set relpath [list [file tail $path] {*}$relpath]
++ if {$new eq $path} break
++ set path $new
++ }
++ return $relpath
++}
++
+ proc id {cv vv} {
+ upvar 1 $cv commit $vv version
+
+@@ -366,9 +384,17 @@
+ # Application: critcl
+
+ set theapp [critapp $dsta]
+-
+- set c [open $theapp w]
+- puts $c "#!/bin/sh\n# -*- tcl -*- \\\nexec [file dirname [file normalize [info nameofexecutable]/___]] \"\$0\" \$\{1+\"\$@\"\}\npackage require critcl::app\ncritcl::app::main \$argv"
++ set reldstl [dstlfromlib $dstl]
++
++ set c [open $theapp w]
++ puts $c {#!/bin/sh}
++ puts $c "# -*- tcl -*- \\"
++ puts $c "exec [file dirname [file normalize [info nameofexecutable]/___]] \"\$0\" \$\{1+\"\$@\"\}\n"
++ puts $c {set libpath [file normalize [file join [file dirname [info script]] .. lib]]}
++ puts $c "set libpath \[file join \$libpath $reldstl \]"
++ puts $c {if {$libpath ni $auto_path} {lappend auto_path $libpath}}
++ puts $c "\npackage require critcl::app"
++ puts $c "critcl::app::main \$argv"
+ close $c
+ +x $theapp
+