blob: 684949424f6ce9ed9eea2d94e885240b042ee610 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
# 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
}
|