blob: 27175b5a73164ff4dca7251a31f95185cc375684 (
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
|
%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 <your.email@example.com> - 2.0.0-1
- Added introspection subpackage for missing files.
|