diff options
Diffstat (limited to 'dev-python/cvxopt')
-rw-r--r-- | dev-python/cvxopt/ChangeLog | 8 | ||||
-rw-r--r-- | dev-python/cvxopt/cvxopt-1.1.5.ebuild | 84 | ||||
-rw-r--r-- | dev-python/cvxopt/files/cvxopt-1.1.5-setup.patch | 171 |
3 files changed, 262 insertions, 1 deletions
diff --git a/dev-python/cvxopt/ChangeLog b/dev-python/cvxopt/ChangeLog index da6f3de86d09..8374748f08d7 100644 --- a/dev-python/cvxopt/ChangeLog +++ b/dev-python/cvxopt/ChangeLog @@ -1,6 +1,12 @@ # 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.4 2012/02/23 09:00:56 patrick Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-python/cvxopt/ChangeLog,v 1.5 2012/04/19 20:56:11 bicatali Exp $ + +*cvxopt-1.1.5 (19 Apr 2012) + + 19 Apr 2012; Sébastien Fabbro <bicatali@gentoo.org> +cvxopt-1.1.5.ebuild, + +files/cvxopt-1.1.5-setup.patch: + Version bump 23 Feb 2012; Patrick Lauer <patrick@gentoo.org> cvxopt-1.1.4-r1.ebuild: Restricting python diff --git a/dev-python/cvxopt/cvxopt-1.1.5.ebuild b/dev-python/cvxopt/cvxopt-1.1.5.ebuild new file mode 100644 index 000000000000..70dec66484a7 --- /dev/null +++ b/dev-python/cvxopt/cvxopt-1.1.5.ebuild @@ -0,0 +1,84 @@ +# 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.5.ebuild,v 1.1 2012/04/19 20:56:11 bicatali Exp $ + +EAPI=4 + +SUPPORT_PYTHON_ABIS=1 +RESTRICT_PYTHON_ABIS="2.4 2.5 *-jython 2.7-pypy-*" + +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}"/${P}-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 "/_LIB = /s:\(.*\)'${1}'\(.*\):\1${pylib}\2:" setup.py + } + + use_cvx() { + if use ${1}; then + sed -i \ + -e "s/\(BUILD_${1^^} =\) 0/\1 1/" \ + setup.py || die + fi + } + + pkg_lib blas + pkg_lib lapack + use_cvx gsl + use_cvx fftw + use_cvx glpk + use_cvx dsdp + distutils_src_prepare +} + +src_compile() { + distutils_src_compile + use doc && emake -C "${WORKDIR}"/${P}/doc -B 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}/doc/build/html/* + insinto /usr/share/doc/${PF} + use examples && doins -r "${WORKDIR}"/${P}/examples +} diff --git a/dev-python/cvxopt/files/cvxopt-1.1.5-setup.patch b/dev-python/cvxopt/files/cvxopt-1.1.5-setup.patch new file mode 100644 index 000000000000..bc902716f981 --- /dev/null +++ b/dev-python/cvxopt/files/cvxopt-1.1.5-setup.patch @@ -0,0 +1,171 @@ +--- setup.py.orig 2012-04-04 17:18:51.000000000 +0100 ++++ setup.py 2012-04-19 00:02:14.000000000 +0100 +@@ -2,7 +2,7 @@ + from glob import glob + + # Modifiy this if BLAS and LAPACK libraries are not in /usr/lib. +-BLAS_LIB_DIR = '/usr/lib' ++BLAS_LIB_DIR = '' + + # Default names of BLAS and LAPACK libraries + BLAS_LIB = ['blas'] +@@ -18,37 +18,37 @@ + 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' ++DSDP_INC_DIR = '' + + # No modifications should be needed below this line. + +@@ -61,39 +61,32 @@ + # optional modules + + if BUILD_GSL: +- gsl = Extension('gsl', libraries = ['m', 'gsl'] + BLAS_LIB, +- include_dirs = [ GSL_INC_DIR ], +- library_dirs = [ GSL_LIB_DIR, BLAS_LIB_DIR ], +- extra_link_args = BLAS_EXTRA_LINK_ARGS, ++ gsl = Extension('gsl', libraries = ['gsl'], ++ library_dirs = [ GSL_LIB_DIR ], + sources = ['C/gsl.c'] ) + extmods += [gsl]; + + if BUILD_FFTW: +- fftw = Extension('fftw', libraries = ['fftw3'] + BLAS_LIB, +- include_dirs = [ FFTW_INC_DIR ], +- library_dirs = [ FFTW_LIB_DIR, BLAS_LIB_DIR ], +- extra_link_args = BLAS_EXTRA_LINK_ARGS, ++ fftw = Extension('fftw', libraries = ['fftw3'], ++ library_dirs = [ FFTW_LIB_DIR ], + sources = ['C/fftw.c'] ) + extmods += [fftw]; + + if BUILD_GLPK: + glpk = Extension('glpk', libraries = ['glpk'], +- include_dirs = [ GLPK_INC_DIR ], + library_dirs = [ GLPK_LIB_DIR ], + sources = ['C/glpk.c'] ) + extmods += [glpk]; + + if BUILD_DSDP: +- dsdp = Extension('dsdp', libraries = ['dsdp'] + LAPACK_LIB + BLAS_LIB, +- include_dirs = [ DSDP_INC_DIR ], +- library_dirs = [ DSDP_LIB_DIR, BLAS_LIB_DIR ], +- extra_link_args = BLAS_EXTRA_LINK_ARGS, ++ dsdp = Extension('dsdp', libraries = ['dsdp'], ++ library_dirs = [ DSDP_LIB_DIR ], + sources = ['C/dsdp.c'] ) + extmods += [dsdp]; + + # Required modules + +-base = Extension('base', libraries = ['m'] + LAPACK_LIB + BLAS_LIB, ++base = Extension('base', libraries = LAPACK_LIB, + library_dirs = [ BLAS_LIB_DIR ], + define_macros = MACROS, + extra_link_args = BLAS_EXTRA_LINK_ARGS, +@@ -105,55 +98,36 @@ + extra_link_args = BLAS_EXTRA_LINK_ARGS, + sources = ['C/blas.c'] ) + +-lapack = Extension('lapack', libraries = LAPACK_LIB + BLAS_LIB, ++lapack = Extension('lapack', libraries = LAPACK_LIB , + library_dirs = [ BLAS_LIB_DIR ], + define_macros = MACROS, + extra_link_args = BLAS_EXTRA_LINK_ARGS, + 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 = [ BLAS_LIB_DIR ], + define_macros = MACROS, +- libraries = LAPACK_LIB + BLAS_LIB, +- extra_link_args = BLAS_EXTRA_LINK_ARGS, +- 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 + if sys.maxsize > 2**31: MACROS += [('DLONG','')] + + cholmod = Extension('cholmod', +- library_dirs = [ BLAS_LIB_DIR ], +- libraries = LAPACK_LIB + BLAS_LIB, +- include_dirs = [ 'C/SuiteSparse/CHOLMOD/Include', +- 'C/SuiteSparse/COLAMD', 'C/SuiteSparse/AMD/Include', +- 'C/SuiteSparse/UFconfig', 'C/SuiteSparse/COLAMD/Include' ], +- define_macros = MACROS + [('NPARTITION', '1')], +- extra_link_args = BLAS_EXTRA_LINK_ARGS, +- 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') ) ++ libraries = ['cholmod'], ++ define_macros = MACROS + [('NPARTITION', '1')], ++ 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_LIB + BLAS_LIB, ++ libraries = LAPACK_LIB, + library_dirs = [ BLAS_LIB_DIR ], + define_macros = MACROS, + extra_link_args = BLAS_EXTRA_LINK_ARGS, |