summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python/cvxopt')
-rw-r--r--dev-python/cvxopt/ChangeLog8
-rw-r--r--dev-python/cvxopt/cvxopt-1.1.5.ebuild84
-rw-r--r--dev-python/cvxopt/files/cvxopt-1.1.5-setup.patch171
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,