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
|
%bcond_with tests
%bcond_without weak_deps
%define ros_distro humble
%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 random-numbers
Name: ros-%{ros_distro}-%{RosPkgName}
Version: 2.0.5
Release: 1%{?dist}%{?release_suffix}
Summary: ROS random-numbers package
Url: http://ros.org/wiki/random_numbers
License: BSD
Source0: %{RosPkgName}-%{version}.tar.gz
Requires: boost-cmake
Requires: boost-devel
Requires: boost-date-time
Requires: boost-random
Requires: boost-thread
Requires: ros-%{ros_distro}-ros-workspace
BuildRequires: boost-devel
BuildRequires: ros-%{ros_distro}-ament-cmake
BuildRequires: ros-%{ros_distro}-ros-workspace
%if 0%{?with_tests}
BuildRequires: ros-%{ros_distro}-ament-lint-auto
BuildRequires: ros-%{ros_distro}-ament-lint-cmake
BuildRequires: ros-%{ros_distro}-ament-cmake-copyright
%endif
Provides: %{name}-devel = %{version}-%{release}
Provides: %{name}-doc = %{version}-%{release}
Provides: %{name}-runtime = %{version}-%{release}
%description
This library contains wrappers for generating floating point values, integers, quaternions using boost libraries.
The constructor of the wrapper is guaranteed to be thread safe and initialize its random number generator to a random seed.
Seeds are obtained using a separate and different random number generator.
%prep
%autosetup -c -n random-numbers-2.0.5
%build
# openEuler's boost-devel does not ship BoostConfig.cmake, create a wrapper
# so that find_package(Boost CONFIG) falls back to FindBoost.cmake module mode.
mkdir -p /tmp/boost-cmake-wrapper
cat > /tmp/boost-cmake-wrapper/BoostConfig.cmake << 'CMAKEEOF'
set(Boost_NO_BOOST_CMAKE ON)
unset(Boost_DIR)
include(${CMAKE_ROOT}/Modules/FindBoost.cmake)
CMAKEEOF
# 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 \
-DBoost_DIR=/tmp/boost-cmake-wrapper \
%if !0%{?with_tests}
-DBUILD_TESTING=OFF \
%endif
../%{RosPkgName}-%{version}
%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
* Sat Oct 03 2026 kuyan_kubuds <kuyan@kubuds.cn> - 2.0.5-1
- Sync random-numbers 2.0.5 from humble branch to master
* Mon Sep 21 2026 Wanming Hu <huwanming@huawei.com> - 2.0.5-1
- Upgrade random-numbers from 2.0.1 to 2.0.5 for ROS 2 Humble.
* Thu May 04 2023 Anas M'chichou anasarrak@erlerobotics.com - 2.0.1-1
- Autogenerated by ros-porting-tools
* Wed Jan 10 2024 Steven! Ragnarök stevenragnarok@osrfoundation.org - 0.3.2-1
- Autogenerated by ros-porting-tools
|