summaryrefslogtreecommitdiff
path: root/dev-python/storm/storm-0.20-r1.ebuild
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python/storm/storm-0.20-r1.ebuild')
-rw-r--r--dev-python/storm/storm-0.20-r1.ebuild65
1 files changed, 65 insertions, 0 deletions
diff --git a/dev-python/storm/storm-0.20-r1.ebuild b/dev-python/storm/storm-0.20-r1.ebuild
new file mode 100644
index 00000000000..dc45516f891
--- /dev/null
+++ b/dev-python/storm/storm-0.20-r1.ebuild
@@ -0,0 +1,65 @@
+# 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
+
+DESCRIPTION="An object-relational mapper for Python developed at Canonical"
+HOMEPAGE="https://storm.canonical.com/ http://pypi.python.org/pypi/storm"
+SRC_URI="http://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}] )"
+
+CFLAGS="${CFLAGS} -fno-strict-aliasing"
+
+DOCS="tests/tutorial.txt"
+
+pkg_setup() {
+ 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
+}