aboutsummaryrefslogtreecommitdiff
path: root/scripts/ceres-solver.spec
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/ceres-solver.spec')
-rw-r--r--scripts/ceres-solver.spec123
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