1Name: ceres-solver 2Version: 1.9.0 3# Release candidate versions are messy. Give them a release of 4# e.g. "0.1.0%{?dist}" for RC1 (and remember to adjust the Source0 5# URL). Non-RC releases go back to incrementing integers starting at 1. 6Release: 0.2.0%{?dist} 7Summary: A non-linear least squares minimizer 8 9Group: Development/Libraries 10License: BSD 11URL: http://ceres-solver.org/ 12Source0: http://%{name}.org/%{name}-%{version}.tar.gz 13BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) 14 15%if (0%{?rhel} == 06) 16BuildRequires: cmake28 17%else 18BuildRequires: cmake 19%endif 20BuildRequires: eigen3-devel 21# suitesparse <= 3.4.0-7 ships without *.hpp C++ headers 22# https://bugzilla.redhat.com/show_bug.cgi?id=1001869 23BuildRequires: suitesparse-devel > 3.4.0-7 24# If the suitesparse package was built with TBB then we need TBB too 25%ifarch %{ix86} x86_64 ia64 26BuildRequires: tbb-devel 27%endif 28# Use atlas for BLAS and LAPACK 29BuildRequires: atlas-devel 30BuildRequires: gflags-devel 31BuildRequires: glog-devel 32 33%description 34Ceres Solver is a portable C++ library that allows for modeling and solving 35large complicated nonlinear least squares problems. Features include: 36 37 - A friendly API: build your objective function one term at a time 38 - Automatic and numeric differentiation 39 - Robust loss functions 40 - Local parameterizations 41 - Threaded Jacobian evaluators and linear solvers 42 - Trust region solvers with non-monotonic steps (Levenberg-Marquardt and Dogleg (Powell & Subspace)) 43 - Line search solvers (L-BFGS and Nonlinear CG) 44 - Dense QR and Cholesky factorization (using Eigen) for small problems 45 - Sparse Cholesky factorization (using SuiteSparse) for large sparse problems 46 - Specialized solvers for bundle adjustment problems in computer vision 47 - Iterative linear solvers for general sparse and bundle adjustment problems 48 - Runs on Linux, Windows, Mac OS X, Android, and iOS 49 50Notable use of Ceres Solver is for the image alignment in Google Maps and for 51vehicle pose in Google Street View. 52 53 54%package devel 55Summary: A non-linear least squares minimizer 56Group: Development/Libraries 57Requires: %{name} = %{version}-%{release} 58 59%description devel 60The %{name}-devel package contains libraries and header files for 61developing applications that use %{name}. 62 63 64%prep 65%setup -q 66 67%build 68mkdir build 69pushd build 70 71# Disable the compilation flags that rpmbuild macros try to apply to all 72# packages because it breaks the build since release 1.5.0rc1 73%define optflags "" 74%if (0%{?rhel} == 06) 75%{cmake28} .. 76%else 77%{cmake} .. 78%endif 79make %{?_smp_mflags} 80 81 82%install 83rm -rf $RPM_BUILD_ROOT 84pushd build 85make install DESTDIR=$RPM_BUILD_ROOT 86find $RPM_BUILD_ROOT -name '*.la' -delete 87 88# Make the subdirectory in /usr/share match the name of this package 89mv $RPM_BUILD_ROOT%{_datadir}/{Ceres,%{name}} 90 91 92%clean 93rm -rf $RPM_BUILD_ROOT 94 95 96%post -p /sbin/ldconfig 97 98%postun -p /sbin/ldconfig 99 100 101%files 102%defattr(-,root,root,-) 103%doc README LICENSE 104%{_libdir}/*.so.* 105 106%files devel 107%defattr(-,root,root,-) 108%{_includedir}/* 109%{_libdir}/*.so 110%{_datadir}/%{name}/*.cmake 111 112 113%changelog 114* Mon May 27 2014 Sameer Agarwal <sameeragarwal@google.com> - 1.9.0-0.2.0 115- Bump version 116 117* Fri May 16 2014 Sameer Agarwal <sameeragarwal@google.com> - 1.9.0-0.1.0 118- Bump version 119 120* Tue Nov 12 2013 Sameer Agarwal <sameeragarwal@google.com> - 1.8.0-0.3.0 121- Bump version 122 123* Wed Nov 6 2013 Sameer Agarwal <sameeragarwal@google.com> - 1.8.0-0.2.0 124- Bump version 125 126* Thu Oct 31 2013 Sameer Agarwal <sameeragarwal@google.com> - 1.8.0-0.1.0 127- Bump version 128 129* Thu Aug 29 2013 Taylor Braun-Jones <taylor@braun-jones.org> - 1.7.0-0.3.0 130- Bump version 131 132* Mon Aug 26 2013 Sameer Agarwal <sameeragarwal@google.com> - 1.7.0-0.2.0 133- Bump version 134 135* Mon Jul 18 2013 Sameer Agarwal <sameeragarwal@google.com> - 1.7.0-0.1.0 136- Bump version 137 138* Mon Apr 29 2013 Sameer Agarwal <sameeragarwal@google.com> - 1.6.0-1 139- Bump version 140 141* Mon Apr 29 2013 Sameer Agarwal <sameeragarwal@google.com> - 1.6.0-0.2.0 142- Bump version 143 144* Mon Apr 29 2013 Sameer Agarwal <sameeragarwal@google.com> - 1.6.0-0.1.0 145- Bump version 146 147* Sun Feb 24 2013 Taylor Braun-Jones <taylor@braun-jones.org> - 1.5.0-0.1.0 148- Bump version. 149 150* Sun Oct 14 2012 Taylor Braun-Jones <taylor@braun-jones.org> - 1.4.0-0 151- Initial creation 152