# topdir: elite-cs-series-sdk-1.3.0 Name: elite-cs-series-sdk Version: 1.3.0 Release: 1%{?dist} Summary: Elite Robots CS Series SDK for Elibot CS series robotic arms License: MIT URL: https://github.com/Elite-Robots/Elite_Robots_CS_SDK Source0: https://github.com/747309172a-cpu/elite_cs_series_sdk-release/archive/6ee8f50cf124391d0d5ea672fada96edacc80284.tar.gz#/elite-cs-series-sdk-1.3.0.tar.gz Group: Development/Libraries Packager: openEuler Builder BuildRequires: cmake BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: make BuildRequires: boost-devel BuildRequires: libssh-devel BuildRequires: ament_cmake # ament_cmake's RPM suppresses all Requires from /opt/ros/humble/ via # __requires_exclude_from, so python3-ament-package is NOT auto-installed # when ament_cmake is pulled in as a BuildRequires. However ament_cmake's # CMake template script (templates_2_cmake.py) imports ament_package at # configure time, causing "ModuleNotFoundError: No module named 'ament_package'". BuildRequires: python3-ament-package # ament_cmake's RPM also suppresses the catkin_pkg runtime dep: its # package_xml_2_cmake.py imports catkin_pkg.package at configure time, but # __requires_exclude_from strips all Requires from /opt/ros/humble/ paths, so # python3-catkin_pkg is NOT auto-installed when ament_cmake is a BuildRequires. BuildRequires: python3-catkin_pkg %description Elite Robots CS Series SDK is a C++ library for Elibot CS series robotic arms. It provides interfaces for primary port communication, RTSI (Real-Time Socket Interface), dashboard control, and motion control of Elite Robots CS series robotic arms. %package devel Summary: Development files for %{name} Group: Development/Libraries Packager: openEuler Builder Requires: %{name} = %{version}-%{release} %description devel Header files, static libraries, and CMake configuration files for developing applications with %{name}. %prep %autosetup -n %{name}-%{version} %build # Set up ROS environment so cmake can find ament_cmake under /opt/ros/humble export CMAKE_PREFIX_PATH=/opt/ros/humble${CMAKE_PREFIX_PATH:+:${CMAKE_PREFIX_PATH}} export AMENT_PREFIX_PATH=/opt/ros/humble export PKG_CONFIG_PATH=/opt/ros/humble/lib/pkgconfig${PKG_CONFIG_PATH:+:${PKG_CONFIG_PATH}} for _p in /opt/ros/humble/lib/python3.*/site-packages; do [ -d "$_p" ] && export PYTHONPATH="$_p${PYTHONPATH:+:${PYTHONPATH}}" done %cmake \ -DELITE_COMPILE_TESTS=OFF \ -DELITE_COMPILE_DOC=OFF \ -DELITE_COMPILE_EXAMPLES=OFF # The %%cmake macro in this openEuler chroot performs an in-source build # (build files written to the source dir, not a separate %%_target_platform # build dir). %%cmake_build expects an out-of-tree dir named %%_target_platform # which was never created, so it fails with "is not a directory". Use make # directly to build in-place where CMake generated the Makefiles. make %{?_smp_mflags} %install # Install from the in-source Makefiles (same reason as %%build above). DESTDIR=%{buildroot} make install %files %license LICENSE %doc README.md %{_libdir}/libelite-cs-series-sdk.so %{_datadir}/Elite/ %{_datadir}/elite_cs_series_sdk/ %{_datadir}/ament_index/resource_index/packages/elite_cs_series_sdk %files devel %{_includedir}/Elite/ %{_libdir}/libelite-cs-series-sdk.a %{_libdir}/cmake/elite_cs_series_sdk/ %{_libdir}/cmake/elite-cs-series-sdk/ %changelog * Fri Oct 09 2026 openEuler Builder - 1.3.0-1 - Initial package