Date: Sat, 15 Oct 2016 23:53:45 +0000 (UTC) From: Jan Beich <jbeich@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r424034 - in head/math: . ceres-solver Message-ID: <201610152353.u9FNrjpR086787@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: jbeich Date: Sat Oct 15 23:53:45 2016 New Revision: 424034 URL: https://svnweb.freebsd.org/changeset/ports/424034 Log: math/ceres-solver: add new port Based on: Gentoo (1.11.0 ebuild) Tested on: graphics/openmvg from @outpaddling's repo (build on 10.3 amd64) Ceres Solver is an open source C++ library for modeling and solving large, complicated optimization problems. It is a feature rich, mature and performant library which has been used in production at Google since 2010. Ceres Solver can solve two kinds of problems. 1. Non-linear Least Squares problems with bounds constraints. 2. General unconstrained optimization problems. http://ceres-solver.org/ Added: head/math/ceres-solver/ head/math/ceres-solver/Makefile (contents, props changed) head/math/ceres-solver/distinfo (contents, props changed) head/math/ceres-solver/pkg-descr (contents, props changed) head/math/ceres-solver/pkg-plist (contents, props changed) Modified: head/math/Makefile (contents, props changed) Modified: head/math/Makefile ============================================================================== --- head/math/Makefile Sat Oct 15 21:30:37 2016 (r424033) +++ head/math/Makefile Sat Oct 15 23:53:45 2016 (r424034) @@ -107,6 +107,7 @@ SUBDIR += carve SUBDIR += cblas SUBDIR += ccmath + SUBDIR += ceres-solver SUBDIR += cgal SUBDIR += chaco SUBDIR += chryzodus Added: head/math/ceres-solver/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/math/ceres-solver/Makefile Sat Oct 15 23:53:45 2016 (r424034) @@ -0,0 +1,109 @@ +# $FreeBSD$ + +PORTNAME= ceres-solver +DISTVERSION= 1.12.0rc1 +CATEGORIES= math + +MAINTAINER= jbeich@FreeBSD.org +COMMENT= Nonlinear least squares minimizer + +LICENSE= BSD3CLAUSE +LICENSE_FILE= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= eigen>=3.2.2:math/eigen3 +LIB_DEPENDS= libglog.so:devel/glog +RUN_DEPENDS:= ${BUILD_DEPENDS:Meigen*} + +USES= cmake:outsource compiler:${OPENMP}c++11-lib localbase shebangfix +USE_GITHUB= yes +USE_LDCONFIG= yes +SHEBANG_FILES= examples/slam/pose_graph_*/plot_results.py \ + scripts/make_docs.py +CMAKE_ARGS= -DCXX11=on -DBUILD_SHARED_LIBS=on +LDFLAGS+= -Wl,--as-needed # -lccolamd -lcholmod -lrt from suitesparse +PLIST_SUB= VERSION=${PORTVERSION:R} +EXAMPLESDIR= ${PREFIX}/share/examples/${PORTNAME:S/-solver//} +DOCSDIR= ${PREFIX}/share/doc/${PORTNAME:S/-solver//} +PORTDOCS= * +PORTEXAMPLES= * + +OPTIONS_DEFINE= CUSTOM_BLAS EXAMPLES DOCS GFLAGS LAPACK OPENMP SCHUR TEST +OPTIONS_DEFAULT=CUSTOM_BLAS NETLIB OPENMP SCHUR ${OPTIONS_GROUP_SPARSE} +OPTIONS_RADIO= LAPACK +OPTIONS_RADIO_LAPACK= ATLAS GOTOBLAS NETLIB OPENBLAS +OPTIONS_GROUP= SPARSE +OPTIONS_GROUP_SPARSE= CXSPARSE EIGENSPARSE SUITESPARSE + +CUSTOM_BLAS_DESC= Handcoded BLAS routines instead of Eigen +CUSTOM_BLAS_CMAKE_BOOL= CUSTOM_BLAS + +DOCS_BUILD_DEPENDS= sphinx-build:textproc/py-sphinx +DOCS_USES= python:build +DOCS_CMAKE_BOOL= BUILD_DOCUMENTATION + +EXAMPLES_CMAKE_BOOL= BUILD_EXAMPLES +EXAMPLES_IMPLIES= GFLAGS + +GFLAGS_DESC= Google Flags support +GFLAGS_LIB_DEPENDS= libgflags.so:devel/gflags +GFLAGS_CMAKE_BOOL= GFLAGS + +OPENMP_USES= compiler:openmp +OPENMP_CMAKE_BOOL= OPENMP +OPENMP_VARS= OPENMP=gcc- # XXX ports/210337 + +SCHUR_DESC= Fixed-size schur specializations +SCHUR_CMAKE_BOOL= SCHUR_SPECIALIZATIONS + +# XXX Unbundle googletest/googlemock +TEST_CMAKE_BOOL= BUILD_TESTING +TEST_TEST_TARGET= test ARGS="-V" +TEST_IMPLIES= GFLAGS +# XXX Move to USES=cmake +TEST_VARS= TEST_WRKSRC="${CONFIGURE_WRKSRC}" + +LAPACK_DESC= Linear Algebra PACKage +LAPACK_USES= fortran # LDFLAGS +LAPACK_CMAKE_ON= -DBLAS_LIBRARIES="${BLASLIB}" -DLAPACK_LIBRARIES="${LAPACKLIB}" +LAPACK_CMAKE_BOOL= LAPACK +ATLAS_USES= blaslapack:atlas +ATLAS_CMAKE_ARGS= -DBLA_VENDOR="ATLAS" +ATLAS_IMPLIES= LAPACK +GOTOBLAS_DESC= Goto blas implementation +GOTOBLAS_CMAKE_ARGS= -DBLA_VENDOR="Goto" +GOTOBLAS_IMPLIES= LAPACK +GOTOBLAS_USES= blaslapack:gotoblas +NETLIB_USES= blaslapack:netlib +NETLIB_CMAKE_ARGS= -DBLA_VENDOR="Generic" +NETLIB_IMPLIES= LAPACK +OPENBLAS_USES= blaslapack:openblas +OPENBLAS_CMAKE_ARGS= -DBLA_VENDOR="OpenBLAS" +OPENBLAS_IMPLIES= LAPACK + +SPARSE_DESC= Sparse linear algebra library +CXSPARSE_DESC= CXSparse support +CXSPARSE_LIB_DEPENDS= libcxsparse.so:math/suitesparse +CXSPARSE_CMAKE_ON= -DCXSPARSE_INCLUDE_DIR="${LOCALBASE}/include/suitesparse" +CXSPARSE_CMAKE_BOOL= CXSPARSE +EIGENSPARSE_DESC= Eigen support +EIGENSPARSE_CMAKE_BOOL= EIGENSPARSE +SUITESPARSE_DESC= SuiteSparse support +SUITESPARSE_LIB_DEPENDS=libspqr.so:math/suitesparse +SUITESPARSE_CMAKE_BOOL= SUITESPARSE +SUITESPARSE_IMPLIES= LAPACK + +post-patch-DOCS-on: + @${REINPLACE_CMD} -e 's,python,${PYTHON_CMD:T},' \ + ${WRKSRC}/docs/source/CMakeLists.txt + +pre-install-TEST-on: do-test + +post-install-EXAMPLES-on: +# Copy examples (stripped), their source and sample data but not tests programs + (cd ${WRKSRC}/examples && ${COPYTREE_SHARE} . ${STAGEDIR}${EXAMPLESDIR}) + (cd ${WRKSRC} && ${COPYTREE_SHARE} data ${STAGEDIR}${EXAMPLESDIR}) + (cd ${BUILD_WRKSRC} && ${COPYTREE_SHARE} bin ${STAGEDIR}${EXAMPLESDIR}) + @${RM} -r ${STAGEDIR}${EXAMPLESDIR}/bin/*_test + -@${STRIP_CMD} ${STAGEDIR}${EXAMPLESDIR}/bin/* # may fail for non-root + +.include <bsd.port.mk> Added: head/math/ceres-solver/distinfo ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/math/ceres-solver/distinfo Sat Oct 15 23:53:45 2016 (r424034) @@ -0,0 +1,3 @@ +TIMESTAMP = 1474949998 +SHA256 (ceres-solver-ceres-solver-1.12.0rc1_GH0.tar.gz) = 71c4af1d9dc434327b4af509d9a5cd4f509cc60c7f349bc0fac20ca51c02569b +SIZE (ceres-solver-ceres-solver-1.12.0rc1_GH0.tar.gz) = 3413229 Added: head/math/ceres-solver/pkg-descr ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/math/ceres-solver/pkg-descr Sat Oct 15 23:53:45 2016 (r424034) @@ -0,0 +1,9 @@ +Ceres Solver is an open source C++ library for modeling and solving +large, complicated optimization problems. It is a feature rich, mature +and performant library which has been used in production at Google +since 2010. Ceres Solver can solve two kinds of problems. + +1. Non-linear Least Squares problems with bounds constraints. +2. General unconstrained optimization problems. + +WWW: http://ceres-solver.org/ Added: head/math/ceres-solver/pkg-plist ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/math/ceres-solver/pkg-plist Sat Oct 15 23:53:45 2016 (r424034) @@ -0,0 +1,52 @@ +include/ceres/autodiff_cost_function.h +include/ceres/autodiff_local_parameterization.h +include/ceres/c_api.h +include/ceres/ceres.h +include/ceres/conditioned_cost_function.h +include/ceres/cost_function.h +include/ceres/cost_function_to_functor.h +include/ceres/covariance.h +include/ceres/crs_matrix.h +include/ceres/cubic_interpolation.h +include/ceres/dynamic_autodiff_cost_function.h +include/ceres/dynamic_cost_function_to_functor.h +include/ceres/dynamic_numeric_diff_cost_function.h +include/ceres/fpclassify.h +include/ceres/gradient_checker.h +include/ceres/gradient_problem.h +include/ceres/gradient_problem_solver.h +include/ceres/internal/autodiff.h +include/ceres/internal/config.h +include/ceres/internal/disable_warnings.h +include/ceres/internal/eigen.h +include/ceres/internal/fixed_array.h +include/ceres/internal/macros.h +include/ceres/internal/manual_constructor.h +include/ceres/internal/numeric_diff.h +include/ceres/internal/port.h +include/ceres/internal/reenable_warnings.h +include/ceres/internal/scoped_ptr.h +include/ceres/internal/variadic_evaluate.h +include/ceres/iteration_callback.h +include/ceres/jet.h +include/ceres/local_parameterization.h +include/ceres/loss_function.h +include/ceres/normal_prior.h +include/ceres/numeric_diff_cost_function.h +include/ceres/numeric_diff_options.h +include/ceres/ordered_groups.h +include/ceres/problem.h +include/ceres/rotation.h +include/ceres/sized_cost_function.h +include/ceres/solver.h +include/ceres/types.h +include/ceres/version.h +lib/cmake/Ceres/CeresConfig.cmake +lib/cmake/Ceres/CeresConfigVersion.cmake +lib/cmake/Ceres/CeresTargets-%%CMAKE_BUILD_TYPE%%.cmake +lib/cmake/Ceres/CeresTargets.cmake +lib/cmake/Ceres/FindEigen.cmake +lib/cmake/Ceres/FindGlog.cmake +lib/libceres.so +lib/libceres.so.1 +lib/libceres.so.%%VERSION%%
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201610152353.u9FNrjpR086787>