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.
gentoo-overlay/dev-python/storm/storm-0.20-r1.ebuild

65 lines
1.9 KiB

# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
PYTHON_COMPAT=( python2_7 )
DISTUTILS_SINGLE_IMPL=1
PYTHON_REQ_USE="sqlite?"
inherit distutils-r1 flag-o-matic
DESCRIPTION="An object-relational mapper for Python developed at Canonical"
HOMEPAGE="https://storm.canonical.com/ https://pypi.python.org/pypi/storm"
SRC_URI="https://launchpad.net/storm/trunk/${PV}/+download/${P}.tar.bz2"
LICENSE="LGPL-2.1"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="mysql postgres sqlite test"
RDEPEND="mysql? ( dev-python/mysql-python[${PYTHON_USEDEP}] )
postgres? ( =dev-python/psycopg-2*[${PYTHON_USEDEP}] )"
DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
test? ( dev-python/fixtures[${PYTHON_USEDEP}] )"
DOCS="tests/tutorial.txt"
pkg_setup() {
append-cflags -fno-strict-aliasing
python-single-r1_pkg_setup
}
python_prepare_all() {
sed -e "s:find_packages():find_packages(exclude=['tests','tests.*']):" \
-i setup.py || die
# delete rogue errors in setting exceptions
sed -e '/module_exception is not None:/d' \
-e '/module_exception.__bases__ += (exception,)/d' \
-i storm/exceptions.py || die
distutils-r1_python_prepare_all
}
python_test() {
if use mysql; then
elog "To run the MySQL-tests, you need:"
elog " - a running mysql-server"
elog " - an already existing database 'db'"
elog " - a user 'user' with full permissions on that database"
elog " - and an environment variable STORM_MYSQL_URI=\"mysql://user:password@host:1234/db\""
fi
if use postgres; then
elog "To run the PostgreSQL-tests, you need:"
elog " - a running postgresql-server"
elog " - an already existing database 'db'"
elog " - a user 'user' with full permissions on that database"
elog " - and an environment variable STORM_POSTGRES_URI=\"postgres://user:password@host:1234/db\""
fi
# Some tests require a server instance which is absent
"${PYTHON}" test --verbose || die
}