%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 - 2.0.5-1 - Sync random-numbers 2.0.5 from humble branch to master * Mon Sep 21 2026 Wanming Hu - 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