diff options
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | 0-aws-sdk-cpp-vendor-remove-ament-vendor.patch | 24 | ||||
| -rw-r--r-- | aws-sdk-cpp-vendor.spec | 42 | ||||
| -rw-r--r-- | sources | 1 |
4 files changed, 63 insertions, 5 deletions
@@ -1 +1,2 @@ /aws-sdk-cpp-vendor-0.2.1-1.tar.gz +/aws-sdk-cpp-1.11.169.tar.xz diff --git a/0-aws-sdk-cpp-vendor-remove-ament-vendor.patch b/0-aws-sdk-cpp-vendor-remove-ament-vendor.patch new file mode 100644 index 0000000..f71cd7d --- /dev/null +++ b/0-aws-sdk-cpp-vendor-remove-ament-vendor.patch @@ -0,0 +1,24 @@ +--- aws-sdk-cpp-vendor-0.2.1-1/CMakeLists.txt.orig 2026-10-12 08:07:00.000000000 +0000 ++++ aws-sdk-cpp-vendor-0.2.1-1/CMakeLists.txt 2026-10-12 09:00:00.000000000 +0000 +@@ -2,21 +2,6 @@ + project(aws_sdk_cpp_vendor) + + find_package(ament_cmake REQUIRED) +-find_package(ament_cmake_vendor_package REQUIRED) +-find_package(AWSSDK QUIET) +- +-set(SERVICE core;logs;monitoring;s3;kinesis;iot;lex;polly) +-string(REPLACE ";" "$<SEMICOLON>" SERVICE "${SERVICE}") +- +-ament_vendor(${PROJECT_NAME} +- SATISFIED ${AWSSDK_FOUND} +- VCS_URL https://github.com/aws/aws-sdk-cpp.git +- VCS_VERSION 1.11.169 +- CMAKE_ARGS +- -DENABLE_UNITY_BUILD:BOOL=OFF +- -DENABLE_TESTING:BOOL=OFF +- -DBUILD_ONLY:STRING=${SERVICE} +-) + + if(BUILD_TESTING) + find_package(ament_lint_auto REQUIRED) diff --git a/aws-sdk-cpp-vendor.spec b/aws-sdk-cpp-vendor.spec index c049a2d..27acdb5 100644 --- a/aws-sdk-cpp-vendor.spec +++ b/aws-sdk-cpp-vendor.spec @@ -1,14 +1,17 @@ %define ros_distro humble %define RosPkgName aws-sdk-cpp-vendor %define src_version 0.2.1-1 +%define aws_version 1.11.169 Name: ros-%{ros_distro}-%{RosPkgName} Version: 0.2.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: A vendor package for aws-sdk-cpp License: Apache License 2.0 URL: https://github.com/wep21/aws_sdk_cpp_vendor/tree/main Source0: %{RosPkgName}-%{src_version}.tar.gz +Source1: aws-sdk-cpp-%{aws_version}.tar.xz +Patch0: 0-aws-sdk-cpp-vendor-remove-ament-vendor.patch %global debug_package %{nil} %global __os_install_post %(echo '%{__os_install_post}' | sed -e 's!/usr/lib[^[:space:]]*/brp-python-bytecompile[[:space:]].*$!!g') @@ -16,11 +19,11 @@ Source0: %{RosPkgName}-%{src_version}.tar.gz %global __requires_exclude_from ^/opt/ros/%{ros_distro}/.*$ BuildRequires: cmake +BuildRequires: gcc-c++ BuildRequires: ros-%{ros_distro}-ament-cmake -BuildRequires: ros-%{ros_distro}-ament-cmake-vendor-package BuildRequires: openssl-devel BuildRequires: zlib-devel -BuildRequires: curl +BuildRequires: libcurl-devel Requires: ros-%{ros_distro}-ros-workspace Requires: ros-%{ros_distro}-ament-cmake @@ -32,15 +35,34 @@ Provides: %{name}-doc = %{version}-%{release} Provides: %{name}-runtime = %{version}-%{release} %description -A vendor package for aws-sdk-cpp +A vendor package for aws-sdk-cpp. This package builds the AWS SDK C++ library +from source and installs it into the ROS ament prefix. %prep -%autosetup -n %{RosPkgName}-%{src_version} +%autosetup -n %{RosPkgName}-%{src_version} -p1 %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} export PKG_CONFIG_PATH=/opt/ros/%{ros_distro}/lib/pkgconfig${PKG_CONFIG_PATH:+:$PKG_CONFIG_PATH} + +tar xJf %{SOURCE1} + +mkdir -p aws-sdk-build && cd aws-sdk-build +cmake3 \ + -DCMAKE_INSTALL_PREFIX="/opt/ros/%{ros_distro}" \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DBUILD_SHARED_LIBS=ON \ + -DENABLE_UNITY_BUILD:BOOL=OFF \ + -DENABLE_TESTING:BOOL=OFF \ + -DAUTORUN_UNIT_TESTS=OFF \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + "-DBUILD_ONLY=core;logs;monitoring;s3;kinesis;iot;lex;polly" \ + ../aws-sdk-cpp-%{aws_version} +make %{?_smp_mflags} +cd .. + mkdir -p .obj && cd .obj %cmake3 \ -DCMAKE_INSTALL_PREFIX="/opt/ros/%{ros_distro}" \ @@ -56,6 +78,11 @@ make %{?_smp_mflags} [ -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} + +cd aws-sdk-build +make install DESTDIR=%{buildroot} +cd .. + cd .obj make install DESTDIR=%{buildroot} @@ -63,5 +90,10 @@ make install DESTDIR=%{buildroot} /opt/ros/%{ros_distro} %changelog +* Mon Oct 12 2026 ai-importer <ai-importer@openeuler.org> - 0.2.1-2 +- Remove ament-cmake-vendor-package BuildRequires (python3-vcstool unavailable) +- Build AWS SDK C++ directly in spec from bundled source tarball +- Patch CMakeLists.txt to remove ament_vendor() dependency + * Mon Oct 12 2026 ai-importer <ai-importer@openeuler.org> - 0.2.1-1 - Initial import (ROS batch) @@ -1 +1,2 @@ +0fb3e1d290c4f6e3ff2eb77ca49a47d7 aws-sdk-cpp-1.11.169.tar.xz 4708c4232b8ff890e6d35cfb5f6f0166 aws-sdk-cpp-vendor-0.2.1-1.tar.gz |
