init gazebo 11.12.0

This commit is contained in:
davidhan008 2024-01-09 13:37:55 +08:00
parent fe7feea257
commit 5857d95a5c
3 changed files with 329 additions and 0 deletions

BIN
gazebo-11.12.0.tar.bz2 Normal file

Binary file not shown.

9
gazebo.desktop Normal file
View File

@ -0,0 +1,9 @@
[Desktop Entry]
Name=Gazebo
Comment=3D multi-robot simulator with dynamics
Exec=/usr/bin/gazebo
Icon=gazebo
Terminal=false
Type=Application
Categories=Education;Science;Robotics;

320
gazebo.spec Normal file
View File

@ -0,0 +1,320 @@
%global _python_bytecompile_extra 1
%global abiversion 11
Name: gazebo
Version: 11.12.0
Release: 1
Summary: 3D multi-robot simulator with dynamics
# gazebo/gui/qgv is LGPLv3+
# gazebo/gui/qtpropertybrowser/ is BSD
# test/gtest is BSD
License: ASL 2.0 and BSD and LGPLv3+
URL: http://www.gazebosim.org
Source0: http://osrf-distributions.s3.us-east1.amazonaws.com/%{name}/releases/%{name}-%{version}.tar.bz2
Source1: gazebo.desktop
#BuildRequires: python2-pyopengl
BuildRequires: boost-devel
BuildRequires: bullet-devel
BuildRequires: cmake
BuildRequires: console-bridge-devel
BuildRequires: cppzmq-devel
BuildRequires: desktop-file-utils
BuildRequires: doxygen
BuildRequires: freeimage-devel
BuildRequires: gdal-devel
BuildRequires: gperftools-devel
BuildRequires: graphviz-devel
BuildRequires: gtest-devel
BuildRequires: gts-devel
BuildRequires: hdf5-devel
BuildRequires: libccd-devel
BuildRequires: libcurl-devel
BuildRequires: libtar-devel
BuildRequires: libtool-ltdl-devel
BuildRequires: libusb1-devel
BuildRequires: libXext-devel
BuildRequires: libxml2-devel
BuildRequires: ignition-cmake-devel
BuildRequires: ignition-math-devel >= 4
BuildRequires: ignition-msgs-devel >= 1
BuildRequires: ignition-transport-devel >= 4
BuildRequires: ignition-common-devel
BuildRequires: ignition-fuel-tools-devel
BuildRequires: ogre-devel
BuildRequires: openal-soft-devel
BuildRequires: protobuf-devel
BuildRequires: qt5-qtbase-devel
BuildRequires: qt5-qtwebkit-devel
BuildRequires: qwt-qt5-devel
BuildRequires: qt5-devel
BuildRequires: rubygem-ronn
BuildRequires: sdformat-devel >= 6
BuildRequires: SkyX-devel
BuildRequires: tbb-devel
BuildRequires: tinyxml-devel
BuildRequires: tinyxml2-devel
BuildRequires: ros-%{ros_distro}-urdfdom-headers
BuildRequires: ros-%{ros_distro}-urdfdom
BuildRequires: pkgconfig(uuid)
Requires: %{name}-media = %{version}-%{release}
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
%description
Gazebo is a multi-robot simulator for outdoor environments. It is capable of
simulating a population of robots, sensors and objects in a three-dimensional
world. It generates both realistic sensor feedback and physically plausible
interactions between objects. It includes an accurate simulation of rigid-body
physics.
%package devel
Summary: Development files for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
Requires: %{name}-ode-devel%{?_isa} = %{version}-%{release}
Requires: boost-devel
Requires: bullet-devel
Requires: freeimage-devel
Requires: gdal-devel
Requires: ogre-devel
Requires: protobuf-devel
Requires: qt5-qtbase-devel
Requires: sdformat-devel
Requires: tbb-devel
Requires: jsoncpp-devel
%description devel
The %{name}-devel package contains libraries and header files for
developing applications that use %{name}.
%package common
Summary: Common directories for %{name}
BuildArch: noarch
%description common
The %{name}-common package provides common directories for the %{name}
subpackages.
%package libs
Summary: Shared libraries and plugins for %{name}
Requires: %{name}-common
%description libs
The %{name}-libs package provides shared libraries and plugins required
at runtime for %{name} and other clients linked against %{name}
%package media
Summary: Media files for %{name}
Requires: %{name}-common = %{version}-%{release}
Requires: %{name} = %{version}-%{release}
Requires: SkyX
BuildArch: noarch
%description media
Assets and media files for %{name}
%package ode
Summary: Gazebo fork of the Open Dynamics Engine
%description ode
Gazebo fork of the Open Dynamics Engine physics library
%package ode-devel
Summary: Development headers and libraries for gazebo-ode
Requires: %{name}-ode%{?_isa} = %{version}-%{release}
%description ode-devel
The %{name}-ode-devel package contains libraries and header files for
developing applications that use %{name}-ode.
%package -n player-%{name}
Summary: Gazebo plugin driver for the Player robot server.
Requires: %{name}-common = %{version}-%{release}
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
#BuildRequires: player-devel >= 3.1.0
%description -n player-%{name}
Plugin driver for the Player robot server. Translates gazebo interfaces
to be accessible through the Player server interfaces.
%package doc
Summary: Development documentation for %{name}
Requires: %{name} = %{version}-%{release}
BuildArch: noarch
%description doc
Development documentation for %{name}
%prep
%setup -q
# These are either unused, or replaced by system versions
rm -rf deps/ann
rm -rf deps/fcl
rm -rf deps/parallel_quickstep
rm -rf deps/libccd
%build
mkdir build
pushd build
%cmake \
-DCMAKE_VERBOSE_MAKEFILE=ON \
-DLIB_INSTALL_DIR:STRING="%{_lib}" \
%ifnarch x86_64
-DSSE2_FOUND=OFF \
%else
-DSSE2_FOUND=ON \
%endif
-DSSE3_FOUND=OFF \
-DSSSE3_FOUND=OFF \
-DSSE4_1_FOUND=OFF \
-DSSE4_2_FOUND=OFF \
-Dogre_library_dirs=%{_libdir} \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$CXXFLAGS -std=c++17" \
-DUSE_UPSTREAM_CFLAGS=OFF \
-DUSE_HOST_CFLAGS=ON \
-DCMAKE_INSTALL_DATAROOTDIR=share \
-DBUILD_SHARED_LIBS=true \
-DQWT_LIBRARIES=/usr/lib64/libqwt-qt5.so.6.2.0 \
-DQWT_INCLUDE_DIR=/usr/include/qt5/qwt \
..
make %{?_smp_mflags}
make doc %{?_smp_mflags} || exit 0;
mv doxygen_msgs/html{,_msgs}
popd
%install
pushd build
make install DESTDIR=%{buildroot}
popd
# Get rid of SkyX media files; symlink to the files that SkyX provides
rm -fr %{buildroot}%{_datadir}/%{name}-%{abiversion}/media/skyx
ln -s %{_datadir}/SKYX/Media/SkyX/ %{buildroot}%{_datadir}/%{name}-%{abiversion}/media/skyx
# Get rid of bundled fonts
rm -fr %{buildroot}%{_datadir}/%{name}-%{abiversion}/media/fonts/*.ttf
# Install the example files in the datadir.
cp -pr examples/ %{buildroot}%{_datadir}/%{name}-%{abiversion}
# Install the icon.
mkdir -p %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/
# The icon needs to be square to display properly on some systems.
# Edit the shape of the svg and change the viewport so it looks the same.
sed 'N; s/width="\([0-9\.]*\)"\n\([ ]*\)height="\([0-9\.]*\)"/width="\3"\n\2height="\3"\n\2viewBox="0 0 \1 \3"/' \
gazebo/gui/images/gazebo.svg > %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/%{name}.svg
# Install uncompressed manpages
rm -f %{buildroot}/%{_mandir}/man1/*.gz
install -p -m 0644 build/tools/*[a-z].1 %{buildroot}%{_mandir}/man1/
install -p -m 0644 build/gazebo/*[a-z].1 %{buildroot}%{_mandir}/man1/
install -p -m 0644 build/gazebo/gui/*[a-z].1 %{buildroot}%{_mandir}/man1/
# Install the desktop file.
desktop-file-install \
--dir %{buildroot}%{_datadir}/applications \
%{SOURCE1}
# Private plugin library: get rid of versioned symlinks,
# move into private subdirectory of libdir
mkdir -p %{buildroot}%{_libdir}/player-3.1
rm -f %{buildroot}/%{_libdir}/libgazebo_player.so
rm -f %{buildroot}/%{_libdir}/libgazebo_player.so.?
#mv %{buildroot}/%{_libdir}/libgazebo_player.so.%{version} %{buildroot}%{_libdir}/player-3.1/libgazebo_player.so
#rm -f %{buildroot}/%{_libdir}/*.a
%check
# Tests run for informational purposes only
pushd build
# Ignore some tests that will never succeed in the Fedora build system
cat << EOF > CTestCustom.cmake
SET(CTEST_CUSTOM_TESTS_IGNORE
# OpenAL tests will fail if the builder doesn't have an audio device.
UNIT_OpenAL_TEST
check_UNIT_OpenAL_TEST
# # Since the pkg-config and cmake config have absolute paths,
# # these tests will fail as long as Gazebo is not actually
# # installed on the system.
# EXAMPLE_example_plugins
# check_EXAMPLE_example_plugins
# REGRESSION_config-cmake
# check_REGRESSION_config-cmake
# REGRESSION_config-pkgconfig
# check_REGRESSION_config-pkgconfig
)
EOF
export GAZEBO_RESOURCE_PATH=%{buildroot}%{_datadir}/gazebo-%{abiversion}
export LD_LIBRARY_PATH=%{buildroot}%{_libdir}
export PATH=$PATH:%{buildroot}%{_bindir}
make test || cat Testing/Temporary/LastTest.log
popd
%files
%license COPYING LICENSE
%doc AUTHORS
%{_bindir}/*
%{_datadir}/%{name}-%{abiversion}/setup.sh
%{_datadir}/%{name}/setup.sh
%{_datadir}/%{name}-%{abiversion}/setup.bash
%{_datadir}/%{name}/setup.bash
%{_datadir}/applications/%{name}.desktop
%{_datadir}/icons/hicolor/scalable/apps/%{name}.svg
%{_mandir}/man1/*.1.*
%files common
%dir %{_datadir}/%{name}-%{abiversion}
%dir %{_datadir}/%{name}-%{abiversion}/examples
%files libs
%exclude %{_libdir}/libgazebo_ode.so.*
%{_libdir}/*.so.*
%{_libdir}/*.a
%{_libdir}/%{name}-%{abiversion}
%{_datadir}/%{name}-%{abiversion}/worlds
%files -n player-%{name}
#%{_libdir}/player-3.1/libgazebo_player.so
%{_datadir}/%{name}-%{abiversion}/examples/player
%files media
%{_datadir}/%{name}-%{abiversion}/media
%{_datadir}/%{name}-%{abiversion}/models
%files ode
%license deps/opende/LICENSE-BSD.TXT
%{_libdir}/libgazebo_ode.so.*
%files ode-devel
%{_libdir}/libgazebo_ode.so
%{_libdir}/pkgconfig/gazebo_ode.pc
%dir %{_includedir}/%{name}-%{abiversion}/%{name}
%dir %{_includedir}/%{name}-%{abiversion}
%{_includedir}/%{name}-%{abiversion}/%{name}/ode
%files doc
%license COPYING LICENSE
#%doc build/doxygen/html
#%doc build/doxygen_msgs/html_msgs
%files devel
%{_datadir}/%{name}-%{abiversion}/examples/plugins
%{_datadir}/%{name}-%{abiversion}/examples/stand_alone
%{_libdir}/*.so
%{_libdir}/*.a
%exclude %{_includedir}/%{name}-%{abiversion}/%{name}/ode
%{_includedir}/%{name}-%{abiversion}
%{_libdir}/pkgconfig/gazebo.pc
%{_libdir}/pkgconfig/gazebo_transport.pc
%{_libdir}/cmake/*
%changelog
* Thu May 4 2023 will_niutao <niutao2@huawei.com> - 11.12.0-1
- Init for openEuler