Skip to content

Conversation

@nim65s
Copy link
Contributor

@nim65s nim65s commented Oct 16, 2025

Hi,

python_qt_bindings refuse to evaluate (shiboken2-5.15.17 marked broken for python >= 3.13).
ref. https://wiki.qt.io/Qt_for_Python#Python_compatibility_matrix

So I guess we need to switch this to Qt6.

There are probably a ton of other implications, but right now this at least fix eval + build on humble/jazzy/kilted/rolling :)

Or should we pin python 3.12 ?

@wentasah
Copy link
Collaborator

Thanks! On the first sight it looks good and fixes many problems: https://hydra.iid.ciirc.cvut.cz/eval/6872?compare=lopsided98-develop&full=0. I'll look in more detail later.

@wentasah
Copy link
Collaborator

It seems the patch is taken from somewhere else. Can you fetch it with fetchpath so that everybody knows its origin? Otherwise, it looks good.

@nim65s
Copy link
Contributor Author

nim65s commented Oct 17, 2025

Sure, this is a wget of the .patch of the PR in… wait, I thought I had documented that, sorry.

Anyways, that is ros-visualization/python_qt_binding#143 Should I fetchpatch the 3 commits ?

@wentasah
Copy link
Collaborator

Yes, fetch all three. If you fetch the whole PR, its hash can change if a commit is added to the PR and it would cause build failures.

@wentasah wentasah merged commit 24dfdf8 into lopsided98:develop Oct 17, 2025
@nim65s nim65s deleted the qt6 branch October 17, 2025 22:24
@muellerbernd
Copy link
Contributor

qt-gui-cpp packages still broken for all distros:

> -- SIP binding generator NOT available.
┃        > -- Python binding generators:
┃        > CMake Error at CMakeLists.txt:66 (message):
┃        >   No Python binding generator found.

Maybe one of you knows how to fix that?

@nim65s
Copy link
Contributor Author

nim65s commented Oct 20, 2025

I guess ros-visualization/qt_gui_core#293 is relevant, following ros-visualization/python_qt_binding#143
I'll have a look

@nim65s
Copy link
Contributor Author

nim65s commented Oct 20, 2025

Yes, qt-gui-cpp & qt-gui-core compile with :

  qt-gui-cpp = rosSuper.qt-gui-cpp.overrideAttrs (
    {
      patches ? [ ],
      propagatedBuildInputs ? [ ],
      ...
    }:
    {
      patches = patches ++ [
        # ref. https://github.com/ros-visualization/qt_gui_core/pull/309, just to allow the other patch to apply
        (self.fetchpatch {
          url = "https://github.com/ros-visualization/qt_gui_core/commit/d07b80eac7657fe56b6581e94fa67b91056715a2.patch";
          hash = "sha256-99nUTiYqUm6R+YmM0hfk3+C3uyzHqmW8b8xkb+oM6TY=";
          stripLen = 1;
          revert = true;
        })
        # Qt 5 -> 6
        # ref. https://github.com/ros-visualization/qt_gui_core/pull/293
        (self.fetchpatch {
          url = "https://github.com/ros-visualization/qt_gui_core/commit/21941697c5584dc73968a8b50c51df2aef929562.patch";
          hash = "sha256-4MO4X0AyK9X7UsVBxVosR9bx+62tZgXgJ3a6n2q5E1A=";
          stripLen = 1;
        })
      ];
      propagatedBuildInputs = propagatedBuildInputs ++ [ rosSuper.tinyxml2-vendor ];
    }
  );

But it would be better to rebase 293 instead of reverting 309 x)

@muellerbernd
Copy link
Contributor

muellerbernd commented Oct 20, 2025

Yes, qt-gui-cpp & qt-gui-core compile with :

  qt-gui-cpp = rosSuper.qt-gui-cpp.overrideAttrs (
    {
      patches ? [ ],
      propagatedBuildInputs ? [ ],
      ...
    }:
    {
      patches = patches ++ [
        # ref. https://github.com/ros-visualization/qt_gui_core/pull/309, just to allow the other patch to apply
        (self.fetchpatch {
          url = "https://github.com/ros-visualization/qt_gui_core/commit/d07b80eac7657fe56b6581e94fa67b91056715a2.patch";
          hash = "sha256-99nUTiYqUm6R+YmM0hfk3+C3uyzHqmW8b8xkb+oM6TY=";
          stripLen = 1;
          revert = true;
        })
        # Qt 5 -> 6
        # ref. https://github.com/ros-visualization/qt_gui_core/pull/293
        (self.fetchpatch {
          url = "https://github.com/ros-visualization/qt_gui_core/commit/21941697c5584dc73968a8b50c51df2aef929562.patch";
          hash = "sha256-4MO4X0AyK9X7UsVBxVosR9bx+62tZgXgJ3a6n2q5E1A=";
          stripLen = 1;
        })
      ];
      propagatedBuildInputs = propagatedBuildInputs ++ [ rosSuper.tinyxml2-vendor ];
    }
  );

But it would be better to rebase 293 instead of reverting 309 x)

Thanks for that. This only works for rolling but not for the other distros. It seems like some more work would be needed to get that working for all distros.

nim65s added a commit to nim65s/nix-ros-overlay that referenced this pull request Dec 5, 2025
It thought this was already done in lopsided98#708
nim65s added a commit to nim65s/nix-ros-overlay that referenced this pull request Dec 5, 2025
It thought this was already done in lopsided98#708
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants