summaryrefslogtreecommitdiff
path: root/mrpt-libbase.spec
diff options
context:
space:
mode:
Diffstat (limited to 'mrpt-libbase.spec')
-rw-r--r--mrpt-libbase.spec37
1 files changed, 18 insertions, 19 deletions
diff --git a/mrpt-libbase.spec b/mrpt-libbase.spec
index 0879e94..3358df3 100644
--- a/mrpt-libbase.spec
+++ b/mrpt-libbase.spec
@@ -1,14 +1,17 @@
%define ros_distro humble
%define RosPkgName mrpt-libbase
%define src_version 2.15.21-2
+%define mrpt_version 2.15.21
Name: ros-%{ros_distro}-%{RosPkgName}
Version: 2.15.21
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: Mobile Robot Programming Toolkit (MRPT) libraries (core C++ libraries)
License: BSD
URL: https://github.com/MRPT/mrpt_ros/tree/main
Source0: %{RosPkgName}-%{src_version}.tar.gz
+# mrpt upstream sources bundled to avoid git clone in offline COPR build environment
+Source1: https://github.com/MRPT/mrpt/archive/refs/tags/%{mrpt_version}.tar.gz#/mrpt-%{mrpt_version}.tar.gz
%global debug_package %{nil}
%global __os_install_post %(echo '%{__os_install_post}' | sed -e 's!/usr/lib[^[:space:]]*/brp-python-bytecompile[[:space:]].*$!!g')
@@ -17,27 +20,12 @@ Source0: %{RosPkgName}-%{src_version}.tar.gz
BuildRequires: assimp-devel
BuildRequires: eigen3-devel
-BuildRequires: ffmpeg-devel
-BuildRequires: freeglut
-BuildRequires: libXrandr-devel
-BuildRequires: libpcap-devel
-BuildRequires: libudev-devel
-BuildRequires: libusbx-devel
BuildRequires: libzstd-devel
-BuildRequires: mesa-libGL-devel
-BuildRequires: opencv
BuildRequires: pkgconfig
-BuildRequires: pybind11-devel
-BuildRequires: suitesparse-devel
-BuildRequires: tbb-devel
BuildRequires: tinyxml2-devel
BuildRequires: zlib-devel
BuildRequires: cmake
-BuildRequires: libjpeg
-BuildRequires: openni-devel
-BuildRequires: libXxf86vm-devel
-BuildRequires: python3-pip
-BuildRequires: wxGTK3-devel
+BuildRequires: git
Requires: ros-%{ros_distro}-ros-workspace
@@ -52,6 +40,16 @@ Mobile Robot Programming Toolkit (MRPT) libraries (core C++ libraries).
%prep
%autosetup -n %{RosPkgName}-%{src_version}
+# 预置 mrpt 上游源码到 ExternalProject 期望路径,避免构建时 git clone
+mkdir -p mrpt_libbase/mrpt-build/src/mrpt
+tar -xzf %{SOURCE1} --strip-components=1 -C mrpt_libbase/mrpt-build/src/mrpt
+
+# 写版本缓存文件,让 CMake 认为源码已就绪
+echo -n "%{mrpt_version}" > mrpt_libbase/mrpt-build/MRPT_VERSION_TO_DOWNLOAD.txt
+
+# patch CMakeLists.txt:移除 buildfarm 主机名检查,只要 SOURCE_DIR 存在即复用
+sed -i 's/(NOT "$ENV{HOME}" STREQUAL "\/home\/buildfarm") AND //' mrpt_libbase/CMakeLists.txt
+
%build
[ -f /opt/ros/%{ros_distro}/setup.sh ] && source /opt/ros/%{ros_distro}/setup.sh || true
export PYTHONPATH=/opt/ros/%{ros_distro}/lib/python%{python3_version}/site-packages${PYTHONPATH:+:$PYTHONPATH}
@@ -80,5 +78,6 @@ make install DESTDIR=%{buildroot}
/opt/ros/%{ros_distro}
%changelog
-* Mon Sep 21 2026 ai-importer <ai-importer@openeuler.org> - 2.15.21-1
-- Initial import (ROS batch)
+* Mon Sep 21 2026 ai-importer <ai-importer@openeuler.org> - 2.15.21-2
+- Bundle mrpt upstream sources as Source1 to avoid offline git clone in COPR
+- Remove unavailable BuildRequires (freenect/openni/wx/glfw not needed for core libs)