diff options
author | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 13:49:04 -0700 |
---|---|---|
committer | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 17:38:18 -0700 |
commit | 56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch) | |
tree | 3f91093cdb475e565ae857f1c5a7fd339e2d781e /sci-libs/ceres-solver | |
download | gentoo-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/Manifest | 2 | ||||
-rw-r--r-- | sci-libs/ceres-solver/ceres-solver-1.8.0.ebuild | 80 | ||||
-rw-r--r-- | sci-libs/ceres-solver/ceres-solver-1.9.0.ebuild | 97 | ||||
-rw-r--r-- | sci-libs/ceres-solver/files/ceres-solver-1.9.0-underlink.patch | 13 | ||||
-rw-r--r-- | sci-libs/ceres-solver/metadata.xml | 31 |
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> |