blob: 701903d4ed70404f30862bc5247bfd4d9f17ff5f (
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
|
# 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 <builder@openeuler.org>
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 <builder@openeuler.org>
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 <builder@openeuler.org> - 1.3.0-1
- Initial package
|