summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dev-python/routes/ChangeLog8
-rw-r--r--dev-python/routes/files/routes-2.0-tests-py3.patch40
-rw-r--r--dev-python/routes/routes-2.0.ebuild58
3 files changed, 105 insertions, 1 deletions
diff --git a/dev-python/routes/ChangeLog b/dev-python/routes/ChangeLog
index 6f6d80fafda0..700f3cf1ed9b 100644
--- a/dev-python/routes/ChangeLog
+++ b/dev-python/routes/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for dev-python/routes
# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-python/routes/ChangeLog,v 1.17 2013/10/22 14:24:30 grobian Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-python/routes/ChangeLog,v 1.18 2013/11/21 20:53:58 radhermit Exp $
+
+*routes-2.0 (21 Nov 2013)
+
+ 21 Nov 2013; Tim Harder <radhermit@gentoo.org> +routes-2.0.ebuild,
+ +files/routes-2.0-tests-py3.patch:
+ Version bump.
22 Oct 2013; Fabian Groffen <grobian@gentoo.org> routes-1.13-r1.ebuild:
Marked ~x64-macos, bug #487670
diff --git a/dev-python/routes/files/routes-2.0-tests-py3.patch b/dev-python/routes/files/routes-2.0-tests-py3.patch
new file mode 100644
index 000000000000..ec21799ba14f
--- /dev/null
+++ b/dev-python/routes/files/routes-2.0-tests-py3.patch
@@ -0,0 +1,40 @@
+Fix tests to work with random hash dicts.
+
+--- a/tests/test_functional/test_generation.py
++++ b/tests/test_functional/test_generation.py
+@@ -205,13 +205,14 @@ class TestGeneration(unittest.TestCase):
+ requirements={'month':'\d{1,2}','day':'\d{1,2}'})
+ m.connect('viewpost/:id', controller='post', action='view')
+ m.connect(':controller/:action/:id')
+-
+- eq_('/blog/view?year=2004&month=blah', m.generate(controller='blog', action='view', year=2004, month='blah'))
++
++ url = m.generate(controller='blog', action='view', year=2004, month='blah')
++ assert url == '/blog/view?year=2004&month=blah' or url == '/blog/view?month=blah&year=2004'
+ eq_('/archive/2004/11', m.generate(controller='blog', action='view', year=2004, month=11))
+ eq_('/archive/2004/11', m.generate(controller='blog', action='view', year=2004, month='11'))
+ eq_('/archive/2004', m.generate(controller='blog', action='view', year=2004))
+ eq_('/viewpost/3', m.generate(controller='post', action='view', id=3))
+-
++
+ def test_multiroute_with_splits(self):
+ m = Mapper(explicit=False)
+ m.minimization = True
+@@ -219,13 +220,14 @@ class TestGeneration(unittest.TestCase):
+ requirements={'month':'\d{1,2}','day':'\d{1,2}'})
+ m.connect('viewpost/:(id)', controller='post', action='view')
+ m.connect(':(controller)/:(action)/:(id)')
+-
+- eq_('/blog/view?year=2004&month=blah', m.generate(controller='blog', action='view', year=2004, month='blah'))
++
++ url = m.generate(controller='blog', action='view', year=2004, month='blah')
++ assert url == '/blog/view?year=2004&month=blah' or url == '/blog/view?month=blah&year=2004'
+ eq_('/archive/2004/11', m.generate(controller='blog', action='view', year=2004, month=11))
+ eq_('/archive/2004/11', m.generate(controller='blog', action='view', year=2004, month='11'))
+ eq_('/archive/2004', m.generate(controller='blog', action='view', year=2004))
+ eq_('/viewpost/3', m.generate(controller='post', action='view', id=3))
+-
++
+ def test_big_multiroute(self):
+ m = Mapper(explicit=False)
+ m.minimization = True
diff --git a/dev-python/routes/routes-2.0.ebuild b/dev-python/routes/routes-2.0.ebuild
new file mode 100644
index 000000000000..e95900ff3fb5
--- /dev/null
+++ b/dev-python/routes/routes-2.0.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-python/routes/routes-2.0.ebuild,v 1.1 2013/11/21 20:53:58 radhermit Exp $
+
+EAPI=5
+PYTHON_COMPAT=( python{2_6,2_7,3_2,3_3} )
+
+inherit distutils-r1
+
+MY_PN="Routes"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="A Python re-implementation of the Rails routes system for mapping URL's to Controllers/Actions"
+HOMEPAGE="http://routes.groovie.org http://pypi.python.org/pypi/Routes"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="doc test"
+
+RDEPEND="dev-python/webob[${PYTHON_USEDEP}]
+ >=dev-python/repoze-lru-0.3[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? (
+ dev-python/coverage[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/webtest[${PYTHON_USEDEP}]
+ )"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=( "${FILESDIR}"/${PN}-2.0-tests-py3.patch )
+
+python_prepare_all() {
+ use test && DISTUTILS_IN_SOURCE_BUILD=1
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ cp -r tests "${BUILD_DIR}" || die
+ if [[ ${EPYTHON} == python3* ]]; then
+ 2to3 -w --no-diffs "${BUILD_DIR}"/tests || die
+ fi
+
+ nosetests -w "${BUILD_DIR}"/tests || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ distutils-r1_python_install_all
+}