#define svnrev 2227 %{!?octave_api: %define octave_api %(octave-config -p API_VERSION || echo 0)} %define octave_distpkg %{?_vendor:%_vendor}%{?!_vendor:distributions} %if 0%{?fedora} <= 12 && 0%{?rhel} <= 5 %{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(0)")} %{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} %endif %define with_singleprecision %{?_with_singleprecision:1}%{?!_with_singleprecision:0} Name: openrave Version: 0.6.4 Release: 1%{?dist} Summary: Open Robotics Automation Virtual Environment Group: System Environment/Libraries License: LGPLv3 and ASL 2.0 URL: http://openrave.programmingvision.com # To reproduce from svn (change version accordingly, see CMakeLists.txt): # svn checkout https://openrave.svn.sourceforge.net/svnroot/openrave/tags/latest_stable openrave # cd openrave # svn export . openrave-0.6.4 # cd openrave-0.5.0/3rdparty # rm -rf ann collada crlibm-1.0beta4 fparser-4.3.3 flann-1.6.6 minizip pcre-8.02 qhull zlib # cd .. # rm -rf msvc* sympy_0.6.7.tgz # tar cvfj openrave-0.5.0.tar.bz2 openrave-0.5.0 Source0: %{name}-%{version}.tar.bz2 Patch0: %{name}-0.6.4-syssympy.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: cmake, gcc-c++ BuildRequires: ann-devel, lapack-devel, mpfr-devel, mpfi-devel, crlibm-devel BuildRequires: libX11-devel, qt-devel, SoQt-devel, Coin2-devel, qhull-devel, glew-devel BuildRequires: libxml2-devel, zlib-devel, pcre-devel, minizip-devel, glibc-headers, boost-devel BuildRequires: bullet-devel, ode-devel, hdf5-devel, gmp-devel, minizip-devel, fparser-devel BuildRequires: collada-dom-devel BuildRequires: python, python-devel, boost-python, python-docutils, sympy BuildRequires: python-sphinx, doxygen, dos2unix BuildRequires: octave-devel >= 2.9.14 %description OpenRAVE is targeted for real-world autonomous robot applications, and includes a seamless integration of 3-D simulation, visualization, planning, scripting and control. %package devel Summary: Development files for %{name} Group: Development/Libraries Requires: %{name} = %{version}-%{release} Requires: cmake, pkgconfig %description devel The %{name}-devel package contains libraries and header files for developing applications that use %{name}. %package python Summary: Python bindings for OpenRAVE Group: Development/Languages Requires: %{name} = %{version}-%{release} Requires: python Requires: sympy >= 0.6.7 Requires: flann-python %description python The %{name}-python package contains Python bindings for developing applications that use %{name}. %package octave Summary: Octave bindings for OpenRAVE Group: Development/Languages Requires: %{name} = %{version}-%{release} Requires: octave(api) = %{octave_api} %description octave The %{name}-octave package contains Octave bindings for developing applications that use %{name}. %prep %setup -q -n %{name}-%{version} %patch0 -p1 -b .sympy %build mkdir build pushd build %cmake \ -DCMAKE_BUILD_TYPE=RelWithDebInfo \ -DCMAKE_SKIP_RPATH:BOOL=ON \ -DOPT_VIDEORECORDING=OFF \ %if %{with_singleprecision} -DOPT_DOUBLE_PRECISION=OFF \ %endif -DOPENRAVE_BIN_SUFFIX="" \ -DOPENRAVE_LIBRARY_SUFFIX="" \ -DOPENRAVE_SHARE_DIR="%{_datadir}/openrave" \ -DOPENRAVE_CMAKE_INSTALL_DIR="openrave" \ -DOPENRAVE_PLUGINS_INSTALL_DIR=%{_libdir}/openrave/plugins \ -DOPENRAVE_PLUGINS_INSTALL_ABSOLUTE_DIR=%{_libdir}/openrave/plugins \ -DOPENRAVE_DATA_INSTALL_DIR="%{_datadir}/openrave" \ -DOPENRAVE_DATA_INSTALL_ABSOLUTE_DIR="%{_datadir}/openrave" \ -DOPENRAVE__INSTALL_ABSOLUTE_DIR="%{_datadir}/openrave" \ -DOPENRAVE_OCTAVE_INSTALL_DIR=%{_libexecdir}/octave/packages/openrave-%{version} \ -DCPACK_PACKAGE_INSTALL_DIRECTORY="openrave" \ -DBASH_COMPLETION_DIR="%{_sysconfig}/bash_completion.d" \ .. # Having version at this level should be fine, otherwise could use: # -DOPENRAVE_INCLUDE_DIRNAME="openrave" make # memory runs out if used on my machine: %{?_smp_mflags} popd pushd docs export rootdir=$PWD echo "STRIP_FROM_PATH = $rootdir PROJECT_NUMBER = `/bin/sh ../build/openrave-config --version` ALIASES += openraveversion=`/bin/sh ../build/openrave-config --version` " | cat Doxyfile.html Doxyfile.en - > Doxyfile.html.en doxygen -u Doxyfile.html.en mkdir -p build/en doxygen Doxyfile.html.en rm -f build/en/coreapihtml/installdox popd dos2unix AUTHORS %install rm -rf $RPM_BUILD_ROOT make install DESTDIR=$RPM_BUILD_ROOT find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';' mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/bash_completion.d mv $RPM_BUILD_ROOT%{_datadir}/%{name}/%{name}_completion.bash $RPM_BUILD_ROOT%{_sysconfdir}/bash_completion.d/%{name}.bash # Included in doc, do not install second time rm $RPM_BUILD_ROOT%{_datadir}/%{name}/COPYING $RPM_BUILD_ROOT%{_datadir}/%{name}/LICENSE.* %clean rm -rf $RPM_BUILD_ROOT %post -p /sbin/ldconfig %postun -p /sbin/ldconfig %files %defattr(-,root,root,-) %doc AUTHORS COPYING LICENSE.apache LICENSE.lgpl %{_bindir}/openrave %config(noreplace) %{_sysconfdir}/bash_completion.d/%{name}.bash %{_libdir}/*.so.* %{_libdir}/openrave %dir %{_datadir}/%{name} %{_datadir}/%{name}/data %{_datadir}/%{name}/models %{_datadir}/%{name}/robots %{_datadir}/%{name}/openrave.bash %files devel %defattr(-,root,root,-) %doc docs/build/en/coreapihtml/* %{_bindir}/openrave-config %{_bindir}/openrave-createplugin.py %{_includedir}/* %{_libdir}/*.so %{_libdir}/pkgconfig/* %{_libdir}/cmake/* %{_datadir}/%{name}/matlab %{_datadir}/%{name}/cppexamples %files octave %defattr(-,root,root,-) %{_libexecdir}/octave/packages/* %files python %defattr(-,root,root,-) %{_bindir}/openrave.py %{_bindir}/openrave-robot.py %{python_sitearch}/* %changelog * Thu Apr 19 2012 Tim Niemueller - 0.6.4-1 - Update to 0.6.4 - More patches upstreamed, only tiny sympy patch required - Use external fparser * Wed Jan 11 2012 Tim Niemueller - 0.5.0-2 - Update to r2948 which includes upstreamed patches * Sat Dec 04 2011 Tim Niemueller - 0.5.0-1 - Update to 0.5.0 * Mon Jul 25 2011 Tim Niemueller - 0.4.1-2 - Use double precision by default * Thu Jul 21 2011 Tim Niemueller - 0.4.1-1 - Update to 0.4.1 (including patch) * Fri Apr 01 2011 Tim Niemueller - 0.2.20-0.2.svn2227 - Update patch for current unavailability of BOOST_IOSTREAMS_USE_DEPRECATED * Thu Mar 31 2011 Tim Niemueller - 0.2.20-0.1.svn2227 - Update to latest trunk - Drop upstreamed patches * Thu Mar 31 2011 Tim Niemueller - 0.2.19-0.2.svn2184 - Disable double precision - Fix documentation generation * Mon Mar 21 2011 Tim Niemueller - 0.2.19-0.1.svn2184 - Update to latest trunk version - Use system-wide installed collada library * Tue Feb 08 2011 Tim Niemueller - 0.2.18-0.3.svn1975 - Updated patch and added BR to use external crlibm * Mon Jan 31 2011 Tim Niemueller - 0.2.18-0.2.svn1975 - Use external flann library * Thu Jan 27 2011 Tim Niemueller - 0.2.18-0.1.svn1975 - Initial package