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