commit:     216788b8971288109b491caa843293e2d85ea19b
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Mar  5 19:49:06 2021 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Mar  5 19:49:06 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=216788b8

dev-python/flask-security: Revert "Remove old"

This reverts commit 5eb38e39bb838415ba4cd33ce58fbfc7ba44a1dc.
Some applications need <4.0, it seems.

Bug: https://bugs.gentoo.org/774348
Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-python/flask-security/Manifest                 |  2 +
 .../files/flask-security-3.4.3-optional-deps.patch | 63 ++++++++++++++++++
 .../flask-security/flask-security-3.4.4.ebuild     | 74 ++++++++++++++++++++++
 .../flask-security/flask-security-3.4.5.ebuild     | 74 ++++++++++++++++++++++
 4 files changed, 213 insertions(+)

diff --git a/dev-python/flask-security/Manifest 
b/dev-python/flask-security/Manifest
index 6f9e62831ce..f3cb59c61c4 100644
--- a/dev-python/flask-security/Manifest
+++ b/dev-python/flask-security/Manifest
@@ -1 +1,3 @@
+DIST flask-security-3.4.4.gh.tar.gz 348525 BLAKE2B 
77a851c2549be9ce8612e3b186ad2d83d272b277f286885da491f3f0fe99e8836d145749ae137f1e75625c34b2214270ba4d24f1bfaa514012064dd38f083230
 SHA512 
1c1a4f079199704d7a2a4e11351cd199e3a790f5d0c7f68b240c299e83b129227fac4ca00caf45401efbf14520c1d65d3b710b85e8f53b495283b94a164f97a2
+DIST flask-security-3.4.5.gh.tar.gz 348928 BLAKE2B 
9890227e9775c4a28fc364affb0bf767407463d514f6dc3cd359dd8a026e8325d943a547f294f6363a276f9e7d97336c526dd45f4549c7cfaff2d6ef9ef0316a
 SHA512 
f9ac7f46b2e1ab7dbb44ba925b01e16304e8f8d6d5d56f4e558d07b80dfffa59f04c2597e17c00a7d7ae11be3a97c78ccf8d79993b7451be4a7f75f85bc89f6f
 DIST flask-security-4.0.0.gh.tar.gz 381592 BLAKE2B 
62f8ceb5b6912839ad69a9f26793a831304f0d03cd40c73bd7c6701421d22955bec1e43713b2e07004ff9686591370378d9ff6e2e61e6bdc9a6472f18b28bfad
 SHA512 
1d616121d0220bdef6081f4feb2c56b6feb346609548ad74c7bbbb60f4d65e9b3ec92a35fa9e077c35db9ab398d921461450594185956d05d5dda063fe972b72

