Summary: Libraries and programs for mobile robot SLAM and navigation Name: mrpt Version: 1.0.1 Release: 2%{?dist} License: BSD Group: Development/Libraries URL: http://www.mrpt.org/ #Source downloaded from: #http://downloads.sourceforge.net/%{name}/MRPT-all/MRPT-1.0.0/%{name}-%{version}.tar.gz # Then create_tarball_mrpt.sh was run to generate: Source0: %{name}-%{version}-fedora.tar.xz Source1: create_tarball_%{name}.sh #Fixes build issues related to gcc 4.7 Patch0: mrpt-1.0.0-csparse.patch # Get rid of -GNUCXX_PARALLEL flag when building with openmp Patch1: mrpt-1.0.0-openmp.patch # Patch to add missing inclusion guards to a header Patch2: mrpt-1.0.0-eigen306.patch # Build against system version of libfreenect Patch3: mrpt-1.0.0-systemdeps.patch # Fixes error: # error: the type 'dirs' is not supported for the entry tag within a navindex! Check your layout file! Patch4: mrpt-0.9.6-doxygen.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: cmake BuildRequires: wxGTK-devel, opencv-devel, freeglut-devel, lib3ds-devel BuildRequires: boost-devel BuildRequires: eigen3-static BuildRequires: doxygen, ghostscript, graphviz BuildRequires: tex(latex), tex(dvips) %ifnarch s390 s390x BuildRequires: libdc1394-devel BuildRequires: pcl-devel BuildRequires: tbb-devel %endif BuildRequires: libfreenect-devel BuildRequires: libftdi-devel, libusb-devel BuildRequires: libjpeg-devel BuildRequires: libusb1-devel BuildRequires: desktop-file-utils BuildRequires: suitesparse-devel BuildRequires: libphidget-devel %if 0%{?fedora} > 18 BuildRequires: perl-podlators %endif %description The Mobile Robot Programming Toolkit (MRPT) is an extensive, cross-platform, and open source C++ library aimed to help robotics researchers to design and implement algorithms in the fields of Simultaneous Localization and Mapping (SLAM), computer vision, and motion planning (obstacle avoidance). The libraries include classes for easily managing 3D(6D) geometry, probability density functions (pdfs) over many predefined variables (points and poses, landmarks, maps), Bayesian inference (Kalman filters, particle filters), image processing, path planning and obstacle avoidance, 3D visualization of all kind of maps (points, occupancy grids, landmarks,...), etc. Gathering, manipulating and inspecting very large robotic datasets (Rawlogs) efficiently is another goal of MRPT, supported by several classes and applications. The MRPT is free software and is released under the GPL. # Subpackages "ann", "aria", "core", "hwdrivers", and "reactivenav" are provided # in order to minimize dependencies of future packages that might depend on a # subset only of all the MRPT libraries. The subpackage "libs" can be used as # a shortcut for all the libraries. %package base Summary: Mobile Robot Programming Toolkit - mrpt-base Group: Development/Libraries # These packages went away after release 0.9.6 Obsoletes: %{name}-graphs%{?_isa} < 1.0.0 Obsoletes: %{name}-graphslam%{?_isa} < 1.0.0 Obsoletes: %{name}-bayes%{?_isa} < 1.0.0 %description base The Mobile Robot Programming Toolkit (MRPT) library mrpt-base %package opengl Summary: Mobile Robot Programming Toolkit - mrpt-opengl Group: Development/Libraries Requires: %{name}-base%{?_isa} = %{version}-%{release} %description opengl The Mobile Robot Programming Toolkit (MRPT) library mrpt-opengl %package pbmap Summary: Mobile Robot Programming Toolkit - mrpt-pbmap Group: Development/Libraries Requires: %{name}-base%{?_isa} = %{version}-%{release} %description pbmap The Mobile Robot Programming Toolkit (MRPT) library mrpt-pbmap %package gui Summary: Mobile Robot Programming Toolkit - mrpt-gui Group: Development/Libraries Requires: %{name}-opengl%{?_isa} = %{version}-%{release} %description gui The Mobile Robot Programming Toolkit (MRPT) library mrpt-gui %package obs Summary: Mobile Robot Programming Toolkit - mrpt-obs Group: Development/Libraries Requires: %{name}-opengl%{?_isa} = %{version}-%{release} %description obs The Mobile Robot Programming Toolkit (MRPT) library mrpt-obs %package scanmatching Summary: Mobile Robot Programming Toolkit - mrpt-scanmatching Group: Development/Libraries Requires: %{name}-base%{?_isa} = %{version}-%{release} %description scanmatching The Mobile Robot Programming Toolkit (MRPT) library mrpt-scanmatching %package topography Summary: Mobile Robot Programming Toolkit - mrpt-topography Group: Development/Libraries Requires: %{name}-scanmatching%{?_isa} = %{version}-%{release} %description topography The Mobile Robot Programming Toolkit (MRPT) library mrpt-topography %package maps Summary: Mobile Robot Programming Toolkit - mrpt-maps Group: Development/Libraries Requires: %{name}-obs%{?_isa} = %{version}-%{release} %description maps The Mobile Robot Programming Toolkit (MRPT) library mrpt-maps %package vision Summary: Mobile Robot Programming Toolkit - mrpt-vision Group: Development/Libraries Requires: %{name}-obs%{?_isa} = %{version}-%{release} %description vision The Mobile Robot Programming Toolkit (MRPT) library mrpt-vision %package hwdrivers Summary: Mobile Robot Programming Toolkit - mrpt-hwdrivers Group: Development/Libraries Requires: %{name}-obs%{?_isa} = %{version}-%{release} Requires: %{name}-gui%{?_isa} = %{version}-%{release} %description hwdrivers The Mobile Robot Programming Toolkit (MRPT) library mrpt-hwdrivers %package slam Summary: Mobile Robot Programming Toolkit - mrpt-slam Group: Development/Libraries Requires: %{name}-pbmap%{?_isa} = %{version}-%{release} Requires: %{name}-scanmatching%{?_isa} = %{version}-%{release} Requires: %{name}-maps%{?_isa} = %{version}-%{release} Requires: %{name}-vision%{?_isa} = %{version}-%{release} %description slam The Mobile Robot Programming Toolkit (MRPT) library mrpt-slam %package kinematics Summary: Mobile Robot Programming Toolkit - mrpt-kinematics Group: Development/Libraries Requires: %{name}-base%{?_isa} = %{version}-%{release} %description kinematics The Mobile Robot Programming Toolkit (MRPT) library mrpt-kinematics %package reactivenav Summary: Mobile Robot Programming Toolkit - mrpt-reactivenav Group: Development/Libraries Requires: %{name}-maps%{?_isa} = %{version}-%{release} %description reactivenav The Mobile Robot Programming Toolkit (MRPT) library mrpt-reactivenav %package detectors Summary: Mobile Robot Programming Toolkit - mrpt-detectors Group: Development/Libraries Requires: %{name}-maps%{?_isa} = %{version}-%{release} Requires: %{name}-gui%{?_isa} = %{version}-%{release} Requires: %{name}-vision%{?_isa} = %{version}-%{release} %description detectors The Mobile Robot Programming Toolkit (MRPT) library mrpt-detectors %package hmtslam Summary: Mobile Robot Programming Toolkit - mrpt-hmtslam Group: Development/Libraries Requires: %{name}-slam%{?_isa} = %{version}-%{release} %description hmtslam The Mobile Robot Programming Toolkit (MRPT) library mrpt-hmtslam %package libs Summary: Mobile Robot Programming Toolkit - All the libraries Group: Development/Libraries Requires: %{name}-detectors%{?_isa} = %{version}-%{release} Requires: %{name}-reactivenav%{?_isa} = %{version}-%{release} Requires: %{name}-hmtslam%{?_isa} = %{version}-%{release} Requires: %{name}-slam%{?_isa} = %{version}-%{release} Requires: %{name}-topography%{?_isa} = %{version}-%{release} Requires: %{name}-gui%{?_isa} = %{version}-%{release} Requires: %{name}-obs%{?_isa} = %{version}-%{release} Requires: %{name}-maps%{?_isa} = %{version}-%{release} Requires: %{name}-opengl%{?_isa} = %{version}-%{release} Requires: %{name}-base%{?_isa} = %{version}-%{release} Requires: %{name}-pbmap%{?_isa} = %{version}-%{release} #Requires: %{name}-graphs = %{version}-%{release} Requires: %{name}-kinematics%{?_isa} = %{version}-%{release} %description libs The Mobile Robot Programming Toolkit (MRPT) is an extensive, cross-platform, and open source C++ library aimed to help robotics researchers to design and implement algorithms in the fields of Simultaneous Localization and Mapping (SLAM), computer vision, and motion planning (obstacle avoidance). This virtual package depends on all MRPT libraries. %package apps Summary: Mobile Robot Programming Toolkit - Console and GUI applications Group: Applications/Engineering Requires: %{name}-libs%{?_isa} = %{version}-%{release} %description apps The Mobile Robot Programming Toolkit (MRPT) is an extensive, cross-platform, and open source C++ library aimed to help robotics researchers to design and implement algorithms in the fields of Simultaneous Localization and Mapping (SLAM), computer vision, and motion planning (obstacle avoidance). This package provides a set of console and GUI applications for manipulating datasets, particle filtering localization and SLAM, grabbing data from robotic sensors, etc. %package devel Summary: Mobile Robot Programming Toolkit - Development package Group: Development/Libraries Requires: %{name}-libs%{?_isa} = %{version}-%{release} Requires: pkgconfig Requires: suitesparse-devel %description devel The Mobile Robot Programming Toolkit (MRPT) is an extensive, cross-platform, and open source C++ library aimed to help robotics researchers to design and implement algorithms in the fields of Simultaneous Localization and Mapping (SLAM), computer vision, and motion planning (obstacle avoidance). This package provides the headers and required files to build third-party applications that use MRPT libraries. %package doc Summary: Mobile Robot Programming Toolkit - Documentation Group: Documentation BuildArch: noarch %description doc The Mobile Robot Programming Toolkit (MRPT) is an extensive, cross-platform, and open source C++ library aimed to help robotics researchers to design and implement algorithms in the fields of Simultaneous Localization and Mapping (SLAM), computer vision, and motion planning (obstacle avoidance). This package contains documentation, examples and the reference generated with Doxygen. %prep %setup -q %patch0 -p0 -b .csparse %patch1 -p0 -b .openmp %patch2 -p0 -b .eigen306 %patch3 -p0 -b .systemdeps %patch4 -p0 -b .doxygen # Fix encoding of the mrpt-book file #gzip -d doc/mrpt-book.ps.gz #iconv -f ISO8859-1 -t UTF-8 doc/mrpt-book.ps > mrpt-book.ps.conv #mv -f mrpt-book.ps.conv doc/mrpt-book.ps #gzip doc/mrpt-book.ps rm -rf libs/opengl/src/{freeglut-2.4.0,glew,glext,lib3ds} rm -rf libs/base/src/math/CSparse rm -rf libs/base/include/mrpt/otherlibs/CSparse rm -rf libs/base/src/utils/jpeglib rm -rf libs/base/src/compress/zlib/ %build # The flag CMAKE_MRPT_IS_RPM_PACKAGE disables global "-mtune=native" mkdir build cd build %cmake \ -DCSPARSE_LIBRARY=%{_libdir}/libcxsparse.so \ -DCMAKE_MRPT_IS_RPM_PACKAGE=1 \ -DMRPT_ENABLE_LIBSTD_PARALLEL_MODE=ON \ -DMRPT_ENABLE_PRECOMPILED_HDRS=OFF \ -DMRPT_HAS_PHIDGET=ON \ -DPHIDGET_ROOT_DIR=/usr \ -DPHIDGET_LIB_DIR=%{_libdir} \ -DMRPT_HAS_TBB=ON \ -DTBB_LIB_DIR=%{_libdir} \ -DDISABLE_SSE3=ON \ %ifnarch x86_64 -DDISABLE_SSE2=ON \ %endif -DMRPT_OPTIMIZE_NATIVE=OFF \ -DCMAKE_BUILD_TYPE=None \ -DEIGEN_USE_EMBEDDED_VERSION=OFF \ -DBUILD_KINECT_USE_FREENECT=ON \ -DBUILD_ARIA=OFF \ -DBUILD_XSENS=OFF \ -DDISABLE_SIFT_HESS=ON \ .. make VERBOSE=1 -j 3 #%{?_smp_mflags} make documentation_html make man_pages_all %check export LD_LIBRARY_PATH=$(pwd)/lib make -C build test VERBOSE=1 ARGS="-VV" || echo "**Warning**: unit tests failed, check whether it was only due to SSE* stuff" %install rm -rf $RPM_BUILD_ROOT make -C build install DESTDIR=$RPM_BUILD_ROOT # Validate .g files: find ${RPM_BUILD_ROOT}%{_datadir}/applications/ -name "*.desktop" | xargs -I FIL desktop-file-validate FIL %clean rm -rf $RPM_BUILD_ROOT %files base %defattr(-,root,root,-) %doc README COPYING %{_libdir}/libmrpt-base.so.* # This directory is empty here but contains files in other sub-packages # depending on mrpt-base: %dir %{_datadir}/mrpt %{_datadir}/mime/packages/*.xml %files opengl %defattr(-,root,root,-) %doc README COPYING %{_libdir}/libmrpt-opengl.so.* %files scanmatching %defattr(-,root,root,-) %doc README COPYING %{_libdir}/libmrpt-scanmatching.so.* %files pbmap %defattr(-,root,root,-) %doc README COPYING %{_libdir}/libmrpt-pbmap.so.* %files obs %defattr(-,root,root,-) %doc README COPYING %{_libdir}/libmrpt-obs.so.* %files gui %defattr(-,root,root,-) %doc README COPYING %{_libdir}/libmrpt-gui.so.* %files topography %defattr(-,root,root,-) %doc README COPYING %{_libdir}/libmrpt-topography.so.* %files maps %defattr(-,root,root,-) %doc README COPYING %{_libdir}/libmrpt-maps.so.* %files vision %defattr(-,root,root,-) %doc README COPYING %{_libdir}/libmrpt-vision.so.* %files hwdrivers %defattr(-,root,root,-) %doc README COPYING %{_libdir}/libmrpt-hwdrivers.so.* %files reactivenav %defattr(-,root,root,-) %doc README COPYING %{_libdir}/libmrpt-reactivenav.so.* %files detectors %defattr(-,root,root,-) %doc README COPYING %{_libdir}/libmrpt-detectors.so.* %files slam %defattr(-,root,root,-) %doc README COPYING %{_libdir}/libmrpt-slam.so.* %files kinematics %defattr(-,root,root,-) %doc README COPYING %{_libdir}/libmrpt-kinematics.so.* %files hmtslam %defattr(-,root,root,-) %doc README COPYING %{_libdir}/libmrpt-hmtslam.so.* %files apps %defattr(-,root,root,-) %doc README COPYING %{_bindir}/* %{_datadir}/applications/*.desktop %{_datadir}/pixmaps/*.ico %{_datadir}/pixmaps/*.xpm %{_datadir}/mime/packages/*.xml # %{_datadir}/mrpt is owned by mrpt-base: %{_datadir}/mrpt/config_files/ %{_datadir}/mrpt/datasets/ %{_mandir}/man1/* %files devel %defattr(-,root,root,-) %doc README COPYING %{_libdir}/*.so %{_includedir}/mrpt %{_libdir}/pkgconfig/*.pc # %{_datadir}/mrpt is owned by mrpt-core: %{_datadir}/mrpt/MRPTConfig.cmake %files doc %defattr(-,root,root,-) %doc README COPYING %dir %{_datadir}/doc/mrpt-doc/ %{_datadir}/doc/mrpt-doc/* %files libs %defattr(-,root,root,-) %doc README COPYING %ifos linux %post opengl -p /sbin/ldconfig %postun opengl -p /sbin/ldconfig %post gui -p /sbin/ldconfig %postun gui -p /sbin/ldconfig %post obs -p /sbin/ldconfig %postun obs -p /sbin/ldconfig %post scanmatching -p /sbin/ldconfig %postun scanmatching -p /sbin/ldconfig %post topography -p /sbin/ldconfig %postun topography -p /sbin/ldconfig %post maps -p /sbin/ldconfig %postun maps -p /sbin/ldconfig %post vision -p /sbin/ldconfig %postun vision -p /sbin/ldconfig %post hwdrivers -p /sbin/ldconfig %postun hwdrivers -p /sbin/ldconfig %post reactivenav -p /sbin/ldconfig %postun reactivenav -p /sbin/ldconfig %post detectors -p /sbin/ldconfig %postun detectors -p /sbin/ldconfig %post slam -p /sbin/ldconfig %postun slam -p /sbin/ldconfig %post hmtslam -p /sbin/ldconfig %postun hmtslam -p /sbin/ldconfig %post pbmap -p /sbin/ldconfig %postun pbmap -p /sbin/ldconfig %post kinematics -p /sbin/ldconfig %postun kinematics -p /sbin/ldconfig %post apps update-desktop-database &> /dev/null || : %postun apps update-desktop-database &> /dev/null || : %post base /sbin/ldconfig update-mime-database %{_datadir}/mime &> /dev/null || : %postun base /sbin/ldconfig update-mime-database %{_datadir}/mime &> /dev/null || : %endif %changelog * Sat Jun 29 2013 Rich Mattes - 1.0.1-2 - Compress tarball using xz (rhbz#979191) - Change to require eigen3-static instead of -devel - Rebuild for new eigen3 (rhbz#978971) * Sun Jun 02 2013 Rich Mattes - 1.0.1-1 - Update to release 1.0.1 * Fri May 24 2013 Petr Machata - 1.0.0-3 - Rebuild for TBB memory barrier bug * Tue Apr 16 2013 Rich Mattes - 1.0.0-2 - License changed to BSD for 1.0.0, updated spec license field to match * Mon Apr 15 2013 Rich Mattes - 1.0.0-1 - Update to release 1.0.0 * Sat Feb 23 2013 Rich Mattes - 0.9.6-6 - Fixed doxygen layout file to work with new doxygen version - Fixed bogus changelog dates - Made doc subpackage noarch * Sat Feb 09 2013 Denis Arnaud - 0.9.6-6 - Rebuild for Boost-1.53.0 * Mon Jan 21 2013 Adam Tkac - 0.9.6-5 - rebuild due to "jpeg8-ABI" feature drop * Thu Jan 03 2013 Dan Horák - 0.9.6-4 - update BRs for s390(x) * Sat Dec 22 2012 Rich Mattes - 0.9.6-3 - Rebuild for new flann * Sat Nov 10 2012 Rich Mattes - 0.9.6-2 - Rebuild for new OpenCV * Sun Aug 26 2012 Rich Mattes - 0.9.6-1 - Added dependency on suitesparse - Fixed resolution of libphidget and tbb * Sat Aug 25 2012 Rich Mattes - 0.9.6-1 - Updated to 0.9.6 * Fri Jul 20 2012 Fedora Release Engineering - 0.9.5-0.6.20110917svn2662 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild * Sat Jul 14 2012 Rich Mattes - 0.9.5-0.5.20110917svn2662 - Rebuild for new OpenCV - Fix for zlib 1.2.7 - Fix for gcc 4.7 * Tue Feb 28 2012 Fedora Release Engineering - 0.9.5-0.4.20110917svn2662 - Rebuilt for c++ ABI breakage * Fri Jan 13 2012 Fedora Release Engineering - 0.9.5-0.3.20110917svn2662 - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild * Sun Oct 16 2011 Dan Horák - 0.9.5-0.2.20110917svn2662 - no FireWire on s390(x) * Mon Sep 19 2011 - Jose Luis Blanco 0.9.5-0.1.20110917svn2662 - New 0.9.5 svn snapshot. * Fri Sep 16 2011 - Jose Luis Blanco 0.9.5-0.1.20110916svn2655 - New 0.9.5 svn snapshot. * Tue Aug 23 2011 - Jose Luis Blanco 0.9.5-0.1.20110823svn2634 - New 0.9.5 svn snapshot. * Mon Jan 10 2011 - Jose Luis Blanco 0.9.4-0.1.20110110svn2383 - New 0.9.4 svn snapshot, with more secure unit tests for autobuilders. * Mon Jan 10 2011 - Jose Luis Blanco 0.9.4-0.1.20110110svn2382 - Packaging of new upstream version 0.9.4 (svn snapshot) * Mon Jan 10 2011 - Jose Luis Blanco 0.9.4-0.1.20110110svn2380 - Packaging of new upstream version 0.9.4 (svn snapshot) * Sat Dec 25 2010 - Jose Luis Blanco 0.9.4-0.1.20101225svn2354 - Packaging of new upstream version 0.9.4 (svn snapshot) * Wed Jul 14 2010 Dan Horák - 0.9.0-0.5 - rebuilt against wxGTK-2.8.11-2 * Sun Jul 4 2010 - Jose Luis Blanco 0.9.0-0.4 - Rebuild needed by new opencv. * Sun Jun 6 2010 - Jose Luis Blanco 0.9.0-0.3 - Changed source tarball name numbering. * Sat Jun 5 2010 - Jose Luis Blanco 0.9.0-0.2 - Fixed build against OpenCV. * Fri Jun 4 2010 - Jose Luis Blanco 0.9.0-0.1 - Packaging of new upstream version 0.9.0. * Sat Mar 6 2010 - Thomas Spura 0.8.0-0.3.20100102svn1398 - rebuild as requested in http://lists.fedoraproject.org/pipermail/devel/2010-March/132519.html * Fri Jan 22 2010 - Jose Luis Blanco 0.8.0-0.2.20100102svn1398 - Fixed dependencies in spec file. * Thu Jan 21 2010 - Jose Luis Blanco 0.8.0-0.1.20100102svn1398 - Packaging of new upstream version 0.8.0. * Tue Aug 18 2009 - Jose Luis Blanco 0.7.1-0.1.20090818svn1148 - Packaging of new upstream version 0.7.1, patched. * Mon Aug 17 2009 - Jose Luis Blanco 0.7.1-0.1.20090817svn1147 - Packaging of new upstream version 0.7.1. * Sat Jul 25 2009 Fedora Release Engineering - 0.7.0-0.2.20090529svn1047 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild * Tue Jul 14 2009 - Jose Luis Blanco 0.7.0-0.1.20090529svn1047 - Packaging of new upstream version 0.7.0. * Wed Feb 25 2009 Fedora Release Engineering - 0.6.5-0.4.20090213svn807 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild * Thu Feb 19 2009 - Jose Luis Blanco 0.6.5-0.3.20090213svn807 - Fixed ownship of datadir/mrpt/config_files/ by two sub-packages. * Fri Feb 13 2009 - Jose Luis Blanco 0.6.5-0.2.20090213svn807 - All applications are now in mrpt-apps. * Fri Feb 13 2009 - Jose Luis Blanco 0.6.5-0.1.20090213 - New upstream sources. - Individual packages created for each MRPT application. - Removed unneeded dependencies from -devel package. - Fixed "doc" package should own the mrpt-doc directory. - Mime types moved to mrpt-core package. * Sun Jan 18 2009 - Jose Luis Blanco 0.6.5-0.1.20090118svn746 - New upstream sources. - Fixed license tag to "GPLv3+". - Added "export LD_LIBRARY_PATH..." at "check" to allow the tests to work. - Comments added explaining the split in subpackages. - devel package depends on wxGTK-devel instead of wxGTK due to needed headers. - datadir/mrpt is now owned by mrpt-core to avoid duplicated ownership. - Several fixes to libmrpt.pc - Added calls to "update-desktop-database" and "update-mime-database" in post/postun of mrpt-apps. - Corrected texlive-latex dependency to enable compilation of doxygen formulas. * Thu Jan 8 2009 - Jose Luis Blanco 0.6.4-2 - More verbose output in 'make test', and possibly fixed wrong compiler flag. - Fixed ownership of the same file MRPTConfig.cmake in two subpackages. * Sun Jan 4 2009 - Jose Luis Blanco 0.6.4-1 - Initial packaging for Fedora.