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

Re: [PATCH v2] meson: wire up gitk and git-gui

From
Patrick Steinhardt <ps@pks.im>
Date
Feb 5, 2026, 11:55 UTC
Message-ID
<aYSFGG7lCg6Sw8vy@pks.im>
In-Reply-To
<20260205093748.GA2177239@coredump.intra.peff.net>
On Thu, Feb 05, 2026 at 04:37:48AM -0500, Jeff King wrote:
Show 23 quoted lines
> On Wed, Feb 04, 2026 at 09:38:11AM +0100, Patrick Steinhardt wrote:
> 
> > Wire up both gitk and git-gui in Meson as subprojects. These two
> > programs should be the last missing pieces for feature compatibility
> > with our Makefile for distributors.
> > 
> > Note that Meson expects subprojects to live in the "subprojects/"
> > directory. Create symlinks to fulfill this requirement.
> 
> The GitHub Actions win+Meson job fails for 'jch' with:
> 
>   Project name: gitk
>   Project version: undefined
>   Program sh found: YES (C:\Program Files\Git\bin\sh.EXE)
>   Program wish found: YES (C:\Program Files\Git\mingw64\bin\wish.EXE)
>   Program chmod found: YES (C:\Program Files\Git\usr\bin\chmod.EXE)
>   Program mv found: YES (C:\Program Files\Git\usr\bin\mv.EXE)
>   Program sed found: YES (C:\Program Files\Git\usr\bin\sed.EXE)
>   Program msgfmt found: NO
> 
>   subprojects\gitk\meson.build:28:3: ERROR: Program 'msgfmt' not found or not executable
> 
> I didn't investigate, but presumably it is related to this topic.

Oh, indeed. It seems like the logic to handle a missing msgfmt executable already exists, but that I forgot to mark the executable as optional itself. So we need the below patch to fix this.

The nice thing is that this verifies that things actually work with the symlink on Windows :)

I've created https://github.com/j6t/gitk/pull/37 to fix the issue, thanks!

Patrick
diff --git a/gitk-git/meson.build b/gitk-git/meson.build
index ca3c0cec58..aecc068d30 100644
--- a/gitk-git/meson.build
+++ b/gitk-git/meson.build
@@ -25,6 +25,6 @@ custom_target(
   install_dir: get_option('bindir'),
 )
 
-if find_program('msgfmt').found()
+if find_program('msgfmt', required: false).found()
   subdir('po')
 endif
Previous: Jeff KingNext: Patrick Steinhardt
Message 23 of 29 in “meson: wire up gitk and git-gui”
  1. 0/3 meson: wire up gitk and git-guiPatrick Steinhardt, Aug 19, 2025
  2. 1/3 git-gui: move into "subprojects/"Patrick Steinhardt, Aug 19, 2025
  3. Karthik NayakAug 19, 2025
  4. 2/3 gitk: move into "subprojects/"Patrick Steinhardt, Aug 19, 2025
  5. doc/gitk: update reference to the external projectJohannes Sixt, Aug 20, 2025
  6. doc/gitk: update reference to the external projectJohannes Sixt, Aug 20, 2025
  7. Junio C HamanoAug 20, 2025
  8. 3/3 meson: wire up gitk and git-guiPatrick Steinhardt, Aug 19, 2025
  9. Karthik NayakAug 19, 2025
  10. Patrick SteinhardtAug 24, 2025
  11. Junio C HamanoAug 19, 2025
  12. Patrick SteinhardtAug 24, 2025
  13. Junio C HamanoAug 26, 2025
  14. Patrick SteinhardtSep 2, 2025
  15. Ramsay JonesAug 19, 2025
  16. Patrick SteinhardtAug 24, 2025
  17. meson: wire up gitk and git-guiPatrick Steinhardt, Feb 4, 2026
  18. Karthik NayakFeb 4, 2026
  19. Patrick SteinhardtFeb 4, 2026
  20. Junio C HamanoFeb 4, 2026
  21. Patrick SteinhardtFeb 5, 2026
  22. Jeff KingFeb 5, 2026
  23. Patrick SteinhardtFeb 5, 2026
  24. Patrick SteinhardtFeb 6, 2026
  25. Junio C HamanoFeb 6, 2026
  26. Patrick SteinhardtFeb 9, 2026
  27. Junio C HamanoFeb 11, 2026
  28. Johannes SixtFeb 11, 2026
  29. Junio C HamanoFeb 11, 2026

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.