Name: ceres-solver Version: 1.7.0 # Release candidate versions are messy. Give them a release of # e.g. "0.1.0%{?dist}" for RC1 (and remember to adjust the Source0 # URL). Non-RC releases go back to incrementing integers starting at 1. Release: "0.1.0%{?dist}" Summary: A non-linear least squares minimizer Group: Development/Libraries License: BSD URL: http://code.google.com/p/ceres-solver/ Source0: http://%{name}.googlecode.com/files/%{name}-%{version}rc1.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) %if (0%{?rhel} == 06) BuildRequires: cmake28 %else BuildRequires: cmake %endif BuildRequires: eigen3-devel BuildRequires: suitesparse-devel # Use atlas for BLAS and LAPACK BuildRequires: atlas-devel BuildRequires: gflags-devel BuildRequires: glog-devel %description Ceres Solver is a portable C++ library that allows for modeling and solving large complicated nonlinear least squares problems. Features include: - A friendly API: build your objective function one term at a time - Automatic differentiation - Robust loss functions - Local parameterizations - Threaded Jacobian evaluators and linear solvers - Levenberg-Marquardt and Dogleg (Powell & Subspace) solvers - Dense QR and Cholesky factorization (using Eigen) for small problems - Sparse Cholesky factorization (using SuiteSparse) for large sparse problems - Specialized solvers for bundle adjustment problems in computer vision - Iterative linear solvers for general sparse and bundle adjustment problems - Runs on Linux, Windows, Mac OS X and Android. An iOS port is underway Notable use of Ceres Solver is for the image alignment in Google Maps and for vehicle pose in Google Street View. %package devel Summary: A non-linear least squares minimizer Group: Development/Libraries Requires: %{name} = %{version}-%{release} %description devel The %{name}-devel package contains libraries and header files for developing applications that use %{name}. %prep %setup -q %build mkdir build pushd build # Disable the compilation flags that rpmbuild macros try to apply to all # packages because it breaks the build since release 1.5.0rc1 %define optflags "" %if (0%{?rhel} == 06) %{cmake28} .. \ %else %{cmake} .. \ %endif -DBLAS_LIB:FILEPATH=%{_libdir}/atlas/libatlas.so \ -DLAPACK_LIB:FILEPATH=%{_libdir}/atlas/liblapack.so make %{?_smp_mflags} %install rm -rf $RPM_BUILD_ROOT pushd build make install DESTDIR=$RPM_BUILD_ROOT find $RPM_BUILD_ROOT -name '*.la' -delete %clean rm -rf $RPM_BUILD_ROOT %post -p /sbin/ldconfig %postun -p /sbin/ldconfig %files %defattr(-,root,root,-) %doc %{_libdir}/*.so.* %files devel %defattr(-,root,root,-) %doc %{_includedir}/* %{_libdir}/*.so %{_libdir}/*.a %changelog * Mon July 18 2013 Sameer Agarwal - 1.7.0-0 - Bump version * Mon Apr 29 2013 Sameer Agarwal - 1.6.0-1 - Bump version * Mon Apr 29 2013 Sameer Agarwal - 1.6.0-0.2.0 - Bump version * Mon Apr 29 2013 Sameer Agarwal - 1.6.0-0.1.0 - Bump version * Sun Feb 24 2013 Taylor Braun-Jones - 1.5.0-0.1.0 - Bump version. * Sun Oct 14 2012 Taylor Braun-Jones - 1.4.0-0 - Initial creation