summaryrefslogtreecommitdiff
path: root/sci-libs/ceres-solver
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /sci-libs/ceres-solver
reinit the tree, so we can have metadata
Diffstat (limited to 'sci-libs/ceres-solver')
-rw-r--r--sci-libs/ceres-solver/Manifest7
-rw-r--r--sci-libs/ceres-solver/ceres-solver-1.11.0.ebuild96
-rw-r--r--sci-libs/ceres-solver/ceres-solver-1.12.0.ebuild96
-rw-r--r--sci-libs/ceres-solver/metadata.xml34
4 files changed, 233 insertions, 0 deletions
diff --git a/sci-libs/ceres-solver/Manifest b/sci-libs/ceres-solver/Manifest
new file mode 100644
index 000000000000..b8404e2c9b45
--- /dev/null
+++ b/sci-libs/ceres-solver/Manifest
@@ -0,0 +1,7 @@
+DIST ceres-solver-1.11.0.tar.gz 3944965 SHA256 4d666cc33296b4c5cd77bad18ffc487b3223d4bbb7d1dfb342ed9a87dc9af844 SHA512 4941538e6ec31e2ee56a24446748dc5d6dd02ba9c151e4320a2db943fd1a377455b0ee23d56780e1f05322b30e25057145c540fde901d7fd2244ec630a73527c WHIRLPOOL 82e8c9f8fcf66f20dea28c5ddcfc4ac030a20d86c498eda487899b090fb67e7e44e3e1a76d3b689a409860c83713005e4f889814707d25cf298892ae9ea78890
+DIST ceres-solver-1.12.0.tar.gz 5008861 SHA256 745bfed55111e086954126b748eb9efe20e30be5b825c6dec3c525cf20afc895 SHA512 485eece0471cf05d31b5dd7e133e23115a334a4ed557a3c1bd0b715a063f840738af8f507e935522a0dae90ce6851984c0002a25e9b445b90889792f68a05571 WHIRLPOOL 80d884cd62b80b80927c451a2bea0d02dfe120acd98cfa8b6d1b2b9adf74a50242c7dd25e0d445d6454a919c03fc2e64479c7abea100231bcaad5c4b1ff541bc
+EBUILD ceres-solver-1.11.0.ebuild 2390 SHA256 ca8fb5a8f45136317a867bd989dc3379d484b2ce29501e02c2fd937bd52492c3 SHA512 4f85570276c40e2c6800a429b26c7b3769c715181bc1242ef3e0d77fbe9292086061d1f804c642a56737d69d5d951a5852cf546a2e0a15df02eec9f0067e6ebe WHIRLPOOL 450ff257dd0e5d6ea7614767197f0e90a148eca71bdbbd65e88cdc9ba80e89a8fd32bccb318f7cd9e2ef1bf5d57f6d1443696d9f8bf75731481d4d66d4b54a73
+EBUILD ceres-solver-1.12.0.ebuild 2399 SHA256 6942ca6c66d515dab345e7fe2ac06abbf0b51b1a92358f6beab5df823b2811af SHA512 258eb56d4aa6d4ad9587cc825b18abc8cc90a921ba1733d6d18094704386ddda19aee9260c7dbc21d9f9bd9d8f9b55a4cacd2437b798be73e9b80b7c21dae239 WHIRLPOOL bed9968397096abc27e7cd114128e921ad1829bc8070c2628ef6b4f0cc5ffe273f4790f73e196caafd5ffa66c31366abd3c6eb52ce6db36216e23b19943780bf
+MISC ChangeLog 2896 SHA256 f16ad4cf0dc9688c12377e4af9752c445a695d76ecd2e90c2d8518e1684c9585 SHA512 8f50844626d6b1065f1ce31daa18e0d168f5df6aa6f24cb1a1ae102e4d66bd0d1615174201f617c0fa48ee5e663c9dcea759e5fc91140ea22dbe2b411cb4b9da WHIRLPOOL d0152859480b9fea5ca6a3bef8129ff221e59e1d5725e2b96a4f239a67612974725aef80ddec274a8b069050ea57d8f0415623757cb5ad9c1959bcdc8ead0066
+MISC ChangeLog-2015 2001 SHA256 89f5dee254f7e114465bda52db77ed7810c427e62f9a18283d93f70e2f6d6d99 SHA512 ac35af703912b19697390c6f48ef3dbc08c9e787c913469df056a25dc6dc691a0395ee95845b56eb213d0c327dbd60f52888e69570b9f990086d4841609ff9e2 WHIRLPOOL 6675fa854fa217b84fc8e9a1b9c83e342b8b34d94d5ac210fe5581dac64a749f09ee2580b42d8cb588fce0cb94d202ae15bd0f91cfee09566ca4d162b10c08c3
+MISC metadata.xml 1525 SHA256 67dc2f63f3b707d750481c23d8ac5a9213238735401e43472d432cea9c04941f SHA512 4c95aef23ce327f9cd11b53638e1b6485eb789cd296ad8a571278b65c9001465f56c97b97db6e2c4a4ed76336f0e33684958adef593d74193cb73930e7ea5ad2 WHIRLPOOL a66358aa3c44a29d855be15d9c636599786445e7a663a8da4be035953397594ee56f2998382312dcda0ae73701ce11d4f53df007b633b50d10d1c07d84a027f1
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..f9643b670583
--- /dev/null
+++ b/sci-libs/ceres-solver/ceres-solver-1.11.0.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+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 ) abi_x86_32? ( !sparse !lapack )"
+
+RDEPEND="
+ dev-cpp/glog[gflags?,${MULTILIB_USEDEP}]
+ 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 )
+ ${PYTHON_DEPS}"
+
+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/ceres-solver-1.12.0.ebuild b/sci-libs/ceres-solver/ceres-solver-1.12.0.ebuild
new file mode 100644
index 000000000000..d9c8044cdb33
--- /dev/null
+++ b/sci-libs/ceres-solver/ceres-solver-1.12.0.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 python3_{4,5,6} )
+
+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 ) abi_x86_32? ( !sparse !lapack )"
+
+RDEPEND="
+ dev-cpp/glog[gflags?,${MULTILIB_USEDEP}]
+ 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=[metis]
+ 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 )
+ ${PYTHON_DEPS}"
+
+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
new file mode 100644
index 000000000000..42d1cafcb8bf
--- /dev/null
+++ b/sci-libs/ceres-solver/metadata.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci@gentoo.org</email>
+ <name>Gentoo Science Project</name>
+ </maintainer>
+ <longdescription lang="en">
+ Ceres Solver is a portable C++ library that allows for
+ modeling and solving large complicated nonlinear least squares
+ problems. It features:
+ * 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
+</longdescription>
+ <use>
+ <flag name="cxsparse">Enable simple support for sparse matrix algebra from
+ <pkg>sci-libs/cxsparse</pkg> with no LAPACK dependencies</flag>
+ <flag name="schur">Enable fixed-size schur specializations (disable if
+ binary size is an issue)</flag>
+ <flag name="sparse">Enable support for sparse matrix algebra with various
+ packages from SuiteSparse</flag>
+ <flag name="gflags">Use <pkg>dev-cpp/gflags</pkg> for flag parsing</flag>
+ <flag name="c++11">Build ceres-solver using the C++11 standard</flag>
+ </use>
+</pkgmetadata>