git-gui: Make git-gui lib dir configurable at runime
Introduce the GIT_GUI_LIB_DIR environment variable, to tell git-gui where to look for TCL libs. This allows a git-gui which has been built with a prefix of /foo to be run out of directory /bar. This is the equivalent of GIT_EXEC_PATH or GITPERLLIB but for git-gui's TCL libraries. Signed-off-by: David Turner <dturner@twitter.com> Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
David Turner committed
Jul 21, 2014 at 16:41 UTC
a3b3ae35d4f175e6444533c96933b5868e499b09
3 files changed
+13
-3
Makefile
+2
-1
@@ -177,7 +177,8 @@ git-gui: GIT-VERSION-FILE GIT-GUI-VARS
177
echo then >>$@+ && \
178
echo ' 'echo \'git-gui version '$(GITGUI_VERSION)'\' >>$@+ && \
179
echo else >>$@+ && \
180
- echo ' 'exec \''$(libdir_SQ)/Git Gui.app/Contents/MacOS/$(subst \,,$(TKEXECUTABLE))'\' \
180
+ echo ' libdir="$${GIT_GUI_LIB_DIR:-$(libdir_SQ)}"' >>$@+ && \
181
+ echo ' 'exec \"'$$libdir/Git Gui.app/Contents/MacOS/$(subst \,,$(TKEXECUTABLE))'\" \
182
'"$$0" "$$@"' >>$@+ && \
183
echo fi >>$@+ && \
184
chmod +x $@+ && \
git-gui.sh
+5
-1
@@ -49,7 +49,11 @@ catch {rename send {}} ; # What an evil concept...
49
##
50
## locate our library
51
52
-set oguilib {@@GITGUI_LIBDIR@@}
52
+if { [info exists ::env(GIT_GUI_LIB_DIR) ] } {
53
+ set oguilib $::env(GIT_GUI_LIB_DIR)
54
+} else {
55
+ set oguilib {@@GITGUI_LIBDIR@@}
56
+}
57
set oguirel {@@GITGUI_RELATIVE@@}
58
if {$oguirel eq {1}} {
59
set oguilib [file dirname [file normalize $argv0]]
macosx/AppMain.tcl
+6
-1
@@ -1,5 +1,10 @@
1
set gitexecdir {@@gitexecdir@@}
2
-set gitguilib {@@GITGUI_LIBDIR@@}
2
+if { [info exists ::env(GIT_GUI_LIB_DIR) ] } {
3
+ set gitguilib $::env(GIT_GUI_LIB_DIR)
4
+} else {
5
+ set gitguilib {@@GITGUI_LIBDIR@@}
6
+}
7
+
8
set env(PATH) "$gitexecdir:$env(PATH)"
9
10
if {[string first -psn [lindex $argv 0]] == 0} {