File class_loader.spec of Package class_loader
%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/melodic/.*$
%global __requires_exclude_from ^/opt/ros/melodic/.*$
Name: ros-melodic-class-loader
Version: 0.4.1
Release: 0%{?dist}
Summary: ROS class_loader package
License: BSD
Group: Development/Libraries
URL: http://ros.org/wiki/class_loader
Source0: class_loader-release.tar.bz2
Source1: ros-rpmlintrc
Requires: libboost_atomic1_66_0-devel
Requires: libboost_chrono1_66_0-devel
Requires: libboost_date_time1_66_0-devel
Requires: libboost_filesystem1_66_0-devel
Requires: libboost_headers1_66_0-devel
Requires: libboost_iostreams1_66_0-devel
Requires: libboost_program_options1_66_0-devel
Requires: libboost_python-py2_7-1_66_0-devel
Requires: libboost_python-py3-1_66_0-devel
Requires: libboost_regex1_66_0-devel
Requires: libboost_serialization1_66_0-devel
Requires: libboost_signals1_66_0-devel
Requires: libboost_system1_66_0-devel
Requires: libboost_thread1_66_0-devel
Requires: libconsole_bridge0_4
Requires: poco-devel
Requires: ros-melodic
BuildRequires: libboost_atomic1_66_0-devel
BuildRequires: libboost_chrono1_66_0-devel
BuildRequires: libboost_date_time1_66_0-devel
BuildRequires: libboost_filesystem1_66_0-devel
BuildRequires: libboost_headers1_66_0-devel
BuildRequires: libboost_iostreams1_66_0-devel
BuildRequires: libboost_program_options1_66_0-devel
BuildRequires: libboost_python-py2_7-1_66_0-devel
BuildRequires: libboost_python-py3-1_66_0-devel
BuildRequires: libboost_regex1_66_0-devel
BuildRequires: libboost_serialization1_66_0-devel
BuildRequires: libboost_signals1_66_0-devel
BuildRequires: libboost_system1_66_0-devel
BuildRequires: libboost_thread1_66_0-devel
BuildRequires: libconsole_bridge0_4
BuildRequires: poco-devel
BuildRequires: ros-melodic
BuildRequires: ros-melodic-catkin >= 0.5.68
BuildRequires: ros-melodic-cmake-modules >= 0.3.3
%description
The class_loader package is a ROS-independent package for loading plugins during
runtime and the foundation of the higher level ROS "pluginlib"
library. class_loader utilizes the host operating system's runtime loader to
open runtime libraries (e.g. .so/.dll files), introspect the library for
exported plugin classes, and allows users to instantiate objects of said
exported classes without the explicit declaration (i.e. header file) for those
classes.
%prep
%autosetup -p0 -n class_loader-release
%build
# In case we're installing to a non-standard location, look for a setup.sh
# in the install tree that was dropped by catkin, and source it. It will
# set things like CMAKE_PREFIX_PATH, PKG_CONFIG_PATH, and PYTHONPATH.
if [ -f "/opt/ros/melodic/setup.sh" ]; then . "/opt/ros/melodic/setup.sh"; fi
mkdir -p obj-%{_target_platform} && cd obj-%{_target_platform}
cmake \
-UINCLUDE_INSTALL_DIR \
-ULIB_INSTALL_DIR \
-USYSCONF_INSTALL_DIR \
-USHARE_INSTALL_PREFIX \
-ULIB_SUFFIX \
-DCMAKE_INSTALL_LIBDIR="lib" \
-DCMAKE_INSTALL_PREFIX="/opt/ros/melodic" \
-DCMAKE_PREFIX_PATH="/opt/ros/melodic" \
-DSETUPTOOLS_DEB_LAYOUT=OFF \
-DCATKIN_BUILD_BINARY_PACKAGE="1" \
-DPYTHON_EXECUTABLE=/usr/bin/python \
..
%make_build
%install
# In case we're installing to a non-standard location, look for a setup.sh
# in the install tree that was dropped by catkin, and source it. It will
# set things like CMAKE_PREFIX_PATH, PKG_CONFIG_PATH, and PYTHONPATH.
if [ -f "/opt/ros/melodic/setup.sh" ]; then . "/opt/ros/melodic/setup.sh"; fi
%make_install -C obj-%{_target_platform}
%files
/opt/ros/melodic
%changelog