%global install_prefix /opt/ros/jazzy %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 ^%{install_prefix}/.*$ %global __requires_exclude_from ^%{install_prefix}/.*$ %global debug_package %{nil} Name: ros-jazzy-iceoryx Version: 2.0.0 Release: 1%{?dist} Summary: ROS jazzy iceoryx package (Zero-copy IPC middleware) License: Apache-2.0 URL: https://github.com/eclipse-iceoryx/iceoryx Source0: ros-jazzy-iceoryx-2.0.0.tar.gz BuildRequires: ros-jazzy-ament-package BuildRequires: cmake >= 3.16 BuildRequires: gcc >= 8.3 BuildRequires: libacl-devel >= 2.2 BuildRequires: ncurses-devel >= 6.2 BuildRequires: git BuildRequires: pkgconfig Requires: ros-jazzy-ament-package Requires: libacl >= 2.2 Requires: ncurses >= 6.2 %description iceoryx is a high-performance, low-latency, and reliable zero-copy inter-process communication (IPC) middleware. %prep %autosetup -p1 rm -rf build find . -name "CMakeCache.txt" -exec rm -f {} \; %build cmake -S iceoryx_meta -B build \ -DCMAKE_INSTALL_PREFIX=%{install_prefix} \ -DCMAKE_PREFIX_PATH=/opt/ros/jazzy \ -DBUILD_ALL=ON \ -DBUILD_TEST=ON \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_LIBDIR=lib64 \ -DBUILD_SHARED_LIBS=OFF \ -DCMAKE_VERBOSE_MAKEFILE=ON cmake --build build -- -j$(nproc) | tee build.log %install env DESTDIR=%{buildroot} cmake --install build | tee install.log install -D -m 644 LICENSE %{buildroot}/usr/share/licenses/%{name}/LICENSE %files %license /usr/share/licenses/%{name}/LICENSE %{install_prefix}/bin/* %{install_prefix}/lib64/*.a %{install_prefix}/include/* %{install_prefix}/share/* %package hoofs Summary: HOOFS library for iceoryx Requires: %{name} = %{version}-%{release} %description hoofs iceoryx_hoofs is the utilities library for iceoryx. %files hoofs %{install_prefix}/include/iceoryx/v2.0.6/iceoryx_hoofs/* %{install_prefix}/lib64/libiceoryx_hoofs*.a %{install_prefix}/lib64/cmake/iceoryx_hoofs* %package posh Summary: POSH library for iceoryx Requires: %{name} = %{version}-%{release} %description posh iceoryx_posh is the core IPC implementation for iceoryx. %files posh %{install_prefix}/include/iceoryx/v2.0.6/iceoryx_posh/* %{install_prefix}/lib64/libiceoryx_posh*.a %{install_prefix}/lib64/cmake/iceoryx_posh* %package binding-c Summary: C language bindings for iceoryx Requires: %{name} = %{version}-%{release} %description binding-c iceoryx_binding_c provides C language bindings for iceoryx. %files binding-c %{install_prefix}/include/iceoryx/v2.0.6/iceoryx_binding_c/* %{install_prefix}/lib64/libiceoryx_binding_c*.a %{install_prefix}/lib64/cmake/iceoryx_binding_c* %package dds Summary: DDS gateway for iceoryx Requires: %{name} = %{version}-%{release} %description dds iceoryx_dds provides a gateway for DDS integration. %files dds %{install_prefix}/include/iceoryx/v2.0.6/iceoryx_dds/* %{install_prefix}/lib64/libiceoryx_dds*.a %{install_prefix}/lib64/cmake/iceoryx_dds* %package introspection Summary: Introspection utilities for iceoryx Requires: %{name} = %{version}-%{release} %description introspection iceoryx_introspection provides introspection utilities for iceoryx. %files introspection %{install_prefix}/etc/roudi_config_example.toml %{install_prefix}/lib64/cmake/iceoryx_introspection/iceoryx_introspectionConfig.cmake %{install_prefix}/lib64/cmake/iceoryx_introspection/iceoryx_introspectionConfigVersion.cmake %{install_prefix}/lib64/cmake/iceoryx_introspection/iceoryx_introspectionTargets-release.cmake %{install_prefix}/lib64/cmake/iceoryx_introspection/iceoryx_introspectionTargets.cmake %changelog * Fri Jan 10 2025 Your Name - 2.0.0-1 - Added introspection subpackage for missing files.