diff options
Diffstat (limited to 'scripts/ceres-solver.spec')
-rw-r--r-- | scripts/ceres-solver.spec | 123 |
1 files changed, 123 insertions, 0 deletions
diff --git a/scripts/ceres-solver.spec b/scripts/ceres-solver.spec new file mode 100644 index 0000000..69b08e6 --- /dev/null +++ b/scripts/ceres-solver.spec @@ -0,0 +1,123 @@ +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 <sameeragarwal@google.com> - 1.7.0-0 +- Bump version + +* Mon Apr 29 2013 Sameer Agarwal <sameeragarwal@google.com> - 1.6.0-1 +- Bump version + +* Mon Apr 29 2013 Sameer Agarwal <sameeragarwal@google.com> - 1.6.0-0.2.0 +- Bump version + +* Mon Apr 29 2013 Sameer Agarwal <sameeragarwal@google.com> - 1.6.0-0.1.0 +- Bump version + +* Sun Feb 24 2013 Taylor Braun-Jones <taylor@braun-jones.org> - 1.5.0-0.1.0 +- Bump version. + +* Sun Oct 14 2012 Taylor Braun-Jones <taylor@braun-jones.org> - 1.4.0-0 +- Initial creation |