%bcond_without tests
%bcond_without weak_deps

%global __os_install_post %(echo '%{__os_install_post}' | sed -e 's!/usr/lib[^[:space:]]*/brp-python-bytecompile[[:space:]].*$!!g')
%global __provides_exclude_from ^/opt/agiros/%{agiros_distro}/.*$
%global __requires_exclude_from ^/opt/agiros/%{agiros_distro}/.*$

%define RosPkgName      examples-rclcpp-minimal-client

%define agiros_distro loong
Name:           agiros-%{agiros_distro}-%{RosPkgName}
Version:        0.15.1
Release:        1%{?dist}%{?release_suffix}
Summary:        Examples of minimal service clients

License:        Apache License 2.0
Source0:        %{name}_%{version}.orig.tar.gz

Requires: agiros-%{agiros_distro}-rclcpp
Requires: agiros-%{agiros_distro}-example-interfaces
Requires: agiros-%{agiros_distro}-ros-workspace

BuildRequires: agiros-%{agiros_distro}-rclcpp
BuildRequires: agiros-%{agiros_distro}-example-interfaces
BuildRequires: agiros-%{agiros_distro}-ament-cmake
BuildRequires: agiros-%{agiros_distro}-ros-workspace

%if 0%{?with_tests}
BuildRequires: agiros-%{agiros_distro}-ament-lint-auto
BuildRequires: agiros-%{agiros_distro}-ament-lint-common
%endif

Provides:       %{name}-devel = %{version}-%{release}
Provides:       %{name}-doc = %{version}-%{release}
Provides:       %{name}-runtime = %{version}-%{release}

%description
Examples of minimal service clients

%prep
%autosetup -p1

%build
# Needed to bootstrap since the ros_workspace package does not yet exist.
export PYTHONPATH=/opt/agiros/%{agiros_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/agiros/%{agiros_distro}/setup.sh" ]; then . "/opt/agiros/%{agiros_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/agiros/%{agiros_distro}" \
    -DAMENT_PREFIX_PATH="/opt/agiros/%{agiros_distro}" \
    -DCMAKE_PREFIX_PATH="/opt/agiros/%{agiros_distro}" \
    -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/agiros/%{agiros_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/agiros/%{agiros_distro}/setup.sh" ]; then . "/opt/agiros/%{agiros_distro}/setup.sh"; fi
%make_install -C .obj-%{_target_platform}
find %{buildroot} -name '*.so' -exec patchelf --remove-rpath {} \;

%if 0%{?with_tests}
%check
# Needed to bootstrap since the ros_workspace package does not yet exist.
export PYTHONPATH=/opt/agiros/%{agiros_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/agiros/%{agiros_distro}/setup.sh" ]; then . "/opt/agiros/%{agiros_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/agiros/%{agiros_distro}

%changelog
* Thu May 04 2023 Shane Loretz sloretz@openrobotics.org - 0.15.1-1
- Autogenerated by ros-porting-tools