Blame SPECS/ceres-solver.spec

532ae3
Name:           ceres-solver
532ae3
Version:        1.13.0
532ae3
# Release candidate versions are messy. Give them a release of
532ae3
# e.g. "0.1.0%%{?dist}" for RC1 (and remember to adjust the Source0
532ae3
# URL). Non-RC releases go back to incrementing integers starting at 1.
532ae3
Release:        2%{?dist}
532ae3
Summary:        A non-linear least squares minimizer
532ae3
532ae3
Group:          Development/Libraries
532ae3
License:        BSD
532ae3
532ae3
URL:            http://ceres-solver.org/
532ae3
Source0:        http://%{name}.org/%{name}-%{version}.tar.gz
532ae3
# Temporary workaround for bogus gflags-config.cmake, see #1359776
532ae3
Patch1:         ceres-solver_gflags.patch
532ae3
# Partial backport of bbe790e0f3ba9e9565862067198d2760ab669ec8: fix possible
532ae3
# out of bounds array access
532ae3
Patch2:         ceres-solver_bounds.patch
532ae3
%if 0%{?rhel} > 0 && 0%{?rhel} < 7
532ae3
# Exclude ppc64 because suitesparse is not available on ppc64
532ae3
# https://lists.fedoraproject.org/pipermail/epel-devel/2015-May/011193.html
532ae3
ExcludeArch: ppc64
532ae3
%endif
532ae3
532ae3
%if (0%{?rhel} && 0%{?rhel} <= 7)
532ae3
BuildRequires:  cmake3 >= 2.8.0
532ae3
%else
532ae3
BuildRequires:  cmake >= 2.8.0
532ae3
%endif
532ae3
532ae3
# Need -static package per guidelines for handling dependencies on header-only
532ae3
# libraries.
532ae3
# http://fedoraproject.org/wiki/Packaging:Guidelines#Packaging_Header_Only_Libraries
532ae3
BuildRequires:  eigen3-static >= 3.2.1
532ae3
532ae3
# suitesparse < 3.4.0-9 ships without *.hpp C++ headers
532ae3
# https://bugzilla.redhat.com/show_bug.cgi?id=1001869
532ae3
BuildRequires:  suitesparse-devel >= 3.4.0-9
532ae3
532ae3
# If the suitesparse package was built with TBB then we need TBB too
532ae3
BuildRequires:  tbb-devel
532ae3
532ae3
# Use atlas for BLAS and LAPACK
532ae3
BuildRequires:  atlas-devel
532ae3
BuildRequires:  gflags-devel
532ae3
# Build against miniglog on RHEL6 until glog package is added to EPEL6
532ae3
%if (0%{?rhel} != 06)
532ae3
BuildRequires:  glog-devel >= 0.3.1
532ae3
%endif
532ae3
532ae3
%description
532ae3
532ae3
Ceres Solver is an open source C++ library for modeling and solving
532ae3
large, complicated optimization problems. It is a feature rich, mature
532ae3
and performant library which has been used in production at Google
532ae3
since 2010. Notable use of Ceres Solver is for the image alignment in
532ae3
Google Maps and for vehicle pose in Google Street View. Ceres Solver
532ae3
can solve two kinds of problems.
532ae3
532ae3
  1. Non-linear Least Squares problems with bounds constraints.
532ae3
  2. General unconstrained optimization problems.
532ae3
532ae3
Features include:
532ae3
532ae3
  - A friendly API: build your objective function one term at a time
532ae3
  - Automatic and numeric differentiation
532ae3
  - Robust loss functions
532ae3
  - Local parameterizations
532ae3
  - Threaded Jacobian evaluators and linear solvers
532ae3
  - Trust region solvers with non-monotonic steps (Levenberg-Marquardt and
532ae3
    Dogleg (Powell & Subspace))
532ae3
  - Line search solvers (L-BFGS and Nonlinear CG)
532ae3
  - Dense QR and Cholesky factorization (using Eigen) for small problems
532ae3
  - Sparse Cholesky factorization (using SuiteSparse) for large sparse problems
532ae3
  - Specialized solvers for bundle adjustment problems in computer vision
532ae3
  - Iterative linear solvers for general sparse and bundle adjustment problems
532ae3
  - Runs on Linux, Windows, Mac OS X, Android, and iOS
