diff options
Diffstat (limited to 'dev-python/cvxopt')
-rw-r--r-- | dev-python/cvxopt/Manifest | 3 | ||||
-rw-r--r-- | dev-python/cvxopt/cvxopt-1.1.9.ebuild | 103 | ||||
-rw-r--r-- | dev-python/cvxopt/metadata.xml | 23 |
3 files changed, 129 insertions, 0 deletions
diff --git a/dev-python/cvxopt/Manifest b/dev-python/cvxopt/Manifest new file mode 100644 index 000000000000..1dcb223bee77 --- /dev/null +++ b/dev-python/cvxopt/Manifest @@ -0,0 +1,3 @@ +DIST cvxopt-1.1.9.tar.gz 1872932 BLAKE2B 50990b8432d32db68580243a5f547a4be2fd36f23196b1505e90eccef9fab5526ea485bf9f81539842229eb276345edce12b064065a1e13125d5adca0de07e8c SHA512 bb0982cd1489157df4c7cd0dd92bf83b1692dc3a27d6b9a7a465dda9f9daea4ea5ef69e48642a879d036679bd0b0fe0dfd782433ce4cc570e90e11823733e58b +EBUILD cvxopt-1.1.9.ebuild 2889 BLAKE2B 484387bd64feb960ae07b2203d85744adfb10b4b824476603878bc6c07b6ea722d2e9bb42380783f07f540f45f827796a42ff3ce8667827e3fb60d6062933863 SHA512 bddc850e41b76f573724b4dc2ec355b8d5ce48426f56faa9d7eb685e1d1a687e68ebf77a0f1cb4d80a36a77c003d49bd9bd75a322cb4c294b14ae962189f14ba +MISC metadata.xml 805 BLAKE2B cfeb4a97635e28a1fe93b26897950dfe13268aef349647c5ca7455597e679ab7e79d21daf1b54f4c8855624abb8286676aff2da381782dd3b42b0a587f9396b2 SHA512 52bdd0bdc12807d7a3d2d820af3167b0768225167377bdf42e5f7218d5154deab2bee8bbcfdd173301e4b1d87f268bfb4bf6c1f884113c2d1f3fbf7fa1dc2ab6 diff --git a/dev-python/cvxopt/cvxopt-1.1.9.ebuild b/dev-python/cvxopt/cvxopt-1.1.9.ebuild new file mode 100644 index 000000000000..500e9f0faed1 --- /dev/null +++ b/dev-python/cvxopt/cvxopt-1.1.9.ebuild @@ -0,0 +1,103 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python2_7 python3_{4,5,6} ) + +inherit distutils-r1 toolchain-funcs + +DESCRIPTION="Python package for convex optimization" +HOMEPAGE="http://cvxopt.org/" +SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" +IUSE="doc +dsdp examples fftw +glpk gsl" + +RDEPEND=" + virtual/blas + virtual/lapack + sci-libs/amd:0= + sci-libs/cholmod:0= + sci-libs/colamd:0= + sci-libs/suitesparseconfig:0= + sci-libs/umfpack:0= + dsdp? ( sci-libs/dsdp:0= ) + fftw? ( sci-libs/fftw:3.0= ) + glpk? ( >=sci-mathematics/glpk-4.49:0= ) + gsl? ( sci-libs/gsl:0= )" +DEPEND="${RDEPEND} + virtual/pkgconfig + doc? ( dev-python/sphinx )" + +python_prepare_all(){ + pkg_libs() { + $(tc-getPKG_CONFIG) --libs-only-l $* | \ + sed -e 's:[ ]-l*\(pthread\|m\)\([ ]\|$\)::g' -e 's:[ ]*$::' | \ + tr ' ' '\n' | sort -u | sed -e "s:^-l\(.*\):\1:g" | \ + tr '\n' ';' | sed -e 's:;$::' + } + pkg_libdir() { + $(tc-getPKG_CONFIG) --libs-only-L $* | \ + sed -e 's:[ ]*$::' | \ + tr ' ' '\n' | sort -u | sed -e "s:^-L\(.*\):\1:g" | \ + tr '\n' ';' | sed -e 's:;$::' + } + pkg_incdir() { + $(tc-getPKG_CONFIG) --cflags-only-I $* | \ + sed -e 's:[ ]*$::' | \ + tr ' ' '\n' | sort -u | sed -e "s:^-I\(.*\):\1:g" | \ + tr '\n' ';' | sed -e 's:,$::' + } + + # mandatory dependencies + export CVXOPT_BLAS_LIB="$(pkg_libs blas)" + export CVXOPT_BLAS_LIB_DIR="$(pkg_libdir blas)" + export CVXOPT_LAPACK_LIB="$(pkg_libs lapack)" + export CVXOPT_SUITESPARSE_LIB_DIR="$(pkg_libdir umfpack cholmod amd colamd suitesparseconfig)" + export CVXOPT_SUITESPARSE_INC_DIR="$(pkg_incdir umfpack cholmod amd colamd suitesparseconfig)" + + # optional dependencies + use dsdp && \ + export CVXOPT_BUILD_DSDP=1 && \ + export CVXOPT_DSDP_LIB_DIR="${EPREFIX}/usr/$(get_libdir)" && \ + export CVXOPT_DSDP_INC_DIR="${EPREFIX}/usr/include" + + use fftw && \ + export CVXOPT_BUILD_FFTW=1 && \ + export CVXOPT_FFTW_LIB_DIR="$(pkg_libdir fftw3)" && \ + export CVXOPT_FFTW_INC_DIR="$(pkg_incdir fftw3)" + + use glpk && \ + export CVXOPT_BUILD_GLPK=1 && \ + export CVXOPT_GLPK_LIB_DIR="${EPREFIX}/usr/$(get_libdir)" && \ + export CVXOPT_GLPK_INC_DIR="${EPREFIX}/usr/include" + + use gsl && \ + export CVXOPT_BUILD_GSL=1 && \ + export CVXOPT_GSL_LIB_DIR="$(pkg_libdir gsl)" && \ + export CVXOPT_GSL_INC_DIR="$(pkg_incdir gsl)" + + distutils-r1_python_prepare_all +} + +python_compile_all() { + use doc && VARTEXFONTS="${T}/fonts" emake -C doc -B html +} + +python_test() { + PYTHONPATH="${BUILD_DIR}"/lib nosetests -v || die +} + +python_install_all() { + use doc && HTML_DOCS=( doc/build/html/. ) + insinto /usr/share/doc/${PF} + distutils-r1_python_install_all + if use examples; then + insinto /usr/share/doc/${PF} + doins -r examples + docompress -x /usr/share/doc/${PF}/examples + fi +} diff --git a/dev-python/cvxopt/metadata.xml b/dev-python/cvxopt/metadata.xml new file mode 100644 index 000000000000..73822eb2153b --- /dev/null +++ b/dev-python/cvxopt/metadata.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>sci-mathematics@gentoo.org</email> + <name>Gentoo Mathematics Project</name> + </maintainer> + <longdescription lang="en"> + CVXOPT is a software for convex optimization based on + the Python programming language. Its main purpose is to make the + development of software for convex optimization applications + straightforward. +</longdescription> + <use> + <flag name="dsdp">Use interior point library + <pkg>sci-libs/dsdp</pkg></flag> + <flag name="glpk">Use GNU Linear Programming Kit + <pkg>sci-mathematics/glpk</pkg></flag> + </use> + <upstream> + <remote-id type="github">cvxopt/cvxopt</remote-id> + </upstream> +</pkgmetadata> |