summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastien Fabbro <bicatali@gentoo.org>2012-01-06 15:40:31 +0000
committerSebastien Fabbro <bicatali@gentoo.org>2012-01-06 15:40:31 +0000
commit75e51a606bc828e8bfa9594e651df1d8cc5b4f68 (patch)
tree5f56897ffba00904cf48cac635a3f4b31afd0b97 /dev-python
parentMarking mg-20110905 ppc for bug 386689 (diff)
downloadgentoo-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/ChangeLog66
-rw-r--r--dev-python/cvxopt/Manifest5
-rw-r--r--dev-python/cvxopt/cvxopt-1.1.4.ebuild85
-rw-r--r--dev-python/cvxopt/files/cvxopt-setup.patch150
-rw-r--r--dev-python/cvxopt/metadata.xml17
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>