Skip to content

CI: Fix missing wxGUI menu strings in the update-i18n job - #740

Open
echoix wants to merge 2 commits into
mainfrom
claude/update-i18n-gui-build-value-gn0xbl
Open

echoix wants to merge 2 commits into
mainfrom
claude/update-i18n-gui-build-value-gn0xbl

Conversation

@echoix

@echoix echoix commented Oct 11, 2026

Copy link
Copy Markdown
Owner

Description

The update-i18n job now installs wxPython (python3-wxgtk4.0) and the optional dependencies of the tools listed in the menus (cairo, fftw, freetype, geos, libsvm, netcdf, opengl, postgres). gui/wxpython/Makefile also gets .DELETE_ON_ERROR, so a failing generator no longer leaves a header-only menustrings.py that make pot accepts.

Motivation and context

Without wxPython, core/menutree.py fails on import wx, the error is ignored by -$(MAKE) menustrings.py, and menustrings.py stays a 3-line stub. Since OSGeo#5752, about 1,095 menu and Modeler/Psmap msgids are missing from grasswxpy.pot. Tools that are not built also get "Module not installed" instead of their description.

Not changed: the CMake build_menustrings target (it already fails the build on error), and a parallel-make race that can leave g.gui.dbmgr as "Module not installed".

How has this been tested?

Ran the job's apt install, configure, make and cd locale && make pot locally. menustrings.py has 2366 lines and grasswxpy.pot goes from 3435 to 4541 msgids, including "Raster map calculator". Without wx, make menustrings.py now fails and removes the file, and make pot exits with an error.

Types of changes

  • Bug fix (non-breaking change which fixes an issue)

Checklist

  • PR title provides summary of the changes and starts with one of the
    pre-defined prefixes
  • My code follows the code style
    of this project.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have added tests to cover my changes.

Developed with substantial AI assistance.


Generated by Claude Code

The job did not install wxPython, so gui/wxpython/menustrings.py was left
as a header-only stub and about 1100 menu strings were missing from
grasswxpy.pot. Install python3-wxgtk4.0 and enable the optional
dependencies of the tools listed in the menus, so that their real
descriptions are extracted instead of "Module not installed".

Also delete menustrings.py and the other generated files in
gui/wxpython when a generator fails (.DELETE_ON_ERROR), so that the
existence check in 'make pot' fails visibly instead of passing on a stub.

This change was developed with substantial AI assistance.
Comment thread gui/wxpython/Makefile
Ubuntu 24.04 does not package PDAL or libLAS, so the update-i18n job
cannot build r.in.pdal, v.in.pdal and the *.lidar tools.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants