%global ros_distro lyrical %global pkg_name rmw_fastrtps_cpp %bcond fedora_fhs 0 %if %{with fedora_fhs} # FHS layout for a possible Fedora main-repo build or reference impl (ADR 0012). %global install_prefix %{_prefix} %else # COPR default: upstream ROS 2 /opt convention. %global install_prefix /opt/ros/%{ros_distro} %endif Name: ros-%{ros_distro}-rmw-fastrtps-cpp Version: 9.4.8 Release: 1%{?dist} Summary: ROS 2 Lyrical rmw_fastrtps_cpp License: Apache-2.0 URL: https://github.com/ros2-gbp/rmw_fastrtps-release Source0: https://github.com/ros2-gbp/rmw_fastrtps-release/archive/refs/tags/release/lyrical/rmw_fastrtps_cpp/9.4.8-1.tar.gz#/%{pkg_name}-%{version}.tar.gz BuildRequires: cmake BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: python3-devel BuildRequires: ros-lyrical-ament-cmake-ros-core BuildRequires: ros-lyrical-fastcdr BuildRequires: ros-lyrical-fastdds BuildRequires: ros-lyrical-rcpputils BuildRequires: ros-lyrical-rcutils BuildRequires: ros-lyrical-rmw BuildRequires: ros-lyrical-rmw-dds-common BuildRequires: ros-lyrical-rmw-fastrtps-shared-cpp BuildRequires: ros-lyrical-rosidl-buffer-backend-registry BuildRequires: ros-lyrical-rosidl-dynamic-typesupport BuildRequires: ros-lyrical-rosidl-dynamic-typesupport-fastrtps BuildRequires: ros-lyrical-rosidl-runtime-c BuildRequires: ros-lyrical-rosidl-runtime-cpp BuildRequires: ros-lyrical-rosidl-typesupport-fastrtps-c BuildRequires: ros-lyrical-rosidl-typesupport-fastrtps-cpp BuildRequires: ros-lyrical-tracetools Requires: ros-lyrical-fastcdr Requires: ros-lyrical-fastdds Requires: ros-lyrical-rcpputils Requires: ros-lyrical-rcutils Requires: ros-lyrical-rmw Requires: ros-lyrical-rmw-dds-common Requires: ros-lyrical-rmw-fastrtps-shared-cpp Requires: ros-lyrical-rosidl-buffer-backend-registry Requires: ros-lyrical-rosidl-dynamic-typesupport Requires: ros-lyrical-rosidl-dynamic-typesupport-fastrtps Requires: ros-lyrical-rosidl-runtime-c Requires: ros-lyrical-rosidl-runtime-cpp Requires: ros-lyrical-rosidl-typesupport-fastrtps-c Requires: ros-lyrical-rosidl-typesupport-fastrtps-cpp Requires: ros-lyrical-tracetools # Hide ROS libraries from the system solver under /opt; under FHS # (--with fedora_fhs) normal auto-provides/requires apply. %if %{without fedora_fhs} %global __provides_exclude_from ^%{install_prefix}/.*$ %global __requires_exclude_from ^%{install_prefix}/.*$ %endif %description Implement the ROS middleware interface using eProsima FastRTPS static code generation in C++. %prep %autosetup -p1 -n rmw_fastrtps-release-release-lyrical-rmw_fastrtps_cpp-9.4.8-1 %build # Make our previously-installed ROS Python packages discoverable to CMake's # execute_process invocations of python3. export PYTHONPATH=%{install_prefix}/lib/python%{python3_version}/site-packages${PYTHONPATH:+:$PYTHONPATH} %cmake \ -DCMAKE_INSTALL_PREFIX=%{install_prefix} \ -DAMENT_PREFIX_PATH=%{install_prefix} \ -DCMAKE_PREFIX_PATH=%{install_prefix} \ -DCMAKE_INSTALL_INCLUDEDIR=include \ -DCMAKE_INSTALL_LIBDIR=lib \ -DCMAKE_INSTALL_BINDIR=bin \ -DCMAKE_INSTALL_DATADIR=share \ -DCMAKE_INSTALL_SYSCONFDIR=etc \ -DINCLUDE_INSTALL_DIR=%{install_prefix}/include \ -DLIB_INSTALL_DIR=%{install_prefix}/lib \ -DSYSCONF_INSTALL_DIR=%{install_prefix}/etc \ -DSHARE_INSTALL_PREFIX=%{install_prefix}/share \ -DSETUPTOOLS_DEB_LAYOUT=OFF -DBUILD_TESTING=OFF %cmake_build %install export PYTHONPATH=%{install_prefix}/lib/python%{python3_version}/site-packages${PYTHONPATH:+:$PYTHONPATH} %cmake_install %check export PYTHONPATH=%{install_prefix}/lib/python%{python3_version}/site-packages${PYTHONPATH:+:$PYTHONPATH} echo 'tests skipped (see CLAUDE.md / packages.yaml)' %files # (no LICENSE file in source tree; see package.xml ) %doc CHANGELOG.rst # TODO: review the file list against the build's "Installing:" log lines; the # generator emits the conventional ament_cmake set but specific packages may # need additions or trimming. %{install_prefix}/share/%{pkg_name}/ # Sentinels: ament_index/resource_index//. Glob covers # packages/, package_run_dependencies/, parent_prefix_path/, and any # member_of_group entries (rosidl_runtime_packages, etc.). %{install_prefix}/share/ament_index/resource_index/*/%{pkg_name} %{install_prefix}/include/%{pkg_name}/ %{install_prefix}/lib/lib%{pkg_name}.so* %changelog * Tue Jun 02 2026 Nick Schuetz - 9.4.8-1 - Initial Fedora COPR build for ROS 2 Lyrical.