commit:     fc689ef5d902675cfd6eedc6980701b4a7bcdf57
Author:     Louis Sautier <sbraz <AT> gentoo <DOT> org>
AuthorDate: Sat Oct 17 09:20:58 2020 +0000
Commit:     Louis Sautier <sbraz <AT> gentoo <DOT> org>
CommitDate: Sat Oct 17 09:29:31 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fc689ef5

dev-python/alembic: bump to 1.4.3, support PyPy3 and Python 3.9

Also:
* Fix tests with pytest 6.
* Update HOMEPAGE.
* Use distutils_enable_tests.

Package-Manager: Portage-3.0.8, Repoman-3.0.1
Signed-off-by: Louis Sautier <sbraz <AT> gentoo.org>

 dev-python/alembic/Manifest                        |  1 +
 dev-python/alembic/alembic-1.4.3.ebuild            | 45 +++++++++++++++
 .../alembic/files/alembic-1.4.3-pytest6.patch      | 66 ++++++++++++++++++++++
 3 files changed, 112 insertions(+)

diff --git a/dev-python/alembic/Manifest b/dev-python/alembic/Manifest
index 13fd1fccd5e..1e0a60fc54a 100644
--- a/dev-python/alembic/Manifest
+++ b/dev-python/alembic/Manifest
@@ -1 +1,2 @@
 DIST alembic-1.4.2.tar.gz 1092045 BLAKE2B 
5f4001a756aacbb4db509669bc0d4d7c59c38e2983c433283243efa97bf28a22e38bcfd28a4bc72573e8ab78d6590e78f4e12a5b9dd08b60cf5a84520b955056
 SHA512 
82bdfe442c19033aa2b802ec49edd13ed265c00a2b5a048490a83ffa8e53587c56a90b64d554e746a9189923419c528482cb7a7c950c210e0de47b32fa7c270e
+DIST alembic-1.4.3.tar.gz 1108131 BLAKE2B 
d9c8b6d6aebce7a45194dd6c654f4a2627714a5c1f7cb7a1cf80ed8c3fe861e3bb7857811128787ddd6c093b4370784b40cddb385cfbd30f6134d537fe949d2d
 SHA512 
925d8957fd9008d041737a9e79ec8d7a4c5deba1976e980362d355a75348c1638d783d9d48234a5bc3b2dc3f2f09dcb281d0c80ae0f0c5bc32e176c3dfa05463

diff --git a/dev-python/alembic/alembic-1.4.3.ebuild 
b/dev-python/alembic/alembic-1.4.3.ebuild
new file mode 100644
index 00000000000..92f5a8189f9
--- /dev/null
+++ b/dev-python/alembic/alembic-1.4.3.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( pypy3 python3_{6..9} )
+DISTUTILS_USE_SETUPTOOLS=rdepend
+
+inherit distutils-r1
+
+DESCRIPTION="database migrations tool, written by the author of SQLAlchemy"
+HOMEPAGE="https://github.com/sqlalchemy/alembic";
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="doc"
+
+RDEPEND="
+       >=dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}]
+       dev-python/mako[${PYTHON_USEDEP}]
+       >=dev-python/python-editor-0.3[${PYTHON_USEDEP}]
+       dev-python/python-dateutil[${PYTHON_USEDEP}]
+"
+
+PATCHES=(
+       # 
https://github.com/sqlalchemy/alembic/commit/8690940976544f368dad31cfbc46d9e1426b2ce1
+       "${FILESDIR}/${P}-pytest6.patch"
+)
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+       # suite passes all if run from source. The residual fail & error are 
quite erroneous
+       rm tests/test_script_consumption.py || die
+
+       distutils-r1_python_prepare_all
+}
+
+python_install_all() {
+       use doc && local HTML_DOCS=( docs/. )
+
+       distutils-r1_python_install_all
+}

diff --git a/dev-python/alembic/files/alembic-1.4.3-pytest6.patch 
b/dev-python/alembic/files/alembic-1.4.3-pytest6.patch
new file mode 100644
index 00000000000..ecf21a7ca58
--- /dev/null
+++ b/dev-python/alembic/files/alembic-1.4.3-pytest6.patch
@@ -0,0 +1,66 @@
+From 8690940976544f368dad31cfbc46d9e1426b2ce1 Mon Sep 17 00:00:00 2001
+From: Mike Bayer <[email protected]>
+Date: Sat, 26 Sep 2020 21:05:53 -0400
+Subject: [PATCH] Support pytest 6.x
+
+pytest has removed support for pytest.Class(..parent)
+and we need to use from_parent.
+
+Also works around new issue for 6.1.0
+
+References: https://github.com/pytest-dev/pytest/issues/7807
+
+Change-Id: Ia5fed9b22e76c99f71489283acee207f996f52a4
+---
+ alembic/__init__.py                    |  2 +-
+ alembic/testing/plugin/pytestplugin.py | 10 ++--------
+ tox.ini                                |  4 ++--
+ 3 files changed, 5 insertions(+), 11 deletions(-)
+
+ sys.modules["alembic.migration"] = migration
+ sys.modules["alembic.environment"] = environment
+diff --git a/alembic/testing/plugin/pytestplugin.py 
b/alembic/testing/plugin/pytestplugin.py
+index 1c8be05..ba3d35b 100644
+--- a/alembic/testing/plugin/pytestplugin.py
++++ b/alembic/testing/plugin/pytestplugin.py
+@@ -33,16 +33,10 @@ def pytest_configure(config):
+ def pytest_pycollect_makeitem(collector, name, obj):
+ 
+     if inspect.isclass(obj) and plugin_base.want_class(name, obj):
+-
+-        # in pytest 5.4.0
+-        # return [
+-        #     pytest.Class.from_parent(collector,
+-        # name=parametrize_cls.__name__)
+-        #     for parametrize_cls in _parametrize_cls(collector.module, obj)
+-        # ]
++        ctor = getattr(pytest.Class, "from_parent", pytest.Class)
+ 
+         return [
+-            pytest.Class(parametrize_cls.__name__, parent=collector)
++            ctor(name=parametrize_cls.__name__, parent=collector)
+             for parametrize_cls in _parametrize_cls(collector.module, obj)
+         ]
+     elif (
+diff --git a/tox.ini b/tox.ini
+index ed233ee..f144754 100644
+--- a/tox.ini
++++ b/tox.ini
+@@ -7,7 +7,7 @@ SQLA_REPO = 
{env:SQLA_REPO:git+https://github.com/sqlalchemy/sqlalchemy.git}
+ [testenv]
+ cov_args=--cov=alembic --cov-report term --cov-report xml
+ 
+-deps=pytest!=3.9.1,!=3.9.2
++deps=pytest>4.6
+      pytest-xdist
+      mock
+      sqla11: {[tox]SQLA_REPO}@rel_1_1
+@@ -30,7 +30,7 @@ usedevelop=
+ # only use --dropfirst option if we're *not* using -n;
+ # if -n is used, we're working in brand new DBs anyway
+ setenv=
+-    BASECOMMAND=python -m pytest
++    BASECOMMAND=python -m pytest --rootdir {toxinidir}
+     WORKERS=-n4
+     sqla079: WORKERS=--dropfirst
+     cov: COVERAGE={[testenv]cov_args}

Reply via email to