summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /sci-libs/ceres-solver
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'sci-libs/ceres-solver')
-rw-r--r--sci-libs/ceres-solver/Manifest2
-rw-r--r--sci-libs/ceres-solver/ceres-solver-1.8.0.ebuild80
-rw-r--r--sci-libs/ceres-solver/ceres-solver-1.9.0.ebuild97
-rw-r--r--sci-libs/ceres-solver/files/ceres-solver-1.9.0-underlink.patch13
-rw-r--r--sci-libs/ceres-solver/metadata.xml31
5 files changed, 223 insertions, 0 deletions
diff --git a/sci-libs/ceres-solver/Manifest b/sci-libs/ceres-solver/Manifest
new file mode 100644
index 000000000000..e22fd30a62fc
--- /dev/null
+++ b/sci-libs/ceres-solver/Manifest
@@ -0,0 +1,2 @@
+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.8.0.ebuild b/sci-libs/ceres-solver/ceres-solver-1.8.0.ebuild
new file mode 100644
index 000000000000..e08cf155e2dc
--- /dev/null
+++ b/sci-libs/ceres-solver/ceres-solver-1.8.0.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit cmake-utils eutils multilib
+
+DESCRIPTION="Nonlinear least-squares minimizer"
+HOMEPAGE="https://code.google.com/p/ceres-solver/"
+SRC_URI="https://${PN}.googlecode.com/files/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0/1"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="cxsparse doc examples gflags lapack openmp protobuf +schur sparse static-libs test"
+REQUIRED_USE="test? ( gflags ) sparse? ( lapack )"
+
+RDEPEND="
+ dev-cpp/glog[gflags?]
+ cxsparse? ( sci-libs/cxsparse )
+ lapack? ( virtual/lapack )
+ protobuf? ( dev-libs/protobuf )
+ sparse? (
+ sci-libs/amd
+ sci-libs/camd
+ sci-libs/ccolamd
+ sci-libs/cholmod
+ sci-libs/colamd
+ sci-libs/spqr )"
+
+DEPEND="${RDEPEND}
+ dev-cpp/eigen:3
+ lapack? ( virtual/pkgconfig )
+ doc? ( dev-python/sphinx )"
+
+src_prepare() {
+ # prefix love
+ sed -i \
+ -e "s:/usr:${EPREFIX}/usr:g" \
+ cmake/*.cmake || die
+
+ # remove Werror and
+ sed -i \
+ -e 's/-Werror//g' \
+ CMakeLists.txt || die
+
+ # respect gentoo doc dir
+ sed -i \
+ -e "s:share/doc/ceres:share/doc/${PF}:" \
+ docs/source/CMakeLists.txt || die
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_SHARED_LIBS=ON
+ -DBUILD_EXAMPLES=OFF
+ $(cmake-utils_use_enable test TESTING)
+ $(cmake-utils_use doc BUILD_DOCUMENTATION)
+ $(cmake-utils_use gflags GFLAGS)
+ $(cmake-utils_use lapack LAPACK)
+ $(cmake-utils_use openmp OPENMP)
+ $(cmake-utils_use protobuf PROTOBUF)
+ $(cmake-utils_use schur SCHUR_SPECIALIZATIONS)
+ $(cmake-utils_use cxsparse CXSPARSE)
+ $(cmake-utils_use sparse SUITESPARSE)
+ )
+ cmake-utils_src_configure
+}
+
+src_install() {
+ cmake-utils_src_install
+ dodoc README 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.9.0.ebuild b/sci-libs/ceres-solver/ceres-solver-1.9.0.ebuild
new file mode 100644
index 000000000000..80e0ea0f8617
--- /dev/null
+++ b/sci-libs/ceres-solver/ceres-solver-1.9.0.ebuild
@@ -0,0 +1,97 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit cmake-utils eutils multilib python-any-r1 toolchain-funcs
+
+DESCRIPTION="Nonlinear least-squares minimizer"
+HOMEPAGE="http://ceres-solver.org/"
+SRC_URI="${HOMEPAGE}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0/1"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+
+IUSE="cxsparse doc examples gflags lapack openmp protobuf +schur sparse static-libs test"
+REQUIRED_USE="test? ( gflags ) sparse? ( lapack ) doc? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="
+ dev-cpp/glog[gflags?]
+ cxsparse? ( sci-libs/cxsparse:0= )
+ lapack? ( virtual/lapack )
+ protobuf? ( dev-libs/protobuf )
+ 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 )"
+
+PATCHES=( "${FILESDIR}"/${P}-underlink.patch )
+
+pkg_setup() {
+ # XXX: this looks like it should be used with BUILD_TYPE!=binary
+ if 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
+ use doc && python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ # search paths work for prefix
+ sed -i \
+ -e "s:/usr:${EPREFIX}/usr:g" \
+ cmake/*.cmake || die
+
+ # remove Werror
+ sed -i \
+ -e 's/-Werror//g' \
+ CMakeLists.txt || die
+
+ # respect gentoo doc install directory
+ sed -i \
+ -e "s:share/doc/ceres:share/doc/${PF}:" \
+ docs/source/CMakeLists.txt || die
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_SHARED_LIBS=ON
+ -DBUILD_EXAMPLES=OFF
+ $(cmake-utils_use_enable test TESTING)
+ $(cmake-utils_use doc BUILD_DOCUMENTATION)
+ $(cmake-utils_use gflags GFLAGS)
+ $(cmake-utils_use lapack LAPACK)
+ $(cmake-utils_use openmp OPENMP)
+ $(cmake-utils_use protobuf PROTOBUF)
+ $(cmake-utils_use schur SCHUR_SPECIALIZATIONS)
+ $(cmake-utils_use cxsparse CXSPARSE)
+ $(cmake-utils_use sparse SUITESPARSE)
+ )
+ cmake-utils_src_configure
+}
+
+src_install() {
+ cmake-utils_src_install
+ dodoc README 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/files/ceres-solver-1.9.0-underlink.patch b/sci-libs/ceres-solver/files/ceres-solver-1.9.0-underlink.patch
new file mode 100644
index 000000000000..00b005431687
--- /dev/null
+++ b/sci-libs/ceres-solver/files/ceres-solver-1.9.0-underlink.patch
@@ -0,0 +1,13 @@
+--- internal/ceres/CMakeLists.txt.orig 2014-06-05 08:45:55.031448944 -0700
++++ internal/ceres/CMakeLists.txt 2014-06-05 08:48:03.496344301 -0700
+@@ -146,8 +146,9 @@
+
+ SET(CERES_LIBRARY_PUBLIC_DEPENDENCIES ${GLOG_LIBRARIES})
+
+-IF (SUITESPARSE AND SUITESPARSE_FOUND)
++IF (SUITESPARSE AND SUITESPARSE_FOUND)
+ LIST(APPEND CERES_LIBRARY_PRIVATE_DEPENDENCIES ${SUITESPARSE_LIBRARIES})
++ LIST(APPEND CERES_LIBRARY_PUBLIC_DEPENDENCIES ${SUITESPARSE_LIBRARIES})
+ ENDIF (SUITESPARSE AND SUITESPARSE_FOUND)
+
+ IF (CXSPARSE AND CXSPARSE_FOUND)
diff --git a/sci-libs/ceres-solver/metadata.xml b/sci-libs/ceres-solver/metadata.xml
new file mode 100644
index 000000000000..c61f580793c1
--- /dev/null
+++ b/sci-libs/ceres-solver/metadata.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci</herd>
+<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="protobuf">Use <pkg>dev-libs/protobuf</pkg> to encode structured data</flag>
+</use>
+</pkgmetadata>