summaryrefslogtreecommitdiff
path: root/ros-jazzy-mapviz.spec
blob: 48eb27086f50e6f91db1ab2d3fd4fe0d5d3cb068 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
%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-mapviz
Version:        2.4.4
Release:        0%{?dist}%{?release_suffix}
Summary:        ROS mapviz package

License:        BSD
URL:            https://github.com/swri-robotics/mapviz
Source0:        %{name}-%{version}.tar.gz

BuildRequires:  ros-jazzy-ament-package
Requires:       freeglut
Requires:       glew-devel
Requires:       libXi-devel
Requires:       libXmu-devel
Requires:       qt5-qtbase
Requires:       ros-jazzy-cv-bridge
Requires:       ros-jazzy-geometry-msgs
Requires:       ros-jazzy-image-transport
Requires:       ros-jazzy-mapviz-interfaces
Requires:       ros-jazzy-marti-common-msgs
Requires:       ros-jazzy-pluginlib
Requires:       ros-jazzy-rclcpp
Requires:       ros-jazzy-rqt-gui
Requires:       ros-jazzy-rqt-gui-cpp
Requires:       ros-jazzy-std-srvs
Requires:       ros-jazzy-swri-math-util
Requires:       ros-jazzy-swri-transform-util
Requires:       ros-jazzy-tf2
Requires:       ros-jazzy-tf2-geometry-msgs
Requires:       ros-jazzy-tf2-ros
Requires:       yaml-cpp-devel
BuildRequires:  freeglut
BuildRequires:  glew-devel
BuildRequires:  libXi-devel
BuildRequires:  libXmu-devel
BuildRequires:  pkgconf
BuildRequires:  qt5-qtbase
BuildRequires:  qt5-qtbase-devel
BuildRequires:  ros-jazzy-ament-cmake
BuildRequires:  ros-jazzy-cv-bridge
BuildRequires:  ros-jazzy-geometry-msgs
BuildRequires:  ros-jazzy-image-transport
BuildRequires:  ros-jazzy-mapviz-interfaces
BuildRequires:  ros-jazzy-marti-common-msgs
BuildRequires:  ros-jazzy-pluginlib
BuildRequires:  ros-jazzy-rclcpp
BuildRequires:  ros-jazzy-ros-environment
BuildRequires:  ros-jazzy-rqt-gui
BuildRequires:  ros-jazzy-rqt-gui-cpp
BuildRequires:  ros-jazzy-std-srvs
BuildRequires:  ros-jazzy-swri-math-util
BuildRequires:  ros-jazzy-swri-transform-util
BuildRequires:  ros-jazzy-tf2
BuildRequires:  ros-jazzy-tf2-geometry-msgs
BuildRequires:  ros-jazzy-tf2-ros
BuildRequires:  yaml-cpp-devel

%description
mapviz

%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}
%cmake3 \
    -UINCLUDE_INSTALL_DIR \
    -ULIB_INSTALL_DIR \
    -USYSCONF_INSTALL_DIR \
    -USHARE_INSTALL_PREFIX \
    -ULIB_SUFFIX \
    -DCMAKE_INSTALL_PREFIX="/opt/ros/jazzy" \
    -DAMENT_PREFIX_PATH="/opt/ros/jazzy" \
    -DCMAKE_PREFIX_PATH="/opt/ros/jazzy" \
    -DSETUPTOOLS_DEB_LAYOUT=OFF \
%if !0%{?with_tests}
    -DBUILD_TESTING=OFF \
%endif
    ..

%make_build

%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
%make_install -C .obj-%{_target_platform}

%if 0%{?with_tests}
%check
# 检查是否存在测试目录或文件
if [ -d "tests" ] || ls test_*.py *_test.py > /dev/null 2>&1; then
    %__python3 -m pytest tests || echo "RPM TESTS FAILED"
else
    echo "No tests to run, skipping."
fi
%endif

%files
/opt/ros/jazzy/*

%changelog
* Tue Jan 07 2025 Southwest Research Institute <swri-robotics@swri.org> - 2.4.4-0
- Autogenerated by Bloom