diff options
Diffstat (limited to 'ros-jazzy-rqt-plot.spec')
-rw-r--r-- | ros-jazzy-rqt-plot.spec | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/ros-jazzy-rqt-plot.spec b/ros-jazzy-rqt-plot.spec new file mode 100644 index 0000000..e387be0 --- /dev/null +++ b/ros-jazzy-rqt-plot.spec @@ -0,0 +1,92 @@ +%bcond_without tests +%bcond_without weak_deps + +%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/jazzy/.*$ +%global __requires_exclude_from ^/opt/ros/jazzy/.*$ +%global debug_package %{nil} + +Name: ros-jazzy-rqt-plot +Version: 1.4.0 +Release: 0%{?dist}%{?release_suffix} +Summary: ROS rqt_plot package + +License: BSD +URL: http://wiki.ros.org/rqt_plot +Source0: %{name}-%{version}.tar.gz + +BuildArch: noarch + +BuildRequires: ros-jazzy-ament-package +Requires: python3-catkin_pkg +Requires: python3-matplotlib +Requires: python3-numpy +Requires: ros-jazzy-python-qt-binding >= 0.2.19 +Requires: ros-jazzy-qt-gui-py-common >= 0.2.25 +Requires: ros-jazzy-rclpy +Requires: ros-jazzy-rqt-gui +Requires: ros-jazzy-rqt-gui-py +Requires: ros-jazzy-rqt-py-common +Requires: ros-jazzy-std-msgs +BuildRequires: python%{python3_pkgversion}-devel + +%if 0%{?with_tests} +BuildRequires: python3-pytest +BuildRequires: ros-jazzy-ament-copyright +BuildRequires: ros-jazzy-ament-package +%endif + +%description +rqt_plot provides a GUI plugin visualizing numeric values in a 2D plot using +different plotting backends. + +%prep +%autosetup -p1 + +%build +# 修复 PYTHONPATH 环境变量 +export PYTHONPATH=/opt/ros/jazzy/lib/python3.11/site-packages:$PYTHONPATH + +# 修复 CMAKE_PREFIX_PATH 和 PKG_CONFIG_PATH +export CMAKE_PREFIX_PATH=/opt/ros/jazzy +export PKG_CONFIG_PATH=/opt/ros/jazzy/lib/pkgconfig +export rcutils_DIR=/opt/ros/jazzy/opt/ros/jazzy/share/rcutils/cmake + +# 输出环境变量以验证设置 +echo "PYTHONPATH: $PYTHONPATH" +echo "CMAKE_PREFIX_PATH: $CMAKE_PREFIX_PATH" +echo "PKG_CONFIG_PATH: $PKG_CONFIG_PATH" + +# 验证 ament_package 是否可用 +python3 -c "import ament_package" || { echo "ament_package not found"; exit 1; } + +# 创建构建目录并进入 +mkdir -p .obj-%{_target_platform} && cd .obj-%{_target_platform} + +%install +# 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/jazzy/setup.sh" ]; then . "/opt/ros/jazzy/setup.sh"; fi +%py3_install -- --prefix "/opt/ros/jazzy" + +%if 0%{?with_tests} +%check +# 检查是否存在测试目录或文件 +if [ -d "tests" ] || ls test_*.py *_test.py > /dev/null 2>&1; then + # 加载安装目录的 setup.sh 文件(如果存在) + if [ -f "/opt/ros/jazzy/setup.sh" ]; then + . "/opt/ros/jazzy/setup.sh" + fi + %__python3 -m pytest tests || echo "RPM TESTS FAILED" +else + echo "No tests to run, skipping." +fi +%endif + +%files +/opt/ros/jazzy/* + +%changelog +* Thu Dec 26 2024 Brandon Ong <brandon@openrobotics.org> - 1.4.0-0 +- Autogenerated by Bloom |