summaryrefslogtreecommitdiff
path: root/python-mrpt.spec
blob: dcff3e142b198602445c6becfebcb5eec9d15be4 (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
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
%bcond_without tests
%bcond_without weak_deps

%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-mrpt
%define ros_distro      humble
%define with_tests 0

Name:           ros-%{ros_distro}-%{RosPkgName}
Version:        2.14.4
Release:        1%{?dist}%{?release_suffix}
Summary:        Python wrapper for Mobile Robot Programming Toolkit (MRPT) libraries

Url:            https://www.mrpt.org/
License:        BSD
Source0:        %{name}_%{version}.orig.tar.gz

#Requires: ros-%{ros_distro}-mrpt-libapps
#Requires: ros-%{ros_distro}-mrpt-libslam
#Requires: ros-%{ros_distro}-mrpt-libgui
#Requires: ros-%{ros_distro}-mrpt-libnav

Requires: ros-%{ros_distro}-ros-environment
Requires: pkgconfig
Requires: zlib-devel
Requires: libjpeg
Requires: freeglut
Requires: glfw3-devel
Requires: libXrandr-devel
Requires: libxxf86vm
Requires: mesa-libGL-devel
Requires: assimp-devel
Requires: ffmpeg
Requires: libfreenect-devel
Requires: libopenni2-devel
Requires: libpcap-devel
Requires: libudev-devel
Requires: libusbx-devel
Requires: pybind11-devel
Requires: python3-pip
Requires: tinyxml2-devel
Requires: wx-common
Requires: wxwidgets
Requires: ros-%{ros_distro}-ament-cmake
Requires: ros-%{ros_distro}-cv-bridge
Requires: opencv
Requires: liboctomap-dev
Requires: ros-%{ros_distro}-rosbag2-storage
Requires: ros-%{ros_distro}-rclcpp

#BuildRequires: ros-%{ros_distro}-mrpt-libapps
#BuildRequires: ros-%{ros_distro}-mrpt-libslam
#BuildRequires: ros-%{ros_distro}-mrpt-libgui
#BuildRequires: ros-%{ros_distro}-mrpt-libnav
BuildRequires: ros-%{ros_distro}-ros-environment
BuildRequires: pkgconfig
BuildRequires: zlib-devel
BuildRequires: libjpeg
BuildRequires: freeglut
BuildRequires: glfw3-devel
BuildRequires: libXrandr-devel
BuildRequires: libxxf86vm
BuildRequires: mesa-libGL-devel
BuildRequires: assimp-devel
BuildRequires: ffmpeg
BuildRequires: libfreenect-devel
BuildRequires: libopenni2-devel
BuildRequires: libpcap-devel
BuildRequires: libudev-devel
BuildRequires: libusbx-devel
BuildRequires: pybind11-devel
BuildRequires: python3-pip
BuildRequires: tinyxml2-devel
BuildRequires: wx-common
BuildRequires: wxwidgets
BuildRequires: ros-%{ros_distro}-ament-cmake
BuildRequires: ros-%{ros_distro}-cv-bridge
BuildRequires: opencv
BuildRequires: liboctomap-dev
BuildRequires: ros-%{ros_distro}-rosbag2-storage
BuildRequires: ros-%{ros_distro}-rclcpp

%if 0%{?with_tests}
%endif

Provides:       %{name}-devel = %{version}-%{release}
Provides:       %{name}-doc = %{version}-%{release}
Provides:       %{name}-runtime = %{version}-%{release}

%description
Python wrapper for Mobile Robot Programming Toolkit (MRPT) libraries

%prep
%autosetup -p1

%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

export ROS_DISTRO=%{ros_distro}
export ROS_PYTHON_VERSION=%{python3_version}

# 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}" \
    -DCMAKE_INSTALL_LIBDIR="/opt/ros/%{ros_distro}/lib" \
    -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}

%if 0%{?with_tests}
%check
# Needed to bootstrap since the ros_workspace package does not yet exist.
export PYTHONPATH=/opt/ros/%{ros_distro}/lib/python%{python3_version}/site-packages

# Look for a Makefile target with a name indicating that it runs tests
TEST_TARGET=$(%__make -qp -C .obj-%{_target_platform} | sed "s/^\(test\|check\):.*/\\1/;t f;d;:f;q0")
if [ -n "$TEST_TARGET" ]; then
# 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
CTEST_OUTPUT_ON_FAILURE=1 \
    %make_build -C .obj-%{_target_platform} $TEST_TARGET || echo "RPM TESTS FAILED"
else echo "RPM TESTS SKIPPED"; fi
%endif

%files
/opt/ros/%{ros_distro}

%changelog
* Fri May 23 2025 Jose-Luis Blanco-Claraco joseluisblancoc@gmail.com - 2.14.4-1
- Autogenerated by ros-porting-tools