git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 0/5] git-gui: workaround deprecation of Tcl/TK 8.5 in macOS

From
Carlo Arenas <carenas@gmail.com>
Date
Jul 30, 2025, 23:54 UTC
Message-ID
<CAPUEspgpF5=w-=w1zofkO1P3+HYdvRUxZfpnM2pcJGYOOoEmdg@mail.gmail.com>
In-Reply-To
<74891c16-8850-4148-ba15-d5b3e5571bcb@kdbg.org>
On Wed, Jul 30, 2025 at 12:09 PM Johannes Sixt <j6t@kdbg.org> wrote:
Show 11 quoted lines
>
> Am 30.07.25 um 18:40 schrieb Carlo Marcelo Arenas Belón:
> >
> > Patches 1 and 2 are minor fixes that could also apply to maint, but the main
> > change is in Patch 3, which removes the long obsoleted "Git Gui" app that was
> > tied to the system provided Tcl/TK framework and that has been broken for a
> > while.
>
> This sounds like the lifted requirement of Tcl 8.6 isn't the cause why
> this part is broken. But the commit message of patch 3 says it is. Which
> one is it?

It has been broken multiple times. Since macOS 11 (released in 2020) using the system provided Framework had caused problems, some were worked around by use_ttk=0, but it was more reliable to use a third party Tcl/Tk.

For example, Homebrew tricks the Makefile to fail to detect the system Tcl/Tk and to use their own version of that dependency.

Something in the recent meson related changes broke the generator for the App and it wouldn't even start, I didn't propose a fix, since that is likely also affecting maint and nobody complained, which is why I was proposing to remove the App instead.

The last changes that remove use_ttk and force a version that is no longer provided by the hard coded dependency of the App are just the last nail on its coffin.

Show 7 quoted lines
> > Patches 4 and 5 are needed to avoid the system framework and facilitate using
> > a third party provided package of Tcl/TK 8.6 instead, but the last patch also
> > protects against a conflict with the Xcode provided git that for some reason
> > includes a copy of `git-gui--askpass` even if `git-gui` is missing.
>
> Patch 5, I fear, needs a different approach as it breaks RUNTIME_PREFIX
> builds. I say that after having looked at the patch; I haven't test it.

I tried not to break RUNTIME_PREFIX by only using the build provided execpath to locate the askpass helper, but the suggestion by Mark seems like a better approach.

> Any help would be appreciated on the Meson parts

The Meson build works when tested outside the git repository, but since the main meson.build doesn't yet use that to build/install git-gui there is no way to do a full test.

Eitherway, it can't make things worse.
> and whether the updated
> git-gui--askpass build still works. I don't use either of them.

to trigger the helper you might need OpenSSH >= 8.4 and having the following variable in the environment before calling git-gui:

  SSH_ASKPASS_REQUIRE=force

note that G4W provides its own native `SSH_ASKPASS=git-askpass.exe`so that must be unset first.

Carlo
Previous: Johannes SixtNext: Patrick Steinhardt
Message 13 of 25 in “git-gui: workaround deprecation of Tcl/TK 8.5 in macOS”
  1. 0/5 git-gui: workaround deprecation of Tcl/TK 8.5 in macOSCarlo Marcelo Arenas Belón, Jul 30, 2025
  2. 1/5 git-gui: remove uname_O in MakefileCarlo Marcelo Arenas Belón, Jul 30, 2025
  3. Junio C HamanoJul 30, 2025
  4. 2/5 git-gui: fix dependency of GITGUI_MAIN on generatorCarlo Marcelo Arenas Belón, Jul 30, 2025
  5. 3/5 git-gui: retire Git Gui.appCarlo Marcelo Arenas Belón, Jul 30, 2025
  6. 4/5 git-gui: honor TCLTK_PATH in git-gui--askpassCarlo Marcelo Arenas Belón, Jul 30, 2025
  7. Johannes SixtJul 30, 2025
  8. Patrick SteinhardtJul 31, 2025
  9. 5/5 git-gui: ensure own version of git-gui--askpass is usedCarlo Marcelo Arenas Belón, Jul 30, 2025
  10. Johannes SixtJul 30, 2025
  11. Mark LevedahlJul 30, 2025
  12. Johannes SixtJul 30, 2025
  13. Carlo ArenasJul 30, 2025
  14. Patrick SteinhardtJul 31, 2025
  15. Junio C HamanoJul 30, 2025
  16. Junio C HamanoJul 30, 2025
  17. Carlo ArenasJul 30, 2025
  18. Junio C HamanoJul 31, 2025
  19. 0/5 git-gui: workaround deprecation of Tcl/Tk 8.5 in macOSCarlo Marcelo Arenas Belón, Jul 31, 2025
  20. 1/5 git-gui: remove uname_O in MakefileCarlo Marcelo Arenas Belón, Jul 31, 2025
  21. 2/5 git-gui: fix dependency of GITGUI_MAIN on generatorCarlo Marcelo Arenas Belón, Jul 31, 2025
  22. 3/5 git-gui: retire Git Gui.appCarlo Marcelo Arenas Belón, Jul 31, 2025
  23. 4/5 git-gui: honor TCLTK_PATH in git-gui--askpassCarlo Marcelo Arenas Belón, Jul 31, 2025
  24. 5/5 git-gui: ensure own version of git-gui--askpass is usedCarlo Marcelo Arenas Belón, Jul 31, 2025
  25. Johannes SixtJul 31, 2025

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.