Blame SPECS/ceres-solver.spec

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