%bcond_with tests %bcond_without weak_deps %define ros_distro humble %global debug_package %{nil} %global __os_install_post %(echo '%{__os_install_post}' | sed -e 's!/usr/lib[^[:space:]]*/brp-python-bytecompile[[:space:]].*$!!g') %global __provides_exclude_from ^/opt/ros/%{ros_distro}/.*$ %global __requires_exclude_from ^/opt/ros/%{ros_distro}/.*$ %define RosPkgName python-qt-binding Name: ros-%{ros_distro}-%{RosPkgName} Version: 1.1.3 Release: 1%{?dist}%{?release_suffix} Summary: ROS python-qt-binding package Url: http://ros.org/wiki/python_qt_binding License: BSD Source0: %{RosPkgName}-%{version}.tar.gz Patch0: 0-python-qt-binding-fix-license-key.patch Requires: python3-qt5-devel Requires: ros-%{ros_distro}-ros-workspace BuildRequires: qt5-qtbase-devel BuildRequires: python3-qt5-devel BuildRequires: ros-%{ros_distro}-ament-cmake BuildRequires: ros-%{ros_distro}-ros-workspace %if 0%{?with_tests} BuildRequires: ros-%{ros_distro}-ament-cmake-pytest BuildRequires: ros-%{ros_distro}-ament-lint-auto BuildRequires: ros-%{ros_distro}-ament-lint-common %endif Provides: %{name}-devel = %{version}-%{release} Provides: %{name}-doc = %{version}-%{release} Provides: %{name}-runtime = %{version}-%{release} %description This stack provides Python bindings for Qt. There are two providers: pyside and pyqt. PySide2 is available under the GPL, LGPL and a commercial license. PyQt is released under the GPL. Both the bindings and tools to build bindings are included from each available provider. For PySide, it is called "Shiboken". For PyQt, this is called "SIP". Also provided is adapter code to make the user's Python code independent of which binding provider was actually used which makes it very easy to switch between these. %prep %autosetup -n python-qt-binding-1.1.3 # Flatten tarball subdirectory to build dir root if [ -d %{RosPkgName}-%{version} ]; then mv %{RosPkgName}-%{version}/* . 2>/dev/null || true mv %{RosPkgName}-%{version}/.* . 2>/dev/null || true rmdir %{RosPkgName}-%{version} 2>/dev/null || true fi %build # Needed to bootstrap since the ros_workspace package does not yet exist. export PYTHONPATH=/opt/ros/%{ros_distro}/lib/python%{python3_version}/site-packages # In case we're installing to a non-standard location, look for a setup.sh # in the install tree and source it. It will set things like # CMAKE_PREFIX_PATH, PKG_CONFIG_PATH, and PYTHONPATH. if [ -f "/opt/ros/%{ros_distro}/setup.sh" ]; then . "/opt/ros/%{ros_distro}/setup.sh"; fi mkdir -p .obj-%{_target_platform} && cd .obj-%{_target_platform} %cmake3 \ -UINCLUDE_INSTALL_DIR \ -ULIB_INSTALL_DIR \ -USYSCONF_INSTALL_DIR \ -USHARE_INSTALL_PREFIX \ -ULIB_SUFFIX \ -DCMAKE_INSTALL_PREFIX="/opt/ros/%{ros_distro}" \ -DAMENT_PREFIX_PATH="/opt/ros/%{ros_distro}" \ -DCMAKE_PREFIX_PATH="/opt/ros/%{ros_distro}" \ -DSETUPTOOLS_DEB_LAYOUT=OFF \ %if !0%{?with_tests} -DBUILD_TESTING=OFF \ %endif .. %make_build %install # Needed to bootstrap since the ros_workspace package does not yet exist. export PYTHONPATH=/opt/ros/%{ros_distro}/lib/python%{python3_version}/site-packages # In case we're installing to a non-standard location, look for a setup.sh # in the install tree and source it. It will set things like # CMAKE_PREFIX_PATH, PKG_CONFIG_PATH, and PYTHONPATH. if [ -f "/opt/ros/%{ros_distro}/setup.sh" ]; then . "/opt/ros/%{ros_distro}/setup.sh"; fi %make_install -C .obj-%{_target_platform} %files /opt/ros/%{ros_distro} %changelog * Sat Oct 24 2026 kuyan_kubuds - 1.1.3-1 - Sync python-qt-binding 1.1.3 from humble branch to master * Mon Sep 21 2026 Wanming Hu - 1.1.3-1 - Upgrade python-qt-binding from 1.1.1 to 1.1.3 for ROS 2 Humble. * Thu May 04 2023 Shane Loretz sloretz@openrobotics.org - 1.1.1-1 - Autogenerated by ros-porting-tools * Wed Jan 10 2024 Claire Wang clairewang@openrobotics.org - 0.4.4-1 - Autogenerated by ros-porting-tools