diff options
Diffstat (limited to 'sci-libs/ceres-solver')
-rw-r--r-- | sci-libs/ceres-solver/Manifest | 1 | ||||
-rw-r--r-- | sci-libs/ceres-solver/ceres-solver-1.11.0.ebuild | 95 | ||||
-rw-r--r-- | sci-libs/ceres-solver/metadata.xml | 1 |
3 files changed, 97 insertions, 0 deletions
diff --git a/sci-libs/ceres-solver/Manifest b/sci-libs/ceres-solver/Manifest index e22fd30a62fc..f25049fcfeb8 100644 --- a/sci-libs/ceres-solver/Manifest +++ b/sci-libs/ceres-solver/Manifest @@ -1,2 +1,3 @@ +DIST ceres-solver-1.11.0.tar.gz 3944965 SHA256 4d666cc33296b4c5cd77bad18ffc487b3223d4bbb7d1dfb342ed9a87dc9af844 SHA512 4941538e6ec31e2ee56a24446748dc5d6dd02ba9c151e4320a2db943fd1a377455b0ee23d56780e1f05322b30e25057145c540fde901d7fd2244ec630a73527c WHIRLPOOL 82e8c9f8fcf66f20dea28c5ddcfc4ac030a20d86c498eda487899b090fb67e7e44e3e1a76d3b689a409860c83713005e4f889814707d25cf298892ae9ea78890 DIST ceres-solver-1.8.0.tar.gz 3506384 SHA256 8ee53241930622b74946201123cd38231161878caacf6c30a3bf1c68b24d79af SHA512 114ab5e8e40cffb325c69b70b546697d90833a3f82239fc901fb0d87a9d98b376e2e042b768fd0252d8412f3d301adfb7d992202a0e149d037bea86a08f8c6db WHIRLPOOL cf966a02dced9b672d6aa8a2aecf0aab71bb718bbc5f13acdab2641aed4622c08909eaae6fde1ea91d3e2d0046131692e2ce65969dcbd431ff372482540e4d31 DIST ceres-solver-1.9.0.tar.gz 3793265 SHA256 30ac0729249f908afe80cb6fd06ae6d037f25a60d9fac54f61344389adab9c1a SHA512 8a991eba3bf1e8fe34ad87291af4ab2091e1026dc1eb83a5e5e40913035744587021592c613b5c5077b2ca848bd61175788933996b91f3c6ef4a40309606691d WHIRLPOOL 9187d217f9283f4575d8633ec7cba4d6868624a178fae12e9204f0989554c7b3e9b217b8890288382325b871ac59038e08dd9255be252ae8570c71a4485c1481 diff --git a/sci-libs/ceres-solver/ceres-solver-1.11.0.ebuild b/sci-libs/ceres-solver/ceres-solver-1.11.0.ebuild new file mode 100644 index 000000000000..3be25f7f0016 --- /dev/null +++ b/sci-libs/ceres-solver/ceres-solver-1.11.0.ebuild @@ -0,0 +1,95 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=6 + +PYTHON_COMPAT=( python2_7 python3_{4,5} ) + +inherit cmake-multilib eutils python-any-r1 toolchain-funcs + +DESCRIPTION="Nonlinear least-squares minimizer" +HOMEPAGE="http://ceres-solver.org/" +SRC_URI="${HOMEPAGE}/${P}.tar.gz" + +LICENSE="sparse? ( BSD ) !sparse? ( LGPL-2.1 ) cxsparse? ( BSD )" +SLOT="0/1" +KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" + +IUSE="cxsparse c++11 doc examples gflags lapack openmp +schur sparse test" +REQUIRED_USE="test? ( gflags ) sparse? ( lapack ) doc? ( ${PYTHON_REQUIRED_USE} )" + +RDEPEND=" + dev-cpp/glog[gflags?] + cxsparse? ( sci-libs/cxsparse:0= ) + lapack? ( virtual/lapack ) + sparse? ( + sci-libs/amd:0= + sci-libs/camd:0= + sci-libs/ccolamd:0= + sci-libs/cholmod:0= + sci-libs/colamd:0= + sci-libs/spqr:0= )" + +DEPEND="${RDEPEND} + dev-cpp/eigen:3 + doc? ( dev-python/sphinx dev-python/sphinx_rtd_theme ) + lapack? ( virtual/pkgconfig )" + +pkg_pretend() { + if [[ ${MERGE_TYPE} != binary ]] && use openmp; then + if [[ $(tc-getCXX) == *g++* ]] && ! tc-has-openmp; then + ewarn "OpenMP is not available in your current selected gcc" + die "need openmp capable gcc" + fi + fi +} + +pkg_setup() { + use doc && python-any-r1_pkg_setup +} + +src_prepare() { + # search paths work for prefix + sed -e "s:/usr:${EPREFIX}/usr:g" \ + -i cmake/*.cmake || die + + # remove Werror + sed -e 's/-Werror=(all|extra)//g' \ + -i CMakeLists.txt || die + + # respect gentoo doc install directory + sed -e "s:share/doc/ceres:share/doc/${PF}:" \ + -i docs/source/CMakeLists.txt || die + cmake-utils_src_prepare +} + +src_configure() { + # CUSTOM_BLAS=OFF EIGENSPARSE=OFF MINIGLOG=OFF CXX11=OFF + local mycmakeargs=( + -DBUILD_SHARED_LIBS=ON + -DBUILD_EXAMPLES=OFF + -DENABLE_TESTING="$(usex test)" + -DCXX11="$(usex c++11)" + -DBUILD_DOCUMENTATION="$(usex doc)" + -DGFLAGS="$(usex gflags)" + -DLAPACK="$(usex lapack)" + -DOPENMP="$(usex openmp)" + -DSCHUR_SPECIALIZATIONS="$(usex schur)" + -DCXSPARSE="$(usex cxsparse)" + -DSUITESPARSE="$(usex sparse)" + ) + use sparse || use cxsparse || mycmakeargs+=( -DEIGENSPARSE=ON ) + cmake-multilib_src_configure +} + +src_install() { + cmake-multilib_src_install + dodoc README.md VERSION + + if use examples; then + insinto /usr/share/doc/${PF} + docompress -x /usr/share/doc/${PF}/examples + doins -r examples data + fi +} diff --git a/sci-libs/ceres-solver/metadata.xml b/sci-libs/ceres-solver/metadata.xml index 0997e0d2a9cd..e08063b30f26 100644 --- a/sci-libs/ceres-solver/metadata.xml +++ b/sci-libs/ceres-solver/metadata.xml @@ -30,5 +30,6 @@ packages from SuiteSparse</flag> <flag name="gflags">Use <pkg>dev-cpp/gflags</pkg> for flag parsing</flag> <flag name="protobuf">Use <pkg>dev-libs/protobuf</pkg> to encode structured data</flag> + <flag name="c++11">Build ceres-solver using the C++11 standard</flag> </use> </pkgmetadata> |