summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--sources1
-rw-r--r--turbojpeg-compressed-image-transport.spec22
3 files changed, 22 insertions, 2 deletions
diff --git a/.gitignore b/.gitignore
index f6e421b..b7a7516 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,2 @@
/turbojpeg-compressed-image-transport-0.1.3-1.tar.gz
+/libjpeg-turbo-3.0.1.tar.gz
diff --git a/sources b/sources
index 449ef7e..529bd60 100644
--- a/sources
+++ b/sources
@@ -1 +1,2 @@
+88a0b4f9ad57924ce064135a1717c703 libjpeg-turbo-3.0.1.tar.gz
967abf442e71abddcc7cd1ab188e30c3 turbojpeg-compressed-image-transport-0.1.3-1.tar.gz
diff --git a/turbojpeg-compressed-image-transport.spec b/turbojpeg-compressed-image-transport.spec
index 860647a..cdca6e3 100644
--- a/turbojpeg-compressed-image-transport.spec
+++ b/turbojpeg-compressed-image-transport.spec
@@ -1,6 +1,7 @@
%define ros_distro humble
%define RosPkgName turbojpeg-compressed-image-transport
%define src_version 0.1.3-1
+%define turbojpeg_version 3.0.1
Name: ros-%{ros_distro}-%{RosPkgName}
Version: 0.1.3
@@ -9,6 +10,7 @@ Summary: Compressed_image_transport provides a plugin to image_transport
License: Apache License 2.0
URL: https://github.com/wep21/turbojpeg_compressed_image_transport/tree/humble
Source0: %{RosPkgName}-%{src_version}.tar.gz
+Source1: libjpeg-turbo-%{turbojpeg_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')
@@ -20,13 +22,11 @@ BuildRequires: ros-%{ros_distro}-ament-cmake
BuildRequires: ros-%{ros_distro}-cv-bridge
BuildRequires: ros-%{ros_distro}-image-transport
BuildRequires: libjpeg-turbo-devel
-BuildRequires: turbojpeg-devel
Requires: ros-%{ros_distro}-ros-workspace
Requires: ros-%{ros_distro}-ament-cmake
Requires: ros-%{ros_distro}-cv-bridge
Requires: ros-%{ros_distro}-image-transport
-Requires: turbojpeg
Provides: %{name}-devel = %{version}-%{release}
Provides: %{name}-doc = %{version}-%{release}
@@ -38,8 +38,25 @@ Compressed_image_transport provides a plugin to image_transport for transparentl
%prep
%autosetup -n %{RosPkgName}-%{src_version}
+tar xzf %{SOURCE1}
%build
+# turbojpeg-devel 在 SP3 不存在(SP4 才引入独立 turbojpeg 包),
+# 从 libjpeg-turbo 3.0.1 源码构建 libturbojpeg.a 静态库
+mkdir -p libjpeg-turbo-%{turbojpeg_version}/build
+pushd libjpeg-turbo-%{turbojpeg_version}/build
+cmake .. \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DENABLE_STATIC=ON \
+ -DENABLE_SHARED=OFF \
+ -DWITH_JAVA=OFF
+make -j%{?_smp_mflags}
+popd
+
+# 安装 turbojpeg 头文件和静态库到系统路径(仅构建环境内,不进入 RPM 产物)
+install -m 644 libjpeg-turbo-%{turbojpeg_version}/turbojpeg.h /usr/include/turbojpeg.h
+install -m 644 libjpeg-turbo-%{turbojpeg_version}/build/libturbojpeg.a %{_libdir}/libturbojpeg.a
+
[ -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}
export PKG_CONFIG_PATH=/opt/ros/%{ros_distro}/lib/pkgconfig${PKG_CONFIG_PATH:+:$PKG_CONFIG_PATH}
@@ -67,3 +84,4 @@ make install DESTDIR=%{buildroot}
%changelog
* Wed Sep 23 2026 ai-importer <ai-importer@openeuler.org> - 0.1.3-1
- Initial import (ROS batch)
+- Bundle libjpeg-turbo turbojpeg component (turbojpeg-devel not available in SP3)