summaryrefslogtreecommitdiff
path: root/iceoryx.spec
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.