summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--iceoryx.spec127
-rw-r--r--sources1
3 files changed, 129 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..b080fdd 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/ros-jazzy-iceoryx-2.0.0.tar.gz
diff --git a/iceoryx.spec b/iceoryx.spec
new file mode 100644
index 0000000..27175b5
--- /dev/null
+++ b/iceoryx.spec
@@ -0,0 +1,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.
diff --git a/sources b/sources
new file mode 100644
index 0000000..9e5dace
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+455d32f16ae469981448747f9cb6f78c ros-jazzy-iceoryx-2.0.0.tar.gz