threads / patch / 12048

patchgit-gui: support Git Gui.app under OS X 10.5

Subject: [PATCH] git-gui: support Git Gui.app under OS X 10.5

## tl;dr

3 messages between Feb 12, 2008 and Feb 12, 2008. Diffs are folded; open one to read it.

replies: 2people: 3as markdown or json

jaysoffian@gmail.com· Feb 12, 2008, 00:17 UTC · lore
The Tk Framework moved its location in 10.5 compared to 10.4
Signed-off-by: Jay Soffian <jaysoffian@gmail.com>
---
Argh. Third time's a charm? Sorry, forgot to add my change before
amending and resending.
 git-gui/Makefile          |   17 +++++++++++++----
 git-gui/macosx/Info.plist |    2 +-
 2 files changed, 14 insertions(+), 5 deletions(-)
Show changes to 2 files +14 −5

git-gui/Makefile, git-gui/macosx/Info.plist

diff --git a/git-gui/Makefile b/git-gui/Makefile
index 34438cd..081d755 100644
--- a/git-gui/Makefile
+++ b/git-gui/Makefile
@@ -13,6 +13,7 @@ GIT-VERSION-FILE: .FORCE-GIT-VERSION-FILE
 
 uname_S := $(shell sh -c 'uname -s 2>/dev/null || echo not')
 uname_O := $(shell sh -c 'uname -o 2>/dev/null || echo not')
+uname_R := $(shell sh -c 'uname -r 2>/dev/null || echo not')
 
 SCRIPT_SH = git-gui.sh
 GITGUI_MAIN := git-gui
@@ -93,7 +94,14 @@ endif
 
 TCL_PATH   ?= tclsh
 TCLTK_PATH ?= wish
-TKFRAMEWORK = /Library/Frameworks/Tk.framework/Resources/Wish.app
+
+ifeq ($(uname_S),Darwin)
+	TKFRAMEWORK = /Library/Frameworks/Tk.framework/Resources/Wish.app
+	ifeq ($(shell expr "$(uname_R)" : '9\.'),2)
+		TKFRAMEWORK = /System/Library/Frameworks/Tk.framework/Resources/Wish\ Shell.app
+	endif
+	TKEXECUTABLE = $(shell basename "$(TKFRAMEWORK)" .app)
+endif
 
 ifeq ($(findstring $(MAKEFLAGS),s),s)
 QUIET_GEN =
@@ -147,7 +155,7 @@ git-gui: GIT-VERSION-FILE GIT-GUI-VARS
 	echo then >>$@+ && \
 	echo '	'echo \'git-gui version '$(GITGUI_VERSION)'\' >>$@+ && \
 	echo else >>$@+ && \
-	echo '	'exec \''$(libdir_SQ)/Git Gui.app/Contents/MacOS/Wish'\' \
+	echo '	'exec \''$(libdir_SQ)/Git Gui.app/Contents/MacOS/$(subst \,,$(TKEXECUTABLE))'\' \
 		'"$$0" "$$@"' >>$@+ && \
 	echo fi >>$@+ && \
 	chmod +x $@+ && \
@@ -157,14 +165,15 @@ Git\ Gui.app: GIT-VERSION-FILE GIT-GUI-VARS \
 		macosx/Info.plist \
 		macosx/git-gui.icns \
 		macosx/AppMain.tcl \
-		$(TKFRAMEWORK)/Contents/MacOS/Wish
+		$(TKFRAMEWORK)/Contents/MacOS/$(TKEXECUTABLE)
 	$(QUIET_GEN)rm -rf '$@' '$@'+ && \
 	mkdir -p '$@'+/Contents/MacOS && \
 	mkdir -p '$@'+/Contents/Resources/Scripts && \
-	cp '$(subst ','\'',$(TKFRAMEWORK))/Contents/MacOS/Wish' \
+	cp '$(subst ','\'',$(subst \,,$(TKFRAMEWORK)/Contents/MacOS/$(TKEXECUTABLE)))' \
 		'$@'+/Contents/MacOS && \
 	cp macosx/git-gui.icns '$@'+/Contents/Resources && \
 	sed -e 's/@@GITGUI_VERSION@@/$(GITGUI_VERSION)/g' \
+		-e 's/@@GITGUI_TKEXECUTABLE@@/$(TKEXECUTABLE)/g' \
 		macosx/Info.plist \
 		>'$@'+/Contents/Info.plist && \
 	sed -e 's|@@gitexecdir@@|$(gitexecdir_SQ)|' \
diff --git a/git-gui/macosx/Info.plist b/git-gui/macosx/Info.plist
index 99913ec..b3bf15f 100644
--- a/git-gui/macosx/Info.plist
+++ b/git-gui/macosx/Info.plist
@@ -5,7 +5,7 @@
 	<key>CFBundleDevelopmentRegion</key>
 	<string>English</string>
 	<key>CFBundleExecutable</key>
-	<string>Wish</string>
+	<string>@@GITGUI_TKEXECUTABLE@@</string>
 	<key>CFBundleGetInfoString</key>
 	<string>Git Gui @@GITGUI_VERSION@@ © 2006-2007 Shawn Pearce, et. al.</string>
 	<key>CFBundleIconFile</key>
-- 
1.5.4.1.1232.g91d0
Seth Falcon· Feb 12, 2008, 01:11 UTC · re: jaysoffian@gmail.com · lore

Re: [PATCH] git-gui: support Git Gui.app under OS X 10.5

jaysoffian@gmail.com writes:
Show 6 quoted lines
> The Tk Framework moved its location in 10.5 compared to 10.4
>
> Signed-off-by: Jay Soffian <jaysoffian@gmail.com>
> ---
> Argh. Third time's a charm? Sorry, forgot to add my change before
> amending and resending.
I applied this and things work much better, thanks!
So...
Tested-by: Seth Falcon <seth@userprimary.net>
One thing.  When I quit git gui I see the following on the terminal:
TkMacOSXDoHLEvent failed : cppe 1                   ,kHighLevelEvent  61657674 0000 tvea,-1708
-- 
Seth Falcon | seth@userprimary.net | blog: http://userprimary.net/user/
Shawn O. Pearce· Feb 12, 2008, 07:33 UTC · re: Seth Falcon · lore

Re: [PATCH] git-gui: support Git Gui.app under OS X 10.5

Seth Falcon <seth@userprimary.net> wrote:
Show 10 quoted lines
> jaysoffian@gmail.com writes:
> > The Tk Framework moved its location in 10.5 compared to 10.4
> >
> > Signed-off-by: Jay Soffian <jaysoffian@gmail.com>
> > ---
> > Argh. Third time's a charm? Sorry, forgot to add my change before
> > amending and resending.
> 
> I applied this and things work much better, thanks!
> Tested-by: Seth Falcon <seth@userprimary.net>
Thanks guys.  This is now in maint and master.  Its going to
be part of git-gui 0.9.3, whenever that happens.
 
> One thing.  When I quit git gui I see the following on the terminal:
> 
> TkMacOSXDoHLEvent failed : cppe 1                   ,kHighLevelEvent  61657674 0000 tvea,-1708

Yea, I see some random errors from git-gui when I use an option menu. I think there's something buggy with Tk on Aqua. Maybe we should report these to the Tk Aqua folks, especially if we could distill the issue down to a really short Tk script.

-- 
Shawn.

← back to recent threads