diff --git 
a/dev-python/flask-security/files/flask-security-3.4.3-optional-deps.patch 
b/dev-python/flask-security/files/flask-security-3.4.3-optional-deps.patch
new file mode 100644
index 00000000000..484e816908f
--- /dev/null
+++ b/dev-python/flask-security/files/flask-security-3.4.3-optional-deps.patch
@@ -0,0 +1,63 @@
+From 8943f49c3e6064839bd1e3c2c73a750b2b476ae3 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <[email protected]>
+Date: Wed, 15 Jul 2020 09:02:15 +0200
+Subject: [PATCH 1/2] tests: Skip tests requiring specific data backends if not
+ available
+
+Skip tests that require a specific database backend if the respective
+package is not available.  This is mostly intended to make it possible
+to test flask-security on Python 3.9 since Pony does not support this
+Python version but there is no harm in extending it to other backends.
+
+Technically, Flask-SQLAlchemy is still required due to other tests.
+---
+ tests/conftest.py | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/tests/conftest.py b/tests/conftest.py
+index 3305d92..a48f480 100644
+--- a/tests/conftest.py
++++ b/tests/conftest.py
+@@ -218,6 +218,7 @@ def mongoengine_datastore(request, app, tmpdir, realdburl):
+ 
+ 
+ def mongoengine_setup(request, app, tmpdir, realdburl):
++    pytest.importorskip('flask_mongoengine')
+     from flask_mongoengine import MongoEngine
+     from mongoengine.fields import (
+         BooleanField,
+@@ -282,6 +283,7 @@ def sqlalchemy_datastore(request, app, tmpdir, realdburl):
+ 
+ 
+ def sqlalchemy_setup(request, app, tmpdir, realdburl):
++    pytest.importorskip('flask_sqlalchemy')
+     from flask_sqlalchemy import SQLAlchemy
+     from flask_security.models import fsqla_v2 as fsqla
+ 
+@@ -326,6 +328,7 @@ def sqlalchemy_session_datastore(request, app, tmpdir, 
realdburl):
+ 
+ 
+ def sqlalchemy_session_setup(request, app, tmpdir, realdburl):
++    pytest.importorskip('sqlalchemy')
+     from sqlalchemy import create_engine
+     from sqlalchemy.orm import scoped_session, sessionmaker, relationship, 
backref
+     from sqlalchemy.ext.declarative import declarative_base
+@@ -426,6 +429,7 @@ def peewee_datastore(request, app, tmpdir, realdburl):
+ 
+ 
+ def peewee_setup(request, app, tmpdir, realdburl):
++    pytest.importorskip('peewee')
+     from peewee import (
+         TextField,
+         DateTimeField,
+@@ -522,6 +526,7 @@ def pony_datastore(request, app, tmpdir, realdburl):
+ 
+ def pony_setup(request, app, tmpdir, realdburl):
+ 
++    pytest.importorskip('pony')
+     from pony.orm import Database, Optional, Required, Set
+     from pony.orm.core import SetInstance
+ 
+-- 
+2.27.0
+

diff --git a/dev-python/flask-security/flask-security-3.4.4.ebuild 
b/dev-python/flask-security/flask-security-3.4.4.ebuild
new file mode 100644
index 00000000000..ff4924b074a
--- /dev/null
+++ b/dev-python/flask-security/flask-security-3.4.4.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{7..9} )
+inherit distutils-r1
+
+DESCRIPTION="Simple security for Flask apps"
+HOMEPAGE="
+       https://github.com/Flask-Middleware/flask-security/
+       https://pypi.org/project/Flask-Security-Too/";
+SRC_URI="
+       https://github.com/Flask-Middleware/flask-security/archive/${PV}.tar.gz
+               -> ${P}.gh.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+RDEPEND="
+       dev-python/cachetools[${PYTHON_USEDEP}]
+       >=dev-python/flask-1.1.1[${PYTHON_USEDEP}]
+       >=dev-python/flask-babelex-0.9.3[${PYTHON_USEDEP}]
+       >=dev-python/flask-login-0.4.1[${PYTHON_USEDEP}]
+       >=dev-python/flask-principal-0.4.0[${PYTHON_USEDEP}]
+       >=dev-python/flask-wtf-0.14.2[${PYTHON_USEDEP}]
+       >=dev-python/itsdangerous-1.1.0[${PYTHON_USEDEP}]
+       >=dev-python/passlib-1.7.2[${PYTHON_USEDEP}]
+       >=dev-python/python-email-validator-1.0.5[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+       dev-python/Babel[${PYTHON_USEDEP}]
+       test? (
+               >=dev-python/argon2-cffi-19.1.0[${PYTHON_USEDEP}]
+               >=dev-python/bcrypt-3.1.5[${PYTHON_USEDEP}]
+               >=dev-python/cryptography-2.3.1[${PYTHON_USEDEP}]
+               >=dev-python/flask-mail-0.9.1[${PYTHON_USEDEP}]
+               >=dev-python/flask-mongoengine-0.9.5[${PYTHON_USEDEP}]
+               >=dev-python/flask-sqlalchemy-2.3[${PYTHON_USEDEP}]
+               dev-python/mock[${PYTHON_USEDEP}]
+               >=dev-python/mongomock-3.19.0[${PYTHON_USEDEP}]
+               >=dev-python/peewee-3.11.2[${PYTHON_USEDEP}]
+               >=dev-python/phonenumbers-8.11.1[${PYTHON_USEDEP}]
+               >=dev-python/psycopg-2.8.4:2[${PYTHON_USEDEP}]
+               >=dev-python/pymysql-0.9.3[${PYTHON_USEDEP}]
+               >=dev-python/pyqrcode-1.2[${PYTHON_USEDEP}]
+               >=dev-python/zxcvbn-4.4.28[${PYTHON_USEDEP}]
+               $(python_gen_cond_dep '
+                       >=dev-python/pony-0.7.11[${PYTHON_USEDEP}]
+               ' python3_{6,7})
+       )"
+
+distutils_enable_tests pytest
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-3.4.3-optional-deps.patch
+)
+
+src_prepare() {
+       sed -i -e '/setup_requires/d' setup.py || die
+       sed -e 's@--cov flask_security@-p no:httpbin@' \
+               -e 's:--cov-report term-missing::' \
+               -e 's:--black::' \
+               -e 's:--flake8::' \
+               -e 's:--cache-clear::' \
+               -i pytest.ini || die
+       distutils-r1_src_prepare
+}
+
+python_configure_all() {
+       esetup.py compile_catalog
+}

diff --git a/dev-python/flask-security/flask-security-3.4.5.ebuild 
b/dev-python/flask-security/flask-security-3.4.5.ebuild
new file mode 100644
index 00000000000..ff4924b074a
--- /dev/null
+++ b/dev-python/flask-security/flask-security-3.4.5.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{7..9} )
+inherit distutils-r1
+
+DESCRIPTION="Simple security for Flask apps"
+HOMEPAGE="
+       https://github.com/Flask-Middleware/flask-security/
+       https://pypi.org/project/Flask-Security-Too/";
+SRC_URI="
+       https://github.com/Flask-Middleware/flask-security/archive/${PV}.tar.gz
+               -> ${P}.gh.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+RDEPEND="
+       dev-python/cachetools[${PYTHON_USEDEP}]
+       >=dev-python/flask-1.1.1[${PYTHON_USEDEP}]
+       >=dev-python/flask-babelex-0.9.3[${PYTHON_USEDEP}]
+       >=dev-python/flask-login-0.4.1[${PYTHON_USEDEP}]
+       >=dev-python/flask-principal-0.4.0[${PYTHON_USEDEP}]
+       >=dev-python/flask-wtf-0.14.2[${PYTHON_USEDEP}]
+       >=dev-python/itsdangerous-1.1.0[${PYTHON_USEDEP}]
+       >=dev-python/passlib-1.7.2[${PYTHON_USEDEP}]
+       >=dev-python/python-email-validator-1.0.5[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+       dev-python/Babel[${PYTHON_USEDEP}]
+       test? (
+               >=dev-python/argon2-cffi-19.1.0[${PYTHON_USEDEP}]
+               >=dev-python/bcrypt-3.1.5[${PYTHON_USEDEP}]
+               >=dev-python/cryptography-2.3.1[${PYTHON_USEDEP}]
+               >=dev-python/flask-mail-0.9.1[${PYTHON_USEDEP}]
+               >=dev-python/flask-mongoengine-0.9.5[${PYTHON_USEDEP}]
+               >=dev-python/flask-sqlalchemy-2.3[${PYTHON_USEDEP}]
+               dev-python/mock[${PYTHON_USEDEP}]
+               >=dev-python/mongomock-3.19.0[${PYTHON_USEDEP}]
+               >=dev-python/peewee-3.11.2[${PYTHON_USEDEP}]
+               >=dev-python/phonenumbers-8.11.1[${PYTHON_USEDEP}]
+               >=dev-python/psycopg-2.8.4:2[${PYTHON_USEDEP}]
+               >=dev-python/pymysql-0.9.3[${PYTHON_USEDEP}]
+               >=dev-python/pyqrcode-1.2[${PYTHON_USEDEP}]
+               >=dev-python/zxcvbn-4.4.28[${PYTHON_USEDEP}]
+               $(python_gen_cond_dep '
+                       >=dev-python/pony-0.7.11[${PYTHON_USEDEP}]
+               ' python3_{6,7})
+       )"
+
+distutils_enable_tests pytest
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-3.4.3-optional-deps.patch
+)
+
+src_prepare() {
+       sed -i -e '/setup_requires/d' setup.py || die
+       sed -e 's@--cov flask_security@-p no:httpbin@' \
+               -e 's:--cov-report term-missing::' \
+               -e 's:--black::' \
+               -e 's:--flake8::' \
+               -e 's:--cache-clear::' \
+               -i pytest.ini || die
+       distutils-r1_src_prepare
+}
+
+python_configure_all() {
+       esetup.py compile_catalog
+}

Reply via email to