• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1Name:           ceres-solver
2Version:        1.7.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.3.0%{?dist}
7Summary:        A non-linear least squares minimizer
8
9Group:          Development/Libraries
10License:        BSD
11URL:            http://code.google.com/p/ceres-solver/
12Source0:        http://%{name}.googlecode.com/files/%{name}-%{version}rc3.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 differentiation
39  - Robust loss functions
40  - Local parameterizations
41  - Threaded Jacobian evaluators and linear solvers
42  - Levenberg-Marquardt and Dogleg (Powell & Subspace) solvers
43  - Dense QR and Cholesky factorization (using Eigen) for small problems
44  - Sparse Cholesky factorization (using SuiteSparse) for large sparse problems
45  - Specialized solvers for bundle adjustment problems in computer vision
46  - Iterative linear solvers for general sparse and bundle adjustment problems
47  - Runs on Linux, Windows, Mac OS X and Android. An iOS port is underway
48
49Notable use of Ceres Solver is for the image alignment in Google Maps and for
50vehicle pose in Google Street View.
51
52
53%package        devel
54Summary:        A non-linear least squares minimizer
55Group:          Development/Libraries
56Requires:       %{name} = %{version}-%{release}
57
58%description    devel
59The %{name}-devel package contains libraries and header files for
60developing applications that use %{name}.
61
62
63%prep
64%setup -q
65
66%build
67mkdir build
68pushd build
69
70# Disable the compilation flags that rpmbuild macros try to apply to all
71# packages because it breaks the build since release 1.5.0rc1
72%define optflags ""
73%if (0%{?rhel} == 06)
74%{cmake28} ..
75%else
76%{cmake} ..
77%endif
78make %{?_smp_mflags}
79
80
81%install
82rm -rf $RPM_BUILD_ROOT
83pushd build
84make install DESTDIR=$RPM_BUILD_ROOT
85find $RPM_BUILD_ROOT -name '*.la' -delete
86
87# Make the subdirectory in /usr/share match the name of this package
88mv $RPM_BUILD_ROOT%{_datadir}/{Ceres,%{name}}
89
90
91%clean
92rm -rf $RPM_BUILD_ROOT
93
94
95%post -p /sbin/ldconfig
96
97%postun -p /sbin/ldconfig
98
99
100%files
101%defattr(-,root,root,-)
102%doc README LICENSE
103%{_libdir}/*.so.*
104
105%files devel
106%defattr(-,root,root,-)
107%{_includedir}/*
108%{_libdir}/*.so
109%{_datadir}/%{name}/*.cmake
110
111
112%changelog
113* Thu Aug 29 2013 Taylor Braun-Jones <taylor@braun-jones.org> - 1.7.0-0.3.0
114- Bump version
115
116* Mon Aug 26 2013 Sameer Agarwal <sameeragarwal@google.com> - 1.7.0-0.2.0
117- Bump version
118
119* Mon Jul 18 2013 Sameer Agarwal <sameeragarwal@google.com> - 1.7.0-0.1.0
120- Bump version
121
122* Mon Apr 29 2013 Sameer Agarwal <sameeragarwal@google.com> - 1.6.0-1
123- Bump version
124
125* Mon Apr 29 2013 Sameer Agarwal <sameeragarwal@google.com> - 1.6.0-0.2.0
126- Bump version
127
128* Mon Apr 29 2013 Sameer Agarwal <sameeragarwal@google.com> - 1.6.0-0.1.0
129- Bump version
130
131* Sun Feb 24 2013 Taylor Braun-Jones <taylor@braun-jones.org> - 1.5.0-0.1.0
132- Bump version.
133
134* Sun Oct 14 2012 Taylor Braun-Jones <taylor@braun-jones.org> - 1.4.0-0
135- Initial creation
136