summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2026-09-23 07:47:22 +0000
committerCoprDistGit <infra@openeuler.org>2026-09-23 07:47:22 +0000
commitae374a6188c479d9e68653308f630199afa6bdda (patch)
treecd8446f40b9583f726dd20ba1af6b139e9b8c657
parent50d979b5e834571165fa305ca22dbef41b40bd96 (diff)
automatic import of ros-humble-rqt-gui-cppopeneuler24.03_LTS_SP3
-rw-r--r--.gitignore1
-rw-r--r--rqt-gui-cpp.spec59
-rw-r--r--sources1
3 files changed, 55 insertions, 6 deletions
diff --git a/.gitignore b/.gitignore
index 143de07..ac38e6c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,2 @@
/rqt-gui-cpp-1.1.10-2.tar.gz
+/qt_gui_core-2.2.5.tar.gz
diff --git a/rqt-gui-cpp.spec b/rqt-gui-cpp.spec
index 2583af9..6c6db73 100644
--- a/rqt-gui-cpp.spec
+++ b/rqt-gui-cpp.spec
@@ -1,14 +1,16 @@
%define ros_distro humble
%define RosPkgName rqt-gui-cpp
%define src_version 1.1.10-2
+%define qt_gui_cpp_version 2.2.5
Name: ros-%{ros_distro}-%{RosPkgName}
Version: 1.1.10
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: rqt_gui_cpp enables GUI plugins to use the C++ client library for ROS.
License: BSD
URL: https://github.com/ros-visualization/rqt/tree/humble
Source0: %{RosPkgName}-%{src_version}.tar.gz
+Source1: qt_gui_core-%{qt_gui_cpp_version}.tar.gz
%global debug_package %{nil}
%global __os_install_post %(echo '%{__os_install_post}' | sed -e 's!/usr/lib[^[:space:]]*/brp-python-bytecompile[[:space:]].*$!!g')
@@ -21,6 +23,9 @@ BuildRequires: ros-%{ros_distro}-pluginlib
BuildRequires: ros-%{ros_distro}-qt-gui
BuildRequires: ros-%{ros_distro}-qt-gui-cpp
BuildRequires: ros-%{ros_distro}-rclcpp
+BuildRequires: ros-%{ros_distro}-rcpputils
+BuildRequires: ros-%{ros_distro}-tinyxml2-vendor
+BuildRequires: tinyxml2-devel
BuildRequires: qt5-qtbase-devel
Requires: ros-%{ros_distro}-ros-workspace
@@ -38,13 +43,26 @@ Provides: %{name}-runtime = %{version}-%{release}
rqt_gui_cpp enables GUI plugins to use the C++ client library for ROS.
%prep
-%autosetup -n %{RosPkgName}-%{src_version}
+%setup -n %{RosPkgName}-%{src_version}
+
+cd %{_builddir}
+tar xzf %{_sourcedir}/qt_gui_core-%{qt_gui_cpp_version}.tar.gz
+cd qt_gui_core-%{qt_gui_cpp_version}/qt_gui_cpp
+sed -i 's/add_subdirectory(src\/qt_gui_cpp_shiboken)/# &/' CMakeLists.txt
+sed -i 's/add_subdirectory(src\/qt_gui_cpp_sip)/# &/' CMakeLists.txt
+sed -i 's/message(FATAL_ERROR "No Python binding generator found.")/message(WARNING "No Python binding generator found, skipping Python bindings.")/' CMakeLists.txt
+sed -i '/ament_python_install_package/,/PACKAGE_DIR/s/^/# /' CMakeLists.txt
%build
[ -f /opt/ros/%{ros_distro}/setup.sh ] && source /opt/ros/%{ros_distro}/setup.sh || true
export PYTHONPATH=/opt/ros/%{ros_distro}/lib/python%{python3_version}/site-packages${PYTHONPATH:+:$PYTHONPATH}
export PKG_CONFIG_PATH=/opt/ros/%{ros_distro}/lib/pkgconfig${PKG_CONFIG_PATH:+:$PKG_CONFIG_PATH}
-cd rqt_gui_cpp
+
+INSTALL_PREFIX=%{_builddir}/qt_gui_cpp_install
+
+# Build qt_gui_cpp from source: Embedded repo's ros-humble-qt-gui-cpp only ships
+# Python files, missing the C++ library and cmake config needed by rqt_gui_cpp
+cd %{_builddir}/qt_gui_core-%{qt_gui_cpp_version}/qt_gui_cpp
mkdir -p .obj && cd .obj
%cmake3 \
-DCMAKE_INSTALL_PREFIX="/opt/ros/%{ros_distro}" \
@@ -55,18 +73,47 @@ mkdir -p .obj && cd .obj
-DBUILD_TESTING=OFF -DTESTING=OFF -DCMAKE_SUPPRESS_REGENERATION=ON \
..
make %{?_smp_mflags}
+make install DESTDIR=$INSTALL_PREFIX
+
+# Build rqt_gui_cpp against locally-built qt_gui_cpp
+export CMAKE_PREFIX_PATH="$INSTALL_PREFIX/opt/ros/%{ros_distro}:${CMAKE_PREFIX_PATH}"
+export AMENT_PREFIX_PATH="$INSTALL_PREFIX/opt/ros/%{ros_distro}:${AMENT_PREFIX_PATH}"
+export LD_LIBRARY_PATH="$INSTALL_PREFIX/opt/ros/%{ros_distro}/lib:${LD_LIBRARY_PATH}"
+
+cd %{_builddir}/%{RosPkgName}-%{src_version}/rqt_gui_cpp
+mkdir -p .obj && cd .obj
+%cmake3 \
+ -DCMAKE_INSTALL_PREFIX="/opt/ros/%{ros_distro}" \
+ -DAMENT_PREFIX_PATH="$INSTALL_PREFIX/opt/ros/%{ros_distro}:/opt/ros/%{ros_distro}" \
+ -DCMAKE_PREFIX_PATH="$INSTALL_PREFIX/opt/ros/%{ros_distro}:/opt/ros/%{ros_distro}" \
+ -UINCLUDE_INSTALL_DIR -ULIB_INSTALL_DIR -USYSCONF_INSTALL_DIR -USHARE_INSTALL_PREFIX -ULIB_SUFFIX \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DBUILD_TESTING=OFF -DTESTING=OFF -DCMAKE_SUPPRESS_REGENERATION=ON \
+ ..
+make %{?_smp_mflags}
%install
[ -f /opt/ros/%{ros_distro}/setup.sh ] && source /opt/ros/%{ros_distro}/setup.sh || true
export PYTHONPATH=/opt/ros/%{ros_distro}/lib/python%{python3_version}/site-packages${PYTHONPATH:+:$PYTHONPATH}
export PKG_CONFIG_PATH=/opt/ros/%{ros_distro}/lib/pkgconfig${PKG_CONFIG_PATH:+:$PKG_CONFIG_PATH}
-cd rqt_gui_cpp
-cd .obj
+
+# Install qt_gui_cpp C++ library, cmake config, headers, plugin.xml
+cd %{_builddir}/qt_gui_core-%{qt_gui_cpp_version}/qt_gui_cpp/.obj
+make install DESTDIR=%{buildroot}
+
+# Remove qt_gui_cpp Python files (provided by ros-humble-qt-gui-cpp from Embedded repo)
+rm -rf %{buildroot}/opt/ros/%{ros_distro}/lib/python%{python3_version}/site-packages/qt_gui_cpp*
+
+# Install rqt_gui_cpp
+cd %{_builddir}/%{RosPkgName}-%{src_version}/rqt_gui_cpp/.obj
make install DESTDIR=%{buildroot}
%files
/opt/ros/%{ros_distro}
%changelog
-* Wed Sep 23 2026 ai-importer <ai-importer@openeuler.org> - 1.1.10-1
+* Wed Sep 23 2026 ai-importer <ai-importer@openeuler.org> - 1.1.10-2
+- Vendor qt_gui_cpp C++ library from qt_gui_core source: Embedded repo's
+ ros-humble-qt-gui-cpp only ships Python files, missing cmake config and
+ libqt_gui_cpp.so needed by rqt_gui_cpp build
- Initial import (ROS batch)
diff --git a/sources b/sources
index b28eafb..8712288 100644
--- a/sources
+++ b/sources
@@ -1 +1,2 @@
+047bd1ba31152d6c37ad679e498da582 qt_gui_core-2.2.5.tar.gz
cae8b421aaeaa943714cc7f7b011187b rqt-gui-cpp-1.1.10-2.tar.gz