diff options
author | Sebastien Fabbro <bicatali@gentoo.org> | 2012-01-06 15:40:31 +0000 |
---|---|---|
committer | Sebastien Fabbro <bicatali@gentoo.org> | 2012-01-06 15:40:31 +0000 |
commit | 75e51a606bc828e8bfa9594e651df1d8cc5b4f68 (patch) | |
tree | 5f56897ffba00904cf48cac635a3f4b31afd0b97 /dev-python | |
parent | Marking mg-20110905 ppc for bug 386689 (diff) | |
download | gentoo-2-75e51a606bc828e8bfa9594e651df1d8cc5b4f68.tar.gz gentoo-2-75e51a606bc828e8bfa9594e651df1d8cc5b4f68.tar.bz2 gentoo-2-75e51a606bc828e8bfa9594e651df1d8cc5b4f68.zip |
Initial import to the main tree. Use system libs for cholmod and umfpack. Added a src_test and a few cleanups.
(Portage version: 2.1.10.41/cvs/Linux x86_64)
Diffstat (limited to 'dev-python')
-rw-r--r-- | dev-python/cvxopt/ChangeLog | 66 | ||||
-rw-r--r-- | dev-python/cvxopt/Manifest | 5 | ||||
-rw-r--r-- | dev-python/cvxopt/cvxopt-1.1.4.ebuild | 85 | ||||
-rw-r--r-- | dev-python/cvxopt/files/cvxopt-setup.patch | 150 | ||||
-rw-r--r-- | dev-python/cvxopt/metadata.xml | 17 |
5 files changed, 323 insertions, 0 deletions
diff --git a/dev-python/cvxopt/ChangeLog b/dev-python/cvxopt/ChangeLog new file mode 100644 index 000000000000..f4aaa9a6c142 --- /dev/null +++ b/dev-python/cvxopt/ChangeLog @@ -0,0 +1,66 @@ +# ChangeLog for dev-python/cvxopt +# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/dev-python/cvxopt/ChangeLog,v 1.1 2012/01/06 15:40:31 bicatali Exp $ + +*cvxopt-1.1.4 (06 Jan 2012) + + 06 Jan 2012; Sébastien Fabbro <bicatali@gentoo.org> +cvxopt-1.1.4.ebuild, + +files/cvxopt-setup.patch, +metadata.xml: + Initial import to the main tree. Use system libs for cholmod and umfpack. + Added a src_test and a few cleanups. + + 10 Jul 2011; Martin von Gagern (MvG) <Martin.vGagern@gmx.net> + cvxopt-1.1.3.ebuild: + Fix quoting issue. + + 20 Jun 2011; François Bissey <francois.bissey@canterbury.ac.nz> + -files/cvxopt-1.1.2-headers.patch, cvxopt-1.1.3.ebuild, + +files/cvxopt-1.1.3-blas.patch: + Delete useless file. Solve issue #67 by getting the right blas/lapack + libraries. + + 09 May 2011; Christopher Schwan <cschwan@students.uni-mainz.de> + -cvxopt-0.9.ebuild, -cvxopt-1.1.2.ebuild: + Removed old versions of cvxopt + + 29 Dec 2010; François Bissey <f.r.bissey@massey.ac.nz> cvxopt-1.1.3.ebuild: + better SRC_URI + +*cvxopt-1.1.3 (15 Oct 2010) + + 15 Oct 2010; François Bissey <f.r.bissey@massey.ac.nz> + +cvxopt-1.1.3.ebuild: + New version is out. + + 29 Sep 2010; François Bissey <f.r.bissey@massey.ac.nz> + cvxopt-1.1.2.ebuild: + Update SRC_URI + + 08 Sep 2010; François Bissey <f.r.bissey@massey.ac.nz> metadata.xml: + Fix metadata + + 10 Aug 2010; François Bissey <f.r.bissey@massey.ac.nz> + cvxopt-1.1.2.ebuild, +files/cvxopt-1.1.2-headers.patch: + Patch cvxopt-1.1.2 - see + http://trac.sagemath.org/sage_trac/ticket/6456#comment:82 + + 18 Jul 2010; Christopher Schwan <cschwan@students.uni-mainz.de> + cvxopt-0.9.ebuild, cvxopt-1.1.2.ebuild: + Replaced NEED_PYTHON with PYTHON_DEPEND because its now deprecated + + 26 Mar 2010; François Bissey <f.r.bissey@massey.ac.nz> cvxopt-0.9.ebuild, + cvxopt-1.1.2.ebuild: + keywording ~ppc + +*cvxopt-0.9 (12 Mar 2010) + + 12 Mar 2010; Christopher Schwan <cschwan@students.uni-mainz.de> + +cvxopt-0.9.ebuild: + Version bump: Old version (Needed for Sage) + +*cvxopt-1.1.2 (30 Dec 2009) + + 30 Dec 2009; Christopher Schwan <cschwan@students.uni-mainz.de> + +cvxopt-1.1.2.ebuild, +metadata.xml: + Initial import. Ebuild taken from sunrise overlay and updated to 1.1.2 + diff --git a/dev-python/cvxopt/Manifest b/dev-python/cvxopt/Manifest new file mode 100644 index 000000000000..0e871772ee6b --- /dev/null +++ b/dev-python/cvxopt/Manifest @@ -0,0 +1,5 @@ +AUX cvxopt-setup.patch 5067 RMD160 61346ab8ffc3f510f9a2197b4b7db05b66a712d1 SHA1 e7d1cf7dd227ffc75d31e37a83012c6fb13c1d2a SHA256 b48c06fc215205901a6b784be37b5a26e8cea1751a8a2c9c39f5fbf825adb9a0 +DIST cvxopt-1.1.4.tar.gz 2949975 RMD160 7e5ed85b27fd6298cd2919c7b914669baea3df98 SHA1 ee063b8d127a2e744f663ef1a9a37e1acdc55970 SHA256 1ac01ae510038f23751624301ec8d67bfda18a8a444b4f516c52d885a3c41792 +EBUILD cvxopt-1.1.4.ebuild 1792 RMD160 90f8d233e412d6be33a0d5eaf405762440765fb8 SHA1 af5b7bbb3e9f862455eef3677cbb2391799c74ef SHA256 8b46898b32f70c0a48b140f0d7dff3fd219136410148c2ddf69037667d037c15 +MISC ChangeLog 2171 RMD160 f943957a89ad00d5d756bd9f871eb28a5448835c SHA1 f05677ff5ce1f404290a6eb243c42c54d7d2317e SHA256 25a53aee87c20ab13297d00df2aac5e4e22e6a1efb5b8e8888ec5a0dd46afc07 +MISC metadata.xml 606 RMD160 9356ad8180dba16fff52b57865bcd696d34d495f SHA1 93a097dc5964302ae44ddaf91ce2be510ab7c1cc SHA256 7793793a25bb276c5ebb3df3355beb7cfdb5835edb806805f5d580e78d41518c diff --git a/dev-python/cvxopt/cvxopt-1.1.4.ebuild b/dev-python/cvxopt/cvxopt-1.1.4.ebuild new file mode 100644 index 000000000000..4360acb5208f --- /dev/null +++ b/dev-python/cvxopt/cvxopt-1.1.4.ebuild @@ -0,0 +1,85 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-python/cvxopt/cvxopt-1.1.4.ebuild,v 1.1 2012/01/06 15:40:31 bicatali Exp $ + +EAPI=4 + +SUPPORT_PYTHON_ABIS=1 +RESTRICT_PYTHON_ABIS="2.4" + +inherit distutils eutils + +DESCRIPTION="Python package for convex optimization" +HOMEPAGE="http://abel.ee.ucla.edu/cvxopt" +SRC_URI="http://abel.ee.ucla.edu/${PN}/${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/cblas + virtual/lapack + sci-libs/cholmod + sci-libs/umfpack + dsdp? ( sci-libs/dsdp ) + fftw? ( sci-libs/fftw:3.0 ) + glpk? ( sci-mathematics/glpk ) + gsl? ( sci-libs/gsl )" +DEPEND="${RDEPEND} + dev-util/pkgconfig + doc? ( dev-python/sphinx )" + +S="${WORKDIR}/${P}/src" + +src_prepare(){ + epatch "${FILESDIR}"/${PN}-setup.patch + rm -rf src/C/SuiteSparse*/ + + pkg_lib() { + local pylib=\'$(pkg-config --libs-only-l ${1} | sed \ + -e 's/^-l//' \ + -e "s/ -l/\',\'/g" \ + -e 's/.,.pthread//g' \ + -e "s: ::")\' + sed -i -e "s:\(libraries.*\)'${1}'\(.*\):\1${pylib}\2:g" setup.py + } + + use_cvx() { + if use ${1}; then + sed -i \ + -e "s/\(BUILD_${2^^} =\) 0/\1 1/" \ + setup.py || die + fi + } + + pkg_lib blas + pkg_lib cblas + pkg_lib lapack + use_cvx gsl && pkg_lib gsl + use_cvx fftw && pkg_lib fftw3 + use_cvx glpk + use_cvx dsdp + distutils_src_prepare +} + +src_compile() { + distutils_src_compile + use doc && emake -C "${WORKDIR}"/doc -B "${WORKDIR}"/html +} + +src_test() { + cd "${WORKDIR}"/${P}/examples/doc/chap8 + testing() { + PYTHONPATH="$(ls -d ${S}/build-${PYTHON_ABI}/lib.*)" "$(PYTHON)" lp.py + } + python_execute_function testing +} + +src_install() { + distutils_src_install + use doc && dohtml -r "${WORKDIR}"/${P}/html + insinto /usr/share/doc/${PF} + use examples && doins -r "${WORKDIR}"/${P}/examples +} diff --git a/dev-python/cvxopt/files/cvxopt-setup.patch b/dev-python/cvxopt/files/cvxopt-setup.patch new file mode 100644 index 000000000000..a628cdae9a3a --- /dev/null +++ b/dev-python/cvxopt/files/cvxopt-setup.patch @@ -0,0 +1,150 @@ +--- setup.py.orig 2012-01-06 04:59:53.000000000 +0000 ++++ setup.py 2012-01-06 06:21:48.000000000 +0000 +@@ -2,58 +2,58 @@ + from glob import glob + + # directory containing libblas and liblapack +-ATLAS_LIB_DIR = '/usr/lib' ++ATLAS_LIB_DIR = '' + + # Set to 1 if you are using the random number generators in the GNU + # Scientific Library. + BUILD_GSL = 0 + + # Directory containing libgsl (used only when BUILD_GSL = 1). +-GSL_LIB_DIR = '/usr/lib' ++GSL_LIB_DIR = '' + + # Directory containing the GSL header files (used only when BUILD_GSL = 1). +-GSL_INC_DIR = '/usr/include/gsl' ++GSL_INC_DIR = '' + + # Set to 1 if you are installing the fftw module. + BUILD_FFTW = 0 + + # Directory containing libfftw3 (used only when BUILD_FFTW = 1). +-FFTW_LIB_DIR = '/usr/lib' ++FFTW_LIB_DIR = '' + + # Directory containing fftw.h (used only when BUILD_FFTW = 1). +-FFTW_INC_DIR = '/usr/include' ++FFTW_INC_DIR = '' + + # Set to 1 if you are installing the glpk module. + BUILD_GLPK = 0 + + # Directory containing libglpk (used only when BUILD_GLPK = 1). +-GLPK_LIB_DIR = '/usr/lib' ++GLPK_LIB_DIR = '' + + # Directory containing glpk.h (used only when BUILD_GLPK = 1). +-GLPK_INC_DIR = '/usr/include' ++GLPK_INC_DIR = '' + + # Set to 1 if you are installing the DSDP module. + BUILD_DSDP = 0 + + # Directory containing libdsdp (used only when BUILD_DSDP = 1). +-DSDP_LIB_DIR = '/usr/lib' ++DSDP_LIB_DIR = '' + + # Directory containing dsdp5.h (used only when BUILD_DSDP = 1). +-DSDP_INC_DIR = '/usr/include' ++DSDP_INC_DIR = '' + + extmods = [] + + # optional modules + + if BUILD_GSL: +- gsl = Extension('gsl', libraries = ['m', 'gsl', 'blas'], ++ gsl = Extension('gsl', libraries = ['gsl'], + include_dirs = [ GSL_INC_DIR ], + library_dirs = [ GSL_LIB_DIR ], + sources = ['C/gsl.c'] ) + extmods += [gsl]; + + if BUILD_FFTW: +- fftw = Extension('fftw', libraries = ['fftw3', 'blas'], ++ fftw = Extension('fftw', libraries = ['fftw3'], + include_dirs = [ FFTW_INC_DIR ], + library_dirs = [ FFTW_LIB_DIR, ATLAS_LIB_DIR ], + sources = ['C/fftw.c'] ) +@@ -67,7 +67,7 @@ + extmods += [glpk]; + + if BUILD_DSDP: +- dsdp = Extension('dsdp', libraries = ['dsdp', 'blas', 'lapack'], ++ dsdp = Extension('dsdp', libraries = ['dsdp'], + include_dirs = [ DSDP_INC_DIR ], + library_dirs = [ DSDP_LIB_DIR, ATLAS_LIB_DIR ], + sources = ['C/dsdp.c'] ) +@@ -85,7 +85,7 @@ + else: + MACROS = [] + +-base = Extension('base', libraries = ['m','lapack','blas'], ++base = Extension('base', libraries = ['lapack'], + library_dirs = [ ATLAS_LIB_DIR ], + define_macros = MACROS, + sources = ['C/base.c','C/dense.c','C/sparse.c']) +@@ -95,22 +95,16 @@ + define_macros = MACROS, + sources = ['C/blas.c'] ) + +-lapack = Extension('lapack', libraries = ['lapack','blas'], ++lapack = Extension('lapack', libraries = ['lapack'], + library_dirs = [ ATLAS_LIB_DIR ], + define_macros = MACROS, + sources = ['C/lapack.c'] ) + + umfpack = Extension('umfpack', +- include_dirs = [ 'C/SuiteSparse/UMFPACK/Include', +- 'C/SuiteSparse/AMD/Include', 'C/SuiteSparse/AMD/Source', +- 'C/SuiteSparse/UFconfig' ], + library_dirs = [ ATLAS_LIB_DIR ], + define_macros = MACROS, +- libraries = [ 'blas', 'lapack'], +- sources = [ 'C/umfpack.c', +- 'C/SuiteSparse/UMFPACK/Source/umfpack_global.c', +- 'C/SuiteSparse/UMFPACK/Source/umfpack_tictoc.c' ] + +- glob('C/SuiteSparse_cvxopt_extra/umfpack/*')) ++ libraries = [ 'umfpack' ], ++ sources = [ 'C/umfpack.c' ]) + + # Build for int or long? + import sys +@@ -118,28 +112,16 @@ + + cholmod = Extension('cholmod', + library_dirs = [ ATLAS_LIB_DIR ], +- libraries = ['lapack', 'blas'], +- include_dirs = [ 'C/SuiteSparse/CHOLMOD/Include', +- 'C/SuiteSparse/COLAMD', 'C/SuiteSparse/AMD/Include', +- 'C/SuiteSparse/UFconfig', 'C/SuiteSparse/COLAMD/Include' ], ++ libraries = ['cholmod' ], + define_macros = MACROS + [('NPARTITION', '1')], +- sources = [ 'C/cholmod.c' ] + +- ['C/SuiteSparse/AMD/Source/' + s for s in ['amd_global.c', +- 'amd_postorder.c', 'amd_post_tree.c', 'amd_2.c']] + +- ['C/SuiteSparse/COLAMD/Source/' + s for s in ['colamd.c', +- 'colamd_global.c']] + +- glob('C/SuiteSparse/CHOLMOD/Core/c*.c') + +- glob('C/SuiteSparse/CHOLMOD/Cholesky/c*.c') + +- ['C/SuiteSparse/CHOLMOD/Check/cholmod_check.c'] + +- glob('C/SuiteSparse/CHOLMOD/Supernodal/c*.c') ) ++ sources = [ 'C/cholmod.c' ]) + + amd = Extension('amd', +- include_dirs = [ 'C/SuiteSparse/AMD/Include', +- 'C/SuiteSparse/UFconfig' ], + define_macros = MACROS, +- sources = [ 'C/amd.c' ] + glob('C/SuiteSparse/AMD/Source/*.c') ) ++ libraries = [ 'amd' ], ++ sources = [ 'C/amd.c' ]) + +-misc_solvers = Extension('misc_solvers', libraries = ['lapack', 'blas'], ++misc_solvers = Extension('misc_solvers', libraries = ['lapack'], + library_dirs = [ ATLAS_LIB_DIR ], + define_macros = MACROS, + sources = ['C/misc_solvers.c'] ) diff --git a/dev-python/cvxopt/metadata.xml b/dev-python/cvxopt/metadata.xml new file mode 100644 index 000000000000..a58f8748b8f8 --- /dev/null +++ b/dev-python/cvxopt/metadata.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>sci-mathematics</herd> +<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='glpk'>Use GNU Linear Programming Kit + <pkg>sci-mathematics/glpk</pkg></flag> + <flag name='dsdp'>Use interior point library + <pkg>sci-libs/dsdp</pkg></flag> +</use> +</pkgmetadata> |