You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

110 lines
2.6 KiB

# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-python/oosuite/oosuite-0.45.ebuild,v 1.1 2013/03/18 21:48:25 bicatali Exp $
EAPI=5
PYTHON_COMPAT=( python{2_6,2_7} )
PYTHON_REQ_USE='tk?'
inherit distutils-r1 eutils
MYPN="OOSuite"
MYPID="f/f3"
DESCRIPTION="OpenOpt suite of Python modules for numerical optimization"
HOMEPAGE="http://openopt.org/"
SRC_URI="http://openopt.org/images/${MYPID}/${MYPN}.zip -> ${MYPN}-${PV}.zip"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
IUSE="examples minimal tk"
RDEPEND="
dev-python/numpy[${PYTHON_USEDEP}]
!minimal? (
dev-python/cvxopt[glpk,${PYTHON_USEDEP}]
dev-python/lp_solve[${PYTHON_USEDEP}]
dev-python/matplotlib[${PYTHON_USEDEP}]
dev-python/setproctitle[${PYTHON_USEDEP}]
sci-libs/nlopt[python]
sci-libs/scipy[${PYTHON_USEDEP}] )"
DEPEND="
app-arch/unzip
dev-python/numpy[${PYTHON_USEDEP}]
dev-python/setuptools[${PYTHON_USEDEP}]"
S="${WORKDIR}/PythonPackages"
OO_DIRS="DerApproximator FuncDesigner OpenOpt SpaceFuncs"
python_prepare() {
# reorganize SpaceFuncs
pushd SpaceFuncs > /dev/null
mkdir SpaceFuncs
cp __version__.py SpaceFuncs || die
mv SpaceFuncs.py __init__.py kernel SpaceFuncs || die
popd > /dev/null
local d
for d in ${OO_DIRS}; do
pushd ${d} > /dev/null
find . -name "*COPYING*" -delete
find . -type d -name examples -or -name tests -or -name doc \
-exec rm -r '{}' +
distutils-r1_python_prepare
popd > /dev/null
done
}
src_prepare() {
distutils-r1_src_prepare
# move all examples and tests to ease installation in proper directory
mkdir "${WORKDIR}/examples"
local d e
for d in ${OO_DIRS}; do
mkdir "${WORKDIR}/examples/${d}" || die
for e in $(find ${d} -type d -name examples -or -name tests -or -name doc); do
mv ${e} "${WORKDIR}/examples/${d}/" || die
done
done
}
python_compile() {
local d
for d in ${OO_DIRS}; do
pushd ${d} > /dev/null
distutils-r1_python_compile
popd > /dev/null
done
}
python_test() {
local d t oldpath=${PYTHONPATH}
for d in ${OO_DIRS}; do
PYTHONPATH="${BUILD_DIR}/${d}/build/lib:${PYTHONPATH}"
done
export PYTHONPATH
cd "${WORKDIR}"/examples
# limit the tests, other need more dependencies
for t in \
DerApproximator/tests/t_check.py \
FuncDesigner/examples/sle1.py \
OpenOpt/examples/nlp_1.py \
SpaceFuncs/examples/triangle.py
do
"${PYTHON}" ${t} || die "test ${t} failed"
done
export PYTHONPATH=${oldpath}
}
python_install() {
local d
for d in ${OO_DIRS}; do
pushd ${d} > /dev/null
distutils-r1_python_install
popd > /dev/null
done
use examples && EXAMPLES="${WORKDIR}"/examples
}