Skip to content

Map the wxwidgets/wx-common rosdep keys to wxwidgets, not wxpython - #227

Merged
Tobias-Fischer merged 2 commits into
mainfrom
mrpt-gui-no-wxpython
Nov 15, 2026
Merged

Tobias-Fischer merged 2 commits into
mainfrom
mrpt-gui-no-wxpython

Conversation

@Tobias-Fischer

@Tobias-Fischer Tobias-Fischer commented Nov 14, 2026 •

Copy link
Copy Markdown
Collaborator

The wxwidgets and wx-common rosdep keys are the C++ wxWidgets keys (libwxgtk*-dev / wx-common on Debian), but shared/robostack.yaml mapped them to wxpython. This PR maps them to wxwidgets.

mrpt_gui is the only package using these keys, in every distribution. It links the C++ libraries (libwx_*), so wxpython was an unneeded host dependency; it never reached the run requirements (published mrpt_gui packages depend on wxwidgets through its run_exports). Its add_host: ["wxwidgets"] override is no longer needed and is dropped; the Windows glad entry stays.

The wxpython host dependency causes the new check-deps conflicts on #165, which solves host and run requirements together:

  • conda-forge's wxpython builds for wxwidgets 3.3.4 all need sip >=6.17;
  • pyqt6 needs sip <6.16, and our pins hold sip at 6.15;
  • so in lyrical and rolling, mrpt_gui's host requirements conflict with python_qt_binding / qt_gui_cpp.

humble, jazzy: wxwidgets is pinned to 3.3.1 (pinning_overrides in their distro.yaml). Every wxwidgets build since 3.3.2, and the newest 3.3.1 builds, need gst-plugins-base 1.28 on Linux, but no qt-main 5.15 accepts it, so mrpt_gui's host requirements couldn't be solved on Linux. The released builds use wxwidgets 3.2.8 from before the pin moved. mrpt_gui is the only package depending on wxwidgets.

mrpt_gui is rebuilt in all four distributions (humble 24, jazzy 30, lyrical 34, rolling 35); #165 bumps the same build numbers.

Checked: humble mrpt_gui builds and passes its tests on linux-aarch64 (locally, with wxwidgets 3.3.1, gst-plugins-base 1.26.11 and qt-main 5.15.15); the regenerated mrpt_gui recipes have wxwidgets (and no wxpython) in host in all four distributions; pixi run sort --check passes. With the earlier override version of this change on top of #165, check-deps (linux-64) reported no new conflicts for lyrical and rolling.

ABI check: lyrical reports mrpt-gui as incompatible only because its Python bindings moved from cp312 to cp314 (no released packages link to it, so nothing else needs a rebuild).

🤖 Generated with Claude Code

@Tobias-Fischer Tobias-Fischer added the build:none PR build: build no packages, only run the checks (tooling, CI or docs changes) label Nov 14, 2026
@Tobias-Fischer Tobias-Fischer changed the title mrpt_gui: no wxpython, rebuild mrpt_gui: no wxpython host dependency, rebuild Nov 14, 2026
They are the C++ wxWidgets keys (libwxgtk*-dev, wx-common in Debian).
mrpt_gui, the only package using them, links libwx_*; with wxpython in its
host requirements it conflicted with pyqt6 over sip. Its wxwidgets
override is no longer needed. Rebuild it in all four distributions.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Tobias-Fischer Tobias-Fischer added build:humble PR build: build only humble (with other build:<distro> labels: only those) build:jazzy PR build: build only jazzy (with other build:<distro> labels: only those) build:lyrical PR build: build only lyrical (with other build:<distro> labels: only those) build:rolling PR build: build only rolling (with other build:<distro> labels: only those) and removed build:none PR build: build no packages, only run the checks (tooling, CI or docs changes) labels Nov 15, 2026
@Tobias-Fischer Tobias-Fischer changed the title mrpt_gui: no wxpython host dependency, rebuild Map the wxwidgets/wx-common rosdep keys to wxwidgets, not wxpython Nov 15, 2026
@github-actions

github-actions Bot commented Nov 15, 2026 •

Copy link
Copy Markdown

ABI check (linux-64)

humble linux-64: 1 can be bumped on their own
1 packages can be bumped on their own (compatible: 1)
package released → PR verdict details
mrpt-gui 3.5.0 (build 22) → 3.5.0 compatible: no ABI change headers unchanged
pins changed: wxwidgets >=3.2.8.1,<3.2.9 → >=3.3.1,<3.3.2

Compared with the newest builds on https://conda.anaconda.org/robostack-humble/linux-64.

jazzy linux-64: 1 can be bumped on their own
1 packages can be bumped on their own (compatible: 1)
package released → PR verdict details
mrpt-gui 3.4.0 (build 27) → 3.4.0 compatible: no ABI change headers unchanged
pins changed: wxwidgets >=3.2.8.1,<3.2.9 → >=3.3.1,<3.3.2

Compared with the newest builds on https://conda.anaconda.org/robostack-jazzy/linux-64.

lyrical linux-64: **1 need their dependents rebuilt**
package released → PR verdict details
mrpt-gui 3.3.1 (build 30) → 3.3.1 incompatible: removed or changed symbols: rebuild the dependents removed: _bindings.cpython-312-x86_64-linux-gnu.so
rebuild 0 dependents (of 2 released dependents, these link to it): none
headers unchanged
pins changed: python_abi 3.12.* _cp312 → 3.14. *_cp314

Compared with the newest builds on https://repo.prefix.dev/robostack-lyrical/linux-64.

rolling linux-64: 1 can be bumped on their own
1 packages can be bumped on their own (compatible: 1)
package released → PR verdict details
mrpt-gui 3.5.2 (build 32) → 3.5.2 compatible: no ABI change headers unchanged
pins changed: qt6-main >=6.11.2,<7 → >=6.11.3,<7

Compared with the newest builds on https://repo.prefix.dev/robostack-rolling/linux-64.

About this check

Each package this pull request built, compared with its newest released build (tools/abi_check.py, libabigail):

  • compatible / additions: the package can be bumped on its own;
  • soname / incompatible: the packages that depend on it need a rebuild (build number bump) in the same pull request.

Exported symbols are compared (the released packages are stripped, so struct layouts aren't); unchanged installed headers rule out layout and inline changes, changed ones are listed for review. Dependents to rebuild are the released ones linking to a changed library. A changed pin is part of the comparison.

…5 on Linux

wxwidgets 3.3.2+ (and the newest 3.3.1 builds) need gst-plugins-base 1.28,
which no qt-main 5.15 accepts, so mrpt_gui's host requirements could not be
solved on Linux.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Tobias-Fischer
Tobias-Fischer merged commit ffc3c59 into main Nov 15, 2026
30 checks passed
@Tobias-Fischer
Tobias-Fischer deleted the mrpt-gui-no-wxpython branch November 15, 2026 05:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

build:humble PR build: build only humble (with other build:<distro> labels: only those) build:jazzy PR build: build only jazzy (with other build:<distro> labels: only those) build:lyrical PR build: build only lyrical (with other build:<distro> labels: only those) build:rolling PR build: build only rolling (with other build:<distro> labels: only those)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant