From 066465d4d0c2943d8d8916f77f3df9286ccc5fd0 Mon Sep 17 00:00:00 2001 From: I-am-a-robot Date: Thu, 19 Jun 2025 02:06:56 +0000 Subject: [PATCH] apply new package ecl_core --- ecl_core.spec | 104 +++++++++++++++++++++++++ ecl_core.src.rpm | Bin 0 -> 14390 bytes files_in_srpm.txt | 2 + ros-humble-ecl-eigen_1.2.1.orig.tar.gz | Bin 0 -> 7452 bytes 4 files changed, 106 insertions(+) create mode 100644 ecl_core.spec create mode 100644 ecl_core.src.rpm create mode 100644 files_in_srpm.txt create mode 100644 ros-humble-ecl-eigen_1.2.1.orig.tar.gz diff --git a/ecl_core.spec b/ecl_core.spec new file mode 100644 index 0000000..f14cd3e --- /dev/null +++ b/ecl_core.spec @@ -0,0 +1,104 @@ +%bcond_without tests +%bcond_without weak_deps + +%global debug_package %{nil} +%global __os_install_post %(echo '%{__os_install_post}' | sed -e 's!/usr/lib[^[:space:]]*/brp-python-bytecompile[[:space:]].*$!!g') +%global __provides_exclude_from ^/opt/ros/%{ros_distro}/.*$ +%global __requires_exclude_from ^/opt/ros/%{ros_distro}/.*$ + +%define RosPkgName ecl-eigen +%define ros_distro humble +%define with_tests 0 + +Name: ros-%{ros_distro}-%{RosPkgName} +Version: 1.2.1 +Release: 1%{?dist}%{?release_suffix} +Summary: ROS ecl-eigen package + +Url: http://wiki.ros.org/ecl_eigen +License: BSD +Source0: %{name}_%{version}.orig.tar.gz + +Requires: eigen3-devel + +BuildRequires: eigen3-devel +BuildRequires: ros-%{ros_distro}-ament-cmake-ros + +%if 0%{?with_tests} +%endif + +Provides: %{name}-devel = %{version}-%{release} +Provides: %{name}-doc = %{version}-%{release} +Provides: %{name}-runtime = %{version}-%{release} + +%description + + This provides an Eigen implementation for ecl's linear algebra. + + +%prep +%autosetup -p1 + +%build +# Needed to bootstrap since the ros_workspace package does not yet exist. +export PYTHONPATH=/opt/ros/%{ros_distro}/lib/python%{python3_version}/site-packages + +export ROS_DISTRO=%{ros_distro} +export ROS_PYTHON_VERSION=%{python3_version} + +# In case we're installing to a non-standard location, look for a setup.sh +# in the install tree and source it. It will set things like +# CMAKE_PREFIX_PATH, PKG_CONFIG_PATH, and PYTHONPATH. +if [ -f "/opt/ros/%{ros_distro}/setup.sh" ]; then . "/opt/ros/%{ros_distro}/setup.sh"; fi +mkdir -p .obj-%{_target_platform} && cd .obj-%{_target_platform} +%cmake3 \ + -UINCLUDE_INSTALL_DIR \ + -ULIB_INSTALL_DIR \ + -USYSCONF_INSTALL_DIR \ + -USHARE_INSTALL_PREFIX \ + -ULIB_SUFFIX \ + -DCMAKE_INSTALL_PREFIX="/opt/ros/%{ros_distro}" \ + -DAMENT_PREFIX_PATH="/opt/ros/%{ros_distro}" \ + -DCMAKE_PREFIX_PATH="/opt/ros/%{ros_distro}" \ + -DCMAKE_INSTALL_LIBDIR="/opt/ros/%{ros_distro}/lib" \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ +%if !0%{?with_tests} + -DBUILD_TESTING=OFF \ +%endif + .. + +%make_build + +%install +# Needed to bootstrap since the ros_workspace package does not yet exist. +export PYTHONPATH=/opt/ros/%{ros_distro}/lib/python%{python3_version}/site-packages + +# In case we're installing to a non-standard location, look for a setup.sh +# in the install tree and source it. It will set things like +# CMAKE_PREFIX_PATH, PKG_CONFIG_PATH, and PYTHONPATH. +if [ -f "/opt/ros/%{ros_distro}/setup.sh" ]; then . "/opt/ros/%{ros_distro}/setup.sh"; fi +%make_install -C .obj-%{_target_platform} + +%if 0%{?with_tests} +%check +# Needed to bootstrap since the ros_workspace package does not yet exist. +export PYTHONPATH=/opt/ros/%{ros_distro}/lib/python%{python3_version}/site-packages + +# Look for a Makefile target with a name indicating that it runs tests +TEST_TARGET=$(%__make -qp -C .obj-%{_target_platform} | sed "s/^\(test\|check\):.*/\\1/;t f;d;:f;q0") +if [ -n "$TEST_TARGET" ]; then +# In case we're installing to a non-standard location, look for a setup.sh +# in the install tree and source it. It will set things like +# CMAKE_PREFIX_PATH, PKG_CONFIG_PATH, and PYTHONPATH. +if [ -f "/opt/ros/%{ros_distro}/setup.sh" ]; then . "/opt/ros/%{ros_distro}/setup.sh"; fi +CTEST_OUTPUT_ON_FAILURE=1 \ + %make_build -C .obj-%{_target_platform} $TEST_TARGET || echo "RPM TESTS FAILED" +else echo "RPM TESTS SKIPPED"; fi +%endif + +%files +/opt/ros/%{ros_distro} + +%changelog +* Fri May 23 2025 Daniel Stonier d.stonier@gmail.com - 1.2.1-1 +- Autogenerated by ros-porting-tools diff --git a/ecl_core.src.rpm b/ecl_core.src.rpm new file mode 100644 index 0000000000000000000000000000000000000000..bd3b95a0fb9fa4063d4cbd7a6aa390b923892b9a GIT binary patch literal 14390 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 aed$YI`qG!a^rbKV%knQ+4DB5N$N&Hlw74w* literal 0 HcmV?d00001 -- Gitee