diff --git a/gazebo-11.12.0.tar.bz2 b/gazebo-11.12.0.tar.bz2 new file mode 100644 index 0000000000000000000000000000000000000000..72fe1ec077223b871ceca15aed63688e514cf8f0 Binary files /dev/null and b/gazebo-11.12.0.tar.bz2 differ diff --git a/gazebo.desktop b/gazebo.desktop new file mode 100644 index 0000000000000000000000000000000000000000..f85bd3f5004a4cd0419f90afbe723b9dec60e804 --- /dev/null +++ b/gazebo.desktop @@ -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; + diff --git a/gazebo.spec b/gazebo.spec new file mode 100644 index 0000000000000000000000000000000000000000..43ce92aac8dc8fc0e9f6b62d8f38477890d0bf2f --- /dev/null +++ b/gazebo.spec @@ -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 - 11.12.0-1 +- Init for openEuler