532ae3
532ae3
532ae3
%package        devel
532ae3
Summary:        A non-linear least squares minimizer
532ae3
Group:          Development/Libraries
532ae3
Requires:       %{name}%{?_isa} = %{version}-%{release}
532ae3
Requires:       eigen3-devel
532ae3
Requires:       glog-devel
532ae3
532ae3
%description    devel
532ae3
The %{name}-devel package contains libraries and header files for
532ae3
developing applications that use %{name}.
532ae3
532ae3
532ae3
%prep
532ae3
%setup -q
532ae3
%patch1 -p1
532ae3
%patch2 -p1
532ae3
532ae3
%build
532ae3
mkdir build
532ae3
pushd build
532ae3
532ae3
%if (0%{?rhel} == 06)
532ae3
%{cmake28} .. -DMINIGLOG:BOOL=ON \
532ae3
%else
532ae3
%{cmake} .. \
532ae3
%endif
532ae3
  -DCXSPARSE_INCLUDE_DIR:PATH=%{_includedir}/suitesparse \
532ae3
  -DBLAS_LIBRARIES:PATH=%{_libdir}/atlas/libsatlas.so \
532ae3
  -DGFLAGS_INCLUDE_DIR=%{_includedir}
532ae3
make %{?_smp_mflags}
532ae3
532ae3
532ae3
%install
532ae3
make -C build install DESTDIR=$RPM_BUILD_ROOT
532ae3
532ae3
532ae3
%check
532ae3
CTEST_OUTPUT_ON_FAILURE=1 make -C build test
532ae3
532ae3
532ae3
%post -p /sbin/ldconfig
532ae3
532ae3
%postun -p /sbin/ldconfig
532ae3
532ae3
532ae3
%files
532ae3
%if (0%{?rhel} == 06)
532ae3
%doc README.md LICENSE
532ae3
%else
532ae3
%doc README.md
532ae3
%license LICENSE
532ae3
%endif
532ae3
%{_libdir}/*.so.*
532ae3
532ae3
%files devel
532ae3
%{_includedir}/*
532ae3
%{_libdir}/*.so
532ae3
%{_libdir}/cmake/Ceres
532ae3
532ae3
532ae3
%changelog
532ae3
* Thu Aug 02 2018 Jiri Kucera <jkucera@redhat.com> - 1.13.0-1
532ae3
- Backport patch to fix CompressedRowSparseMatrixTest.AppendRows test failure
532ae3
  (see https://github.com/ceres-solver/ceres-solver/issues/383)
532ae3
  Resolves: #1609969
532ae3
532ae3
* Mon Aug 07 2017 Rich Mattes <richmattes@gmail.com> - 1.13.0-1
532ae3
- Update to release 1.13.0 (rhbz#1470895)
532ae3
532ae3
* Sun Aug 06 2017 Björn Esser <besser82@fedoraproject.org> - 1.12.0-8
532ae3
- Rebuilt for AutoReq cmake-filesystem
532ae3
532ae3
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.12.0-7
532ae3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
532ae3
532ae3
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.12.0-6
532ae3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
532ae3
532ae3
* Mon May 15 2017 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.12.0-5
532ae3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild
532ae3
532ae3
* Wed Feb 22 2017 Sandro Mani <manisandro@gmail.com> - 1.12.0-4
532ae3
- Rebuild for eigen3-3.3.3
532ae3
532ae3
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.12.0-3
532ae3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
532ae3
532ae3
* Sun Jan 22 2017 Sandro Mani <manisandro@gmail.com> - 1.12.0-2
532ae3
- Rebuild for eigen3-3.3.2
532ae3
532ae3
* Wed Dec 28 2016 Rich Mattes <richmattes@gmail.com> - 1.12.0-1
532ae3
- Update to 1.12.0 (rhbz#1385268)
532ae3
532ae3
* Tue Oct 04 2016 Sandro Mani <manisandro@gmail.com> - 1.11.0-9
532ae3
- Rebuild for eigen3-3.2.10
532ae3
532ae3
* Thu Sep 22 2016 Jerry James <loganjerry@gmail.com> - 1.11.0-8
532ae3
- Rebuild for tbb 2017
532ae3
- tbb is available on all arches in Fedora and RHEL > 6
532ae3
532ae3
* Tue Jul 19 2016 Sandro Mani <manisandro@gmail.com> - 1.11.0-7
532ae3
- Rebuild for eigen3-3.2.9
532ae3
532ae3
* Tue Mar 01 2016 Rich Mattes <richmattes@gmail.com> - 1.11.0-6
532ae3
- Rebuild for eigen3-3.2.8 (rhbz#1288505)
532ae3
532ae3
* Sun Feb 14 2016 Rich Mattes <richmattes@gmail.com> - 1.11.0-5
532ae3
- Remove -Werror from package CMAKE_CXX_CFLAGS
532ae3
532ae3
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.11.0-5
532ae3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
532ae3
532ae3
* Mon Jan 25 2016 Rich Mattes <richmattes@gmail.com> - 1.11.0-4
532ae3
- Add missing Requires to devel sub-package (rhbz#1300055)
532ae3
- Move CeresConfig.cmake to arch-dependent path
532ae3
532ae3
* Fri Jan 15 2016 Jerry James <loganjerry@gmail.com> - 1.11.0-3
532ae3
- Rebuild for tbb 4.4u2
532ae3
532ae3
* Sat Dec 05 2015 Rich Mattes <richmattes@gmail.com> - 1.11.0-2
532ae3
- Rebuild for eigen 3.2.7
532ae3
532ae3
* Mon Oct 12 2015 Rich Mattes <richmattes@gmail.com> - 1.11.0-1
532ae3
- Update to release 1.11.0
532ae3
532ae3
* Fri Jul 10 2015 Taylor Braun-Jones <taylor.braun-jones@ge.com> - 1.10.0-8
532ae3
- Increase epsilon tolerance for one unit test. Needed for new gcc-5 changes.
532ae3
532ae3
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.10.0-7
532ae3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
532ae3
532ae3
* Thu Jun 11 2015 Nils Philippsen <nils@redhat.com> - 1.10.0-6
532ae3
- rebuild for suitesparse-4.4.4
532ae3
532ae3
* Sat May  9 2015 Taylor Braun-Jones <taylor.braun-jones@ge.com> - 1.10.0-5
532ae3
- Exclude ppc64
532ae3
532ae3
* Sat May 02 2015 Kalev Lember <kalevlember@gmail.com> - 1.10.0-4
532ae3
- Rebuilt for GCC 5 C++11 ABI change
532ae3
532ae3
* Fri Apr  3 2015 Taylor Braun-Jones <taylor.braun-jones@ge.com> - 1.10.0-3
532ae3
- Add upstream patch to fix failing unit test small_blas_test.
532ae3
532ae3
* Thu Mar 12 2015 Taylor Braun-Jones <taylor.braun-jones@ge.com> - 1.10.0-3
532ae3
- Incorporate package review suggestions from Alex Stewart, Christopher Meng,
532ae3
  and Rich Mattes.
532ae3
532ae3
* Wed Mar 11 2015 Taylor Braun-Jones <taylor.braun-jones@ge.com> - 1.10.0-2
532ae3
- Address comments from Rich Mattes' package review.
532ae3
532ae3
* Mon Jan 12 2015 Taylor Braun-Jones <taylor.braun-jones@ge.com> - 1.10.0-1
532ae3
- Bump version and merge .spec updates from latest upstream release.
532ae3
532ae3
* Wed Nov 13 2013 Taylor Braun-Jones <taylor.braun-jones@ge.com> - 1.8.0-1
532ae3
- New upstream release.
532ae3
532ae3
* Mon Nov 04 2013 Taylor Braun-Jones <taylor.braun-jones@ge.com> - 1.8.0-0.1.0
532ae3
- New upstream release candidate.
532ae3
532ae3
* Wed Sep 04 2013 Taylor Braun-Jones <taylor.braun-jones@ge.com> - 1.7.0-1
532ae3
- Bump version
532ae3
532ae3
* Thu Aug 29 2013 Taylor Braun-Jones <taylor@braun-jones.org> - 1.7.0-0.3.0
532ae3
- Bump version
532ae3
532ae3
* Mon Aug 26 2013 Sameer Agarwal <sameeragarwal@google.com> - 1.7.0-0.2.0
532ae3
- Bump version
532ae3
532ae3
* Thu Jul 18 2013 Sameer Agarwal <sameeragarwal@google.com> - 1.7.0-0.1.0
532ae3
- Bump version
532ae3
532ae3
* Mon Apr 29 2013 Sameer Agarwal <sameeragarwal@google.com> - 1.6.0-1
532ae3
- Bump version
532ae3
532ae3
* Mon Apr 29 2013 Sameer Agarwal <sameeragarwal@google.com> - 1.6.0-0.2.0
532ae3
- Bump version
532ae3
532ae3
* Mon Apr 29 2013 Sameer Agarwal <sameeragarwal@google.com> - 1.6.0-0.1.0
532ae3
- Bump version
532ae3
532ae3
* Sun Feb 24 2013 Taylor Braun-Jones <taylor@braun-jones.org> - 1.5.0-0.1.0
532ae3
- Bump version.
532ae3
532ae3
* Sun Oct 14 2012 Taylor Braun-Jones <taylor@braun-jones.org> - 1.4.0-0
532ae3
- Initial creation