diff --git a/dev-python/click/Manifest b/dev-python/click/Manifest
index 397daed..f577a09 100644
--- a/dev-python/click/Manifest
+++ b/dev-python/click/Manifest
@@ -1,2 +1,3 @@
DIST click-7.1.2.tar.gz 295757 BLAKE2B aea76d5378cfa49fe58a83132737d609d48b3d3a71ec65c0a8a144c7a0e244b5bdf0196ffe2150889b82edda20c3f1faa3c84a227fc9ef459a5a9646cff86129 SHA512 d0caf2fb0a258774a18a7b8f83bdfa73abeb70196a70b45a6cc35befaeb862d068d2f2cce4e27201ab2e3adcd02e7e2f099d6c37c497a507010eefa10ad16eba
-EBUILD click-7.1.2-r1.ebuild 764 BLAKE2B d1d38b50a150be24f89380cf98233f141ca96c91e6dbc64153c8cfd6326b98098a174fb7ee58fb120957509b85262a056d7837a9e9f61639abb10d6707f6845a SHA512 ac8ba661a0f1664960eaf8748cfa1118e851ee5b2a4cd924b37742d6d09009dc7e4eaef10b08f1d796d47cdce0ba3483fc2809eefe0717111339327b14585c22
+EBUILD click-7.1.2.ebuild 797 BLAKE2B bd2e34d6f7244522501a7049b05a1a5ac095c8c94c6ed2285f58fbe408da73d1cc335c294ac77e5893077bfb566d84426da52a1af8e93ad4d950848d25dc0e47 SHA512 58ea11c36b462f55ef84a36b848941be6363cb139fcc3b5a50a3f80874d8d5f01dfa747cfaf88320b7c0fc8c9ac5c5f0eff930b52f4dfe54bf6fa93402620c02
+MISC metadata.xml 386 BLAKE2B e460c7d70bbd848cd239d9e1ba5dc234c7de2a2bc0c77bfefb6aed1fa6d954de18508d4db44e77495f90a141180fa2602b15d3699aaaa99a48520a7e37a098f4 SHA512 ef8dd0545e92bb8fdc107fd6170068d35f44abad698226ea4724c450aebc0f32c76eb90b9fc936f9c85b8a93637f6006e889796e2bb3b7da5f57c1419f6b3794
diff --git a/dev-python/click/click-7.1.2-r1.ebuild b/dev-python/click/click-7.1.2.ebuild
similarity index 85%
rename from dev-python/click/click-7.1.2-r1.ebuild
rename to dev-python/click/click-7.1.2.ebuild
index edce255..168a83f 100644
--- a/dev-python/click/click-7.1.2-r1.ebuild
+++ b/dev-python/click/click-7.1.2.ebuild
@@ -1,9 +1,10 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-PYTHON_COMPAT=( python3_{7..10} pypy3 )
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1
diff --git a/dev-python/click/metadata.xml b/dev-python/click/metadata.xml
new file mode 100644
index 0000000..ea38007
--- /dev/null
+++ b/dev-python/click/metadata.xml
@@ -0,0 +1,13 @@
+
+
+
+
+ python@gentoo.org
+ Python
+
+
+
+ click
+ pallets/click
+
+
diff --git a/dev-python/flask-babel/Manifest b/dev-python/flask-babel/Manifest
new file mode 100644
index 0000000..e3f3138
--- /dev/null
+++ b/dev-python/flask-babel/Manifest
@@ -0,0 +1,3 @@
+DIST Flask-Babel-2.0.0.tar.gz 19588 BLAKE2B dbd5d6f3af38fad15a4eb6d674222473d673a9002ced21ce09a913e0bce3285b1eac9a5a85ce53c1dcebf648444164f33a5c790039a7d01184d45c7734dac05f SHA512 2ad8f80b450db0cab7dd57f46158e7e653556d60869acdb3c2469d42dceca3fa97237cc960986655091c84a1a67a057d72ed510787ccb065d171e6f35764cb1d
+EBUILD flask-babel-2.0.0.ebuild 832 BLAKE2B 39200d76a614656a39c7b3ded73d28987570b7042c09e9388264459157d9f558f6042d03e557618a80479e620a6c343317edb95604ffd95b9b7ddddc841a03e6 SHA512 754a65d9c585508617e315d4f1b9c4353825059d663279a345a3c0bde78189b182c9e473e99bff181cf6c44b49373934fd6f26f78a864ca28a090daae11fae3e
+MISC metadata.xml 475 BLAKE2B 877bb5c46f8e3661564f34e49139abbfe5e9f871249917c87af4eea2f6c4b7cb9ecc4e2c0122e944775656e9dd218ad4db8f23f62b4059208aacfad660d6abde SHA512 3b7e470ce1495f5099d861aa7ac95a7460d3811f9d1337d4c5f877bc5997100f26b5ee379dcc9989f1edfea90359526d283f5df29e8feebfa10ef427ac83bc4f
diff --git a/dev-python/flask-babel/flask-babel-2.0.0.ebuild b/dev-python/flask-babel/flask-babel-2.0.0.ebuild
new file mode 100644
index 0000000..7297c80
--- /dev/null
+++ b/dev-python/flask-babel/flask-babel-2.0.0.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..12} )
+PYPI_NO_NORMALIZE=1
+PYPI_PN="Flask-Babel"
+inherit distutils-r1 pypi
+
+DESCRIPTION="i18n and l10n support for Flask based on Babel and pytz"
+HOMEPAGE="
+ https://pythonhosted.org/Flask-Babel/
+ https://pypi.org/project/Flask-Babel/
+ https://github.com/python-babel/flask-babel/"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 x86"
+
+RDEPEND="
+ dev-python/Babel[${PYTHON_USEDEP}]
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/jinja2[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ dev-python/werkzeug[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? ( dev-python/pytest-mock[${PYTHON_USEDEP}] )
+"
+
+distutils_enable_sphinx docs \
+ dev-python/flask-sphinx-themes
+distutils_enable_tests pytest
diff --git a/dev-python/flask-babel/metadata.xml b/dev-python/flask-babel/metadata.xml
new file mode 100644
index 0000000..e75ac7b
--- /dev/null
+++ b/dev-python/flask-babel/metadata.xml
@@ -0,0 +1,14 @@
+
+
+
+
+ python@gentoo.org
+ Python
+
+
+
+ Flask-Babel
+ python-babel/flask-babel
+ https://github.com/python-babel/flask-babel/issues
+
+
diff --git a/dev-python/flask-migrate/Manifest b/dev-python/flask-migrate/Manifest
index d26db84..b3f9447 100644
--- a/dev-python/flask-migrate/Manifest
+++ b/dev-python/flask-migrate/Manifest
@@ -1,4 +1,2 @@
-DIST Flask-Migrate-2.6.0.tar.gz 12671 BLAKE2B d8d1ab6fc7c077cc9c6dfe5de26c7ab0f2bcb45455f28fdb1bc03b6ac23a063f5c4103d57050a3e0818debd59cd9927ed4833d1cd924a2147ae16f766c045d82 SHA512 91ce86079b8f438357e5bffa809dd737c26ca5cb553ac9bd315ce5039112842e2a52fbf3cec3f6548eb13def8d641be2a4e12dcbe01995b1ab073af989dbbb68
DIST Flask-Migrate-2.7.0.tar.gz 12627 BLAKE2B 2ad252ef6338bd45c2df4cf95ebaa137e43b5cce7780ccafcc9a0d972473ab230acae03ca14c1dd1f500ceb4c5fa1d0ed6a892bf7e2317c9dfd530a59c025da3 SHA512 9d5f5845c3483bc2ab1271431312331bbc45aeac5bd9464f99898e16e32d9ba124cb11f11fae59a29bf1d6e3dba5f2ca922ae32c2548a5d67d9286ca17d475ab
-EBUILD flask-migrate-2.6.0.ebuild 768 BLAKE2B 40f6e764c9da95a698ecf939219c3d26d811caeb08421e3423a75e0f603aa613244ca3db06ea39b3e46d2ebbd4653bacaa30b82877de4b614b1ff5adbed10f2a SHA512 87adf4597b2a48653a04236a13df3dc48df7520d876fc5f2ecf9febce6e2443f7f4c0e6f8dec1ef1f5572b4d24e0ecee3edf50201c72e9250e24127b9cabe7c1
-EBUILD flask-migrate-2.7.0.ebuild 770 BLAKE2B 4fa4e3a5657edaebb9ecf2a602473837fca4f48e0c0a759c360c7c27e2262cdd2348e7facf6f6931edbbcde01d62591b248bab7ea75ec4ca9f89463def757322 SHA512 82e3f60dcae9b15e1bf8994ff66cb4363d259cffaa9ea1d5478a05621ef97a76196fe191d68788504feedc29cbaf1e2f4f31c0dd29f07237b57b6c663dde3ed1
+EBUILD flask-migrate-2.7.0.ebuild 691 BLAKE2B 641b5dab21b8b5b872f0d007badbb5e1beec2234b6a0bbe61072c24d21f270a4d9ae4b6f0ae171298d6cdc359401b5066b93f9099196a2405b894e6fb61c377e SHA512 35a548ba56d0b2171662b7453bd83bcfcca806fe3f512344b08adba25efe91d7d6176725ebe7cb1a5dea7667975066f0c81327f2350ab28a92923c5e01d2dea9
diff --git a/dev-python/flask-migrate/flask-migrate-2.6.0.ebuild b/dev-python/flask-migrate/flask-migrate-2.6.0.ebuild
deleted file mode 100644
index b32f840..0000000
--- a/dev-python/flask-migrate/flask-migrate-2.6.0.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..11} )
-inherit distutils-r1
-
-MY_PN="Flask-Migrate"
-MY_P="${MY_PN}-${PV}"
-
-DESCRIPTION="SQLAlchemy database migrations for Flask applications using Alembic"
-HOMEPAGE="https://pypi.org/project/Flask-Migrate/"
-SRC_URI="mirror://pypi/${MY_P:0:1}/${MY_PN}/${MY_P}.tar.gz"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-python/alembic-0.7[${PYTHON_USEDEP}]
- >=dev-python/flask-0.9[${PYTHON_USEDEP}]
- >=dev-python/flask-sqlalchemy-1.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? ( >=dev-python/flask-script-0.6[${PYTHON_USEDEP}] )
-"
-
-distutils_enable_tests setup.py
diff --git a/dev-python/flask-migrate/flask-migrate-2.7.0.ebuild b/dev-python/flask-migrate/flask-migrate-2.7.0.ebuild
index 34e5844..fe96627 100644
--- a/dev-python/flask-migrate/flask-migrate-2.7.0.ebuild
+++ b/dev-python/flask-migrate/flask-migrate-2.7.0.ebuild
@@ -1,22 +1,19 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-PYTHON_COMPAT=( python3_{7..11} )
-inherit distutils-r1
-
-MY_PN="Flask-Migrate"
-MY_P="${MY_PN}-${PV}"
+PYTHON_COMPAT=( python3_{8..12} )
+PYPI_NO_NORMALIZE=1
+PYPI_PN="Flask-Migrate"
+inherit distutils-r1 pypi
DESCRIPTION="SQLAlchemy database migrations for Flask applications using Alembic"
HOMEPAGE="https://pypi.org/project/Flask-Migrate/"
-SRC_URI="mirror://pypi/${MY_P:0:1}/${MY_PN}/${MY_P}.tar.gz"
-S=${WORKDIR}/${MY_P}
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 x86"
IUSE="test"
RESTRICT="!test? ( test )"
diff --git a/dev-python/flask-script/Manifest b/dev-python/flask-script/Manifest
new file mode 100644
index 0000000..f6291c7
--- /dev/null
+++ b/dev-python/flask-script/Manifest
@@ -0,0 +1,4 @@
+AUX flask-script-2.0.6-flask_script-everywhere.patch 1368 BLAKE2B 0d387cce36afdfb67bb91661df23884a7782d26ec5979121664afc84f48e780b7d1498b6233779980d3fd51f672a7fd5a6e097bef946a8599e189863d2be1ad3 SHA512 9694070e86a47f405d7bdd3e4c37df56e2fcbc86f64adea07d10c4e5be6856a6631eac5af43cd372bf13475b8dc9ab57f263f10dbb62621365fdf17d4e4efb64
+DIST Flask-Script-2.0.6.tar.gz 43146 BLAKE2B 146a65fce432063e67e5b6221a0c2437f2a8df1e2b72a5e14fb382dc51ef3f0755e4d8a0a67831c6c2c61d07acc332e8c87b7c9df3443a9f22aa2eeb580c4086 SHA512 03c51213be8e2b86f1f4450565cf4d7e3d9d7257ac017bd53830be57620d581f43bcfe959ef7b621af722c688c56495229aad3dd9654c8a8a5905db0105275fc
+EBUILD flask-script-2.0.6.ebuild 682 BLAKE2B 11871e3ddf0c6f5c8e690fefc04804e6d656cef10ebf0541a033b04d0d2768100d344e9bf963fcd0f88d6a8ea8b4a0d7523d6cee4f600faa46079a8d8a9276b5 SHA512 cc60e65968806baf4e88e26bdd8999ea01a9fe9ae9b4286ce1e3cba04bdfda139ff5ce9a5dbcb474280264a5a1cbdb09552e0d4be110b1ce62e856ae40ed8fc2
+MISC metadata.xml 400 BLAKE2B db7b5774057f1b3369d685ff1df8260e1db30f5d67b4b6de1b3c3f583bc3b76d830c5888e1a2bc5929137b3ac19cd2dd531a75d839337399060eb9227a185094 SHA512 6ab132e0fc3426b8b97527ea546555aee3ddfb21fc31b9521fefbf4074c97c82302054a7353c4a061f10fbd068a5ef76aab892d43b9157742c6c01250e9907cb
diff --git a/dev-python/flask-script/files/flask-script-2.0.6-flask_script-everywhere.patch b/dev-python/flask-script/files/flask-script-2.0.6-flask_script-everywhere.patch
new file mode 100644
index 0000000..04259c8
--- /dev/null
+++ b/dev-python/flask-script/files/flask-script-2.0.6-flask_script-everywhere.patch
@@ -0,0 +1,41 @@
+From: anthraxx
+Date: Wed, 6 Sep 2017 12:03:22 +0200
+Subject: [PATCH] using flask_script everywhere instead of flask.ext.script
+
+--- a/docs/index.rst
++++ b/docs/index.rst
+@@ -577,7 +577,7 @@ Then the user can register the sub-manager to their primary Manager (within mana
+
+ manager = Manager(app)
+
+- from flask.ext.database import manager as database_manager
++ from flask_database import manager as database_manager
+ manager.add_command("database", database_manager)
+
+ The commands will then be available::
+--- a/tests.py
++++ b/tests.py
+@@ -5,8 +5,8 @@
+ import unittest
+
+ from flask import Flask
+-from flask.ext.script._compat import StringIO, text_type
+-from flask.ext.script import Command, Manager, Option, prompt, prompt_bool, prompt_choices
++from flask_script._compat import StringIO, text_type
++from flask_script import Command, Manager, Option, prompt, prompt_bool, prompt_choices
+
+ from pytest import raises
+
+--- a/flask_script/__init__.py
++++ b/flask_script/__init__.py
+@@ -12,9 +12,8 @@ from collections import OrderedDict
+ import argparse
+
+ from flask import Flask
+-from flask._compat import text_type
+
+-from ._compat import iteritems
++from ._compat import iteritems, text_type
+ from .commands import Group, Option, Command, Server, Shell
+ from .cli import prompt, prompt_pass, prompt_bool, prompt_choices
+
diff --git a/dev-python/flask-script/flask-script-2.0.6.ebuild b/dev-python/flask-script/flask-script-2.0.6.ebuild
new file mode 100644
index 0000000..c4f3856
--- /dev/null
+++ b/dev-python/flask-script/flask-script-2.0.6.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..12} )
+PYPI_NO_NORMALIZE=1
+PYPI_PN="Flask-Script"
+inherit distutils-r1 pypi
+
+DESCRIPTION="Flask support for writing external scripts"
+HOMEPAGE="https://flask-script.readthedocs.io/en/latest/
+ https://flask-script.readthedocs.io/en/latest/
+ https://pypi.org/project/Flask-Script/"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+RDEPEND=">=dev-python/flask-0.10.1-r1[${PYTHON_USEDEP}]"
+
+PATCHES=( "${FILESDIR}/${P}-flask_script-everywhere.patch" )
+
+distutils_enable_tests pytest
+distutils_enable_sphinx docs
+
+python_test() {
+ epytest tests.py
+}
diff --git a/dev-python/flask-script/metadata.xml b/dev-python/flask-script/metadata.xml
new file mode 100644
index 0000000..cfed05c
--- /dev/null
+++ b/dev-python/flask-script/metadata.xml
@@ -0,0 +1,13 @@
+
+
+
+
+ python@gentoo.org
+ Python
+
+
+
+ Flask-Script
+ smurfix/flask-script
+
+
diff --git a/dev-python/flask-sqlalchemy/Manifest b/dev-python/flask-sqlalchemy/Manifest
new file mode 100644
index 0000000..df27264
--- /dev/null
+++ b/dev-python/flask-sqlalchemy/Manifest
@@ -0,0 +1,3 @@
+DIST Flask-SQLAlchemy-2.5.1.tar.gz 132750 BLAKE2B 6378766e9ae5e697f9a0fe23471f0264e5ac1f4c824657e5197f6c35f9f12eb756528641c1078b1bf470170c557c3201314a80b922b4ab84e4664a0ccaad2a6c SHA512 5d483418204030837e62769d45c16af88c5be6dbafc7c340cc4e67ef1736ea5102f506156119864cd7673cf382b0d3f27050bda64273b93ef4805fce9e1a0f6f
+EBUILD flask-sqlalchemy-2.5.1.ebuild 605 BLAKE2B 6315c50dd04e8560aafd54ffebb6fa117039e89efc9ddb17c89091eaf91864718f6c62054be70458e75124feb30330c0c35589b92e8da44d6e0ec449ce39d411 SHA512 e83d04a2176b61e33ca00094f4478663457a8725e988f93c9d0d2ee646837ebd50eda34cf9563738d7efb87a35884936ba352a7b906dfc4d030d221be7e7540a
+MISC metadata.xml 720 BLAKE2B 0b7ccbc3b323b0cd206c8c461018e901bb1c3386ba1f6ddd6f54c0fb42c485d262edd82c85ea24a07ee4bb40203cab301fc2ae0253326335ed9a80b09ba4c33b SHA512 1702e4420fe8cc018dfdeafeee3e863e8451b0bf7975e18a5632f520a30967f94420ee07c851c11f17a296b962978d5baaef048dd2af5b83ecac8a5a0fe25c01
diff --git a/dev-python/flask-sqlalchemy/flask-sqlalchemy-2.5.1.ebuild b/dev-python/flask-sqlalchemy/flask-sqlalchemy-2.5.1.ebuild
new file mode 100644
index 0000000..e8b3989
--- /dev/null
+++ b/dev-python/flask-sqlalchemy/flask-sqlalchemy-2.5.1.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..12} )
+PYPI_NO_NORMALIZE=1
+PYPI_PN="Flask-SQLAlchemy"
+inherit distutils-r1 pypi
+
+DESCRIPTION="SQLAlchemy support for Flask applications"
+HOMEPAGE="https://pypi.org/project/Flask-SQLAlchemy/"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 x86"
+
+RDEPEND="
+
+
+
+
+ robbat2@gentoo.org
+
+
+ python@gentoo.org
+ Python
+
+
+
+ Flask-SQLAlchemy
+ pallets/flask-sqlalchemy
+ https://github.com/pallets/flask-sqlalchemy/issues
+
+
+ Flask-SQLAlchemy is a Flask microframework extension which adds
+ support for the SQLAlchemy SQL toolkit/ORM.
+
+
diff --git a/dev-python/flask-versioned/Manifest b/dev-python/flask-versioned/Manifest
index 543528e..0773fc4 100644
--- a/dev-python/flask-versioned/Manifest
+++ b/dev-python/flask-versioned/Manifest
@@ -1,2 +1,2 @@
DIST Flask-Versioned-0.9.4-20101221.tar.gz 2273 BLAKE2B 67f527fed308cf4514b8ea517d73e4b70d3e14551a90da3eee8da3e8e151af0cb69cb15435f3c45ad35f376c2f0baea44f789573c7d28edb17e115aa547517fc SHA512 465ea74e0b50e709e689adb4fbe413308f51aa1c3f5df33706030cfd9cd118e021e5ca3dbb419c5dcd3bfb39333e70cbece94dd910c873e507b7155500a01aa5
-EBUILD flask-versioned-0.9.4.ebuild 887 BLAKE2B 279e9a8c4497f0932e1228d2692deae15a2826bcb65487a46efd12c8567e75066fbcf71a3c0aa4833afd928f6a615dbd1a7ba0aad702d85e8a0dded09b7e6c67 SHA512 70364b1747a09f3f06e2f2574c36d0991e215eb9f73b294ffd95ac631c27aca4d5b90e49d24da4a66387d830dcf99ead835d9a745bfc4b3b4bddfd3682e8a449
+EBUILD flask-versioned-0.9.4.ebuild 899 BLAKE2B 39f6bfdbd09e2f16fd8accc6678247250d4c3e8b8d6c9319befcb8b956dfda9565d12a8ddd57872d8310c9d33d1be87e875b96eba7a3a666ba2557db170d2f03 SHA512 3b14026a3ed980fa419d4a677a1be29034d33e6ea004b11f1ac7e6db6f4b8e336e2d4b29027b638541ba3429783c62c94b1d00602e107a6596291071ca1bd67d
diff --git a/dev-python/flask-versioned/flask-versioned-0.9.4.ebuild b/dev-python/flask-versioned/flask-versioned-0.9.4.ebuild
index ac1a107..9b08260 100644
--- a/dev-python/flask-versioned/flask-versioned-0.9.4.ebuild
+++ b/dev-python/flask-versioned/flask-versioned-0.9.4.ebuild
@@ -1,20 +1,18 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-
EAPI=8
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} )
-
-inherit distutils-r1
-
MY_PN="Flask-Versioned"
MY_DATE="20101221"
MY_P="${MY_PN}-${PV}-${MY_DATE}"
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8..12} )
+inherit distutils-r1 pypi
+
DESCRIPTION="Add version info to file paths."
HOMEPAGE="https://github.com/pilt/flask-versioned"
-SRC_URI="mirror://pypi/${MY_P:0:1}/${MY_PN}/${MY_P}.tar.gz"
+SRC_URI="$(pypi_sdist_url --no-normalize ${MY_PN} ${PV}-${MY_DATE})"
LICENSE="BSD"
SLOT="0"
diff --git a/dev-python/flask/Manifest b/dev-python/flask/Manifest
index b4035b7..7125c02 100644
--- a/dev-python/flask/Manifest
+++ b/dev-python/flask/Manifest
@@ -1,2 +1,2 @@
DIST Flask-1.1.4.tar.gz 635920 BLAKE2B c1f19e7449177ecf6e901d5932ad25cbe866ff53b9323f717541922b1ea5b10203ff07630fcf3eabaedd9b6a24ef031ad2aaa2e2f759925363bebfa7e5d967da SHA512 6f427a1264921b8560446afacee2757d16de0dc22d6ed249b7bc5d6f50f3af50c89b79ce900d75b41af4befc53910f2b532c2e280de42837e2133acb6b1bd80d
-EBUILD flask-1.1.4.ebuild 1331 BLAKE2B fb28733820d76464498d0bb61e42951342356c6956a2df5f426ca5559750c67f56f3d04b2b371517be6c0aa11027191d7fad8f165382af5b44f665f6bca7f120 SHA512 f8bde0e7632f9e04c550cf6b6bb0eb1c7c8aa990483ed18774b244eec3bab919c5112a6da6344cb03c8381689cb6452298adc7ffe5c4ed1b93f85e5f38eb6216
+EBUILD flask-1.1.4.ebuild 662 BLAKE2B 0585f5d98864cc44f665b2eedd52974e4ac3c04f349f3940da7464f7bcf215610fc52eae3201d23924b7faabbcb46bab8124c983f9e69997c22396518b6eed73 SHA512 47c74acbbedac8849dc7e3a82d7fa0f3adca8600650705750b834e29bf8a97987a7bad29d576d2627d29a4f6753893163108fcdea6142eb7ec393fbd43885878
diff --git a/dev-python/flask/flask-1.1.4.ebuild b/dev-python/flask/flask-1.1.4.ebuild
index bbfd892..d384054 100644
--- a/dev-python/flask/flask-1.1.4.ebuild
+++ b/dev-python/flask/flask-1.1.4.ebuild
@@ -1,50 +1,26 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-PYTHON_COMPAT=( python3_{7..11} pypy3 )
-inherit distutils-r1
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYPI_PN="Flask"
+PYTHON_COMPAT=( python3_{7..12} )
+inherit distutils-r1 pypi
DESCRIPTION="A microframework based on Werkzeug, Jinja2 and good intentions"
HOMEPAGE="https://github.com/pallets/flask/"
-MY_PN="Flask"
-MY_P="${MY_PN}-${PV}"
-if [[ ${PV} == *9999* ]]; then
- EGIT_REPO_URI="https://github.com/mitsuhiko/flask.git"
- inherit git-r3
-else
- SRC_URI="mirror://pypi/${MY_P:0:1}/${MY_PN}/${MY_P}.tar.gz"
- KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
- S="${WORKDIR}/${MY_P}"
-fi
LICENSE="BSD"
SLOT="0"
-IUSE="examples test"
-RESTRICT="!test? ( test )"
+IUSE=""
+KEYWORDS="x86 amd64"
RDEPEND="
-Date: Sat Apr 18 18:10:59 2020 +0200
-
- Enable pypy tests on github workflow
-
- Fixes: #5223
- Change-Id: I0952e54ed9af2952ea340be1945311376ffc1ad2
-
-diff --git a/lib/sqlalchemy/orm/mapper.py b/lib/sqlalchemy/orm/mapper.py
-index 6f3170a9e..0427eeac5 100644
---- a/lib/sqlalchemy/orm/mapper.py
-+++ b/lib/sqlalchemy/orm/mapper.py
-@@ -1326,7 +1326,7 @@ class Mapper(InspectionAttr):
- if key == "__init__" and hasattr(method, "_sa_original_init"):
- method = method._sa_original_init
- if isinstance(method, types.MethodType):
-- method = method.im_func
-+ method = method.__func__
- if isinstance(method, types.FunctionType):
- if hasattr(method, "__sa_reconstructor__"):
- self._reconstructor = method
-diff --git a/lib/sqlalchemy/testing/plugin/pytestplugin.py b/lib/sqlalchemy/testing/plugin/pytestplugin.py
-index ad4ebb656..dc47f671e 100644
---- a/lib/sqlalchemy/testing/plugin/pytestplugin.py
-+++ b/lib/sqlalchemy/testing/plugin/pytestplugin.py
-@@ -340,7 +340,7 @@ def %(name)s(%(args)s):
- code, {"target": target, "fn": fn}, fn.__name__
- )
- if not add_positional_parameters:
-- decorated.__defaults__ = getattr(fn, "im_func", fn).__defaults__
-+ decorated.__defaults__ = getattr(fn, "__func__", fn).__defaults__
- decorated.__wrapped__ = fn
- return update_wrapper(decorated, fn)
- else:
-diff --git a/lib/sqlalchemy/util/langhelpers.py b/lib/sqlalchemy/util/langhelpers.py
-index 7de16bcdf..e256d7764 100644
---- a/lib/sqlalchemy/util/langhelpers.py
-+++ b/lib/sqlalchemy/util/langhelpers.py
-@@ -151,7 +151,7 @@ def %(name)s(%(args)s):
- decorated = _exec_code_in_env(
- code, {targ_name: target, fn_name: fn}, fn.__name__
- )
-- decorated.__defaults__ = getattr(fn, "im_func", fn).__defaults__
-+ decorated.__defaults__ = getattr(fn, "__func__", fn).__defaults__
- decorated.__wrapped__ = fn
- return update_wrapper(decorated, fn)
-
-@@ -751,7 +751,7 @@ def monkeypatch_proxied_specials(
- fn = getattr(from_cls, method)
- if not hasattr(fn, "__call__"):
- continue
-- fn = getattr(fn, "im_func", fn)
-+ fn = getattr(fn, "__func__", fn)
- except AttributeError:
- continue
- try:
-diff --git a/test/base/test_utils.py b/test/base/test_utils.py
-index 8356de61b..c04dea7cd 100644
---- a/test/base/test_utils.py
-+++ b/test/base/test_utils.py
-@@ -411,7 +411,8 @@ class WrapCallableTest(fixtures.TestBase):
- lambda: my_functools_default(), my_functools_default
- )
- eq_(c.__name__, "partial")
-- eq_(c.__doc__, my_functools_default.__call__.__doc__)
-+ if not compat.pypy: # pypy fails this check
-+ eq_(c.__doc__, my_functools_default.__call__.__doc__)
- eq_(c(), 5)
-
-
-diff --git a/test/engine/test_logging.py b/test/engine/test_logging.py
-index fe4ff44a7..e14c3a37d 100644
---- a/test/engine/test_logging.py
-+++ b/test/engine/test_logging.py
-@@ -8,6 +8,7 @@ from sqlalchemy import or_
- from sqlalchemy import select
- from sqlalchemy import String
- from sqlalchemy import Table
-+from sqlalchemy import testing
- from sqlalchemy import util
- from sqlalchemy.sql import util as sql_util
- from sqlalchemy.testing import assert_raises_message
-@@ -460,10 +461,12 @@ class PoolLoggingTest(fixtures.TestBase):
- q = self._stpool_logging_fixture()
- self._test_queuepool(q, False)
-
-+ @testing.requires.predictable_gc
- def test_queuepool_echo(self):
- q = self._queuepool_echo_fixture()
- self._test_queuepool(q)
-
-+ @testing.requires.predictable_gc
- def test_queuepool_logging(self):
- q = self._queuepool_logging_fixture()
- self._test_queuepool(q)
-diff --git a/test/engine/test_pool.py b/test/engine/test_pool.py
-index 3b989959e..c8cd89555 100644
---- a/test/engine/test_pool.py
-+++ b/test/engine/test_pool.py
-@@ -608,6 +608,7 @@ class PoolEventsTest(PoolTestBase):
- assert canary.call_args_list[0][0][0] is dbapi_con
- assert canary.call_args_list[0][0][2] is exc
-
-+ @testing.requires.predictable_gc
- def test_checkin_event_gc(self):
- p, canary = self._checkin_event_fixture()
-
-diff --git a/test/orm/test_deferred.py b/test/orm/test_deferred.py
-index f8817bbd7..2bf466c15 100644
---- a/test/orm/test_deferred.py
-+++ b/test/orm/test_deferred.py
-@@ -1700,6 +1700,8 @@ class WithExpressionTest(fixtures.DeclarativeMappedTest):
- c1 = s.query(C).order_by(C.id)
- eq_(c1.all(), [C(c_expr=1), C(c_expr=1)])
-
-+ s.expunge_all()
-+
- c2 = (
- s.query(C)
- .options(with_expression(C.c_expr, C.x * 2))
-
-commit 8d3ac81a8794bdd3532ad07427edf9f48493919d
-Date: Wed Oct 14 18:25:45 2020 +0200
-
- Skip a failing test that got removed in master
-
- https://github.com/sqlalchemy/sqlalchemy/commit/a9b068ae564e5e775e312373088545b75aeaa1b0
-
-diff --git a/test/orm/test_deprecations.py b/test/orm/test_deprecations.py
-index 156898f..0d6dc72 100644
---- a/test/orm/test_deprecations.py
-+++ b/test/orm/test_deprecations.py
-@@ -560,7 +560,7 @@ class StrongIdentityMapTest(_fixtures.FixtureTest):
- def test_prune_imap(self):
- self._test_prune(self._strong_ident_fixture)
-
-- def test_prune_events(self):
-+ def _test_prune_events(self):
- self._test_prune(self._event_fixture)
-
- @testing.fails_if(lambda: pypy, "pypy has a real GC")
-
-commit 1a1cc0e623698a75274f1525d2d14464ff738b86
-Date: Wed Oct 14 18:28:56 2020 +0200
-
- Fix PyPy-related tests
-
- Partial backport of https://github.com/sqlalchemy/sqlalchemy/commit/9e31fc74089cf565df5f275d22eb8ae5414d6e45
-
-diff --git a/test/base/test_utils.py b/test/base/test_utils.py
-diff --git a/test/base/test_utils.py b/test/base/test_utils.py
-index 8356de61b..c3d25b824 100644
---- a/test/base/test_utils.py
-+++ b/test/base/test_utils.py
-@@ -1725,7 +1725,7 @@ class ArgInspectionTest(fixtures.TestBase):
-
- assert_raises(TypeError, get_callable_argspec, datetime.datetime.now)
-
-- @fails_if(lambda: util.pypy, "pypy returns plain *arg, **kw")
-+ @testing.requires.cpython
- def test_callable_argspec_obj_init(self):
- assert_raises(TypeError, get_callable_argspec, object)
-
-@@ -2154,10 +2154,7 @@ class TestFormatArgspec(_Py3KFixtures, fixtures.TestBase):
- grouped=False,
- )
-
-- @testing.fails_if(
-- lambda: util.pypy,
-- "pypy doesn't report Obj.__init__ as object.__init__",
-- )
-+ @testing.requires.cpython
- def test_init_grouped(self):
- object_spec = {
- "args": "(self)",
-@@ -2181,10 +2178,7 @@ class TestFormatArgspec(_Py3KFixtures, fixtures.TestBase):
- self._test_init(None, object_spec, wrapper_spec, custom_spec)
- self._test_init(True, object_spec, wrapper_spec, custom_spec)
-
-- @testing.fails_if(
-- lambda: util.pypy,
-- "pypy doesn't report Obj.__init__ as object.__init__",
-- )
-+ @testing.requires.cpython
- def test_init_bare(self):
- object_spec = {
- "args": "self",
diff --git a/dev-python/sqlalchemy/sqlalchemy-1.3.24.ebuild b/dev-python/sqlalchemy/sqlalchemy-1.3.24.ebuild
deleted file mode 100644
index 4ab9645..0000000
--- a/dev-python/sqlalchemy/sqlalchemy-1.3.24.ebuild
+++ /dev/null
@@ -1,62 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( pypy3 python3_{7..11} )
-PYTHON_REQ_USE="sqlite?"
-
-inherit distutils-r1 multiprocessing optfeature
-
-MY_PN="SQLAlchemy"
-MY_P="${MY_PN}-${PV/_beta/b}"
-
-DESCRIPTION="Python SQL toolkit and Object Relational Mapper"
-HOMEPAGE="https://www.sqlalchemy.org/ https://pypi.org/project/SQLAlchemy/"
-SRC_URI="mirror://pypi/${MY_P:0:1}/${MY_PN}/${MY_P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="examples +sqlite test"
-
-# Use pytest-xdist to speed up tests
-BDEPEND="
- test? (
- $(python_gen_impl_dep sqlite)
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- )
-"
-
-PATCHES=(
- # Ported part of those commits to fix failing tests:
- # https://github.com/sqlalchemy/sqlalchemy/commit/c68f9fb87868c45fcadcc942ce4a35f10ff2f7ea
- # https://github.com/sqlalchemy/sqlalchemy/commit/a9b068ae564e5e775e312373088545b75aeaa1b0
- # https://github.com/sqlalchemy/sqlalchemy/commit/9e31fc74089cf565df5f275d22eb8ae5414d6e45
- "${FILESDIR}/sqlalchemy-1.3.20-pypy3.patch"
-)
-
-distutils_enable_tests pytest
-
-python_test() {
- # Disable tests hardcoding function call counts specific to Python versions.
- epytest --ignore test/aaa_profiling \
- -n "$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")"
-}
-
-python_install_all() {
- if use examples; then
- docompress -x "/usr/share/doc/${PF}/examples"
- dodoc -r examples
- fi
-
- distutils-r1_python_install_all
-}
-
-pkg_postinst() {
- optfeature "MySQL support" dev-python/mysqlclient dev-python/pymysql \
- dev-python/mysql-connector-python
- optfeature "mssql support" dev-python/pymssql
- optfeature "postgresql support" dev-python/psycopg:2
-}
diff --git a/dev-python/sqlsoup/Manifest b/dev-python/sqlsoup/Manifest
deleted file mode 100644
index 5926dd3..0000000
--- a/dev-python/sqlsoup/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST sqlsoup-0.9.1.tar.gz 20622 BLAKE2B 4356f935192423ea196e6d29e4e1d520667fe4a55add7b91d7930e19d6470c97e296e6373ae4dc539ca5487c75360592073b91d714acfb54439c2e155d862d4c SHA512 a6fee93bf7be24545c785ab995e345374ae947714c5233ede6aaf7a263e75f88987c8a875903891f35088eebdba789467ada3bcfc030cc77a65afc63aae069d7
-EBUILD sqlsoup-0.9.1.ebuild 592 BLAKE2B 73714de0cb388cb21baf2f18c2b58e760fbf1820ab5e5312a7115192e0a47bb32b554fd64691e84f791291c196145f2465d9a175bdb867344dd3c5fec5fd3106 SHA512 052e674d668851209a6b4b301bd208d06b3ee884306bbff72ba75523e41791ffda4aca51d1eaf1f70679c7e182d1b6fa1cd3fa261f4bc681cca0b525f16d4a0b
diff --git a/dev-python/sqlsoup/sqlsoup-0.9.1.ebuild b/dev-python/sqlsoup/sqlsoup-0.9.1.ebuild
deleted file mode 100644
index 5fccf99..0000000
--- a/dev-python/sqlsoup/sqlsoup-0.9.1.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2011 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: $
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="A one step database access tool, built on the SQLAlchemy ORM."
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-HOMEPAGE="http://readthedocs.org/docs/sqlsoup/"
-
-IUSE=""
-SLOT="0"
-LICENSE="LGPL-2"
-KEYWORDS="x86 amd64"
-
-RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
-
+
+
+
+ python@gentoo.org
+ Python
+
+
+
diff --git a/virtual/python-cffi/python-cffi-1.ebuild b/virtual/python-cffi/python-cffi-1.ebuild
new file mode 100644
index 0000000..e55ce49
--- /dev/null
+++ b/virtual/python-cffi/python-cffi-1.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# please keep this ebuild at EAPI 7 -- sys-apps/portage dep
+EAPI=7
+
+PYTHON_COMPAT=( python3_{7..12} pypy3 )
+
+inherit python-r1
+
+DESCRIPTION="A virtual for the Python cffi package"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+# built-in in PyPy and PyPy3
+RDEPEND="${PYTHON_DEPS}
+ $(python_gen_cond_dep 'dev-python/cffi[${PYTHON_USEDEP}]' 'python*')"
diff --git a/www-apps/privacyidea/Manifest b/www-apps/privacyidea/Manifest
index 837641a..4b4b5d5 100644
--- a/www-apps/privacyidea/Manifest
+++ b/www-apps/privacyidea/Manifest
@@ -1,7 +1,5 @@
AUX logging.yaml 804 BLAKE2B 45e9101edc94758e135033fc651fd3578b6696eb1d2a06dee5a5c1dec0f5715ebf45eee7af4f5fc65cd632e38420d5a9dd6f3b76b6bacba2683f217ab4441e24 SHA512 b1b038fac9897d202b3002688b6513f4e425675d99d59ac9c645d9712f8abfa5884284748b0db90b3c9afefdd2bef328d65cf7e9b63191478f97acba72e53140
-DIST privacyidea-3.7.3.tar.gz 9478925 BLAKE2B f10abac67c32619c6dc0866096c9dd49e19a9a8ab7f9cfc450ed9f9e84e148dd75c653b231c34d413894006b378af5fc0955e01600319b36cd25400e67ca6e2f SHA512 c069fc4907149640ab188dc5c6153e30afda45bbb66e7b539b11825b6e1c183f155d6aa7d92c12a4ad6f3299aa97d797702573c5a1645e8d5d437624a48dc2a3
-DIST privacyidea-3.8.1.tar.gz 9750669 BLAKE2B 946e546b7d8364f8294f14ca40dd9bb06767fc01df11e176ac899841692440cbdbacc1a3214cf7d5b1c3d632b8b9d0ab3fec5eeacd0dee5cd6c0de9240ad84f9 SHA512 e2d7bd04afed9283a308eaf0fca0182d2b3b33a43d0612fd0bc18ed55f7693d016527a0cc2effdb05515dda3753ee5f526152210fe46984d5f029162a28e6277
-DIST privacyidea-FreeRADIUS-3.4.2.tar.gz 16146 BLAKE2B 407e391f3d34d1976c6306465e4e254471a766b97de715e01456a58f7c3f98e966d800edf2b52796324f645f33aa5fda61c30f779ac8f1ec7755c3e9568cb782 SHA512 21c8f4617db330cce3b24b4a9d5074817cab706490aa9d8c2f49953e53faf555136e37bf7c629ea1ae53c6a3a1dbfd26d284d595a8caecbb979fabb30f8d647c
+DIST privacyidea-3.10.1.tar.gz 11525325 BLAKE2B c380b9faad1bef657f557386c04efbf96f0bda5be31d6447cf91dabb39d3b19b09ee27d48eb3efcc3eecec441c9be262ba93b64ac82260dd5995477ad7473038 SHA512 10a7ebdf267f77b8b089d387d58af2aa6b219b0c05e2b9e4f5a1adf294e6a9e81ebe1fb3981da9e4215fa60ce068a45595d615288c927f2529817311088c46ef
+DIST privacyidea-FreeRADIUS-3.4.3.tar.gz 16590 BLAKE2B a44e222c5091020187dcc8398b3389977114b4a3589856bc35ec93f6d132ba461341d4fce84505d706c1481b1f4d39cf93cc19f53d3492211d3e9d70bc16ba50 SHA512 274a02e2a43f89fe517ac2979dd6f6ef1415369a2bd8efc7216df8cc4d75c241f1a22098c08d7e3c1fe09c256b6944dd3e5eb71417a08a7d1536fb227347381d
DIST v0.1.0.tar.gz 17714 BLAKE2B d08cad8597a87f4a3ad77d33f06df77acf3902d95ca2f40c272270505350462e3ff30709a93e1595af73f3370e9e2bf2ac66c41f7e0214894a59a6a6f4d35e98 SHA512 0bcd69c8bc9bec35d965ef4c4638bad7ad15c91b115743a4546df2f2661202249df9cee47483a400c257d293033703bcaa7c29e83e05f901aa2cf78cd5ee1755
-EBUILD privacyidea-3.7.3.ebuild 4550 BLAKE2B 6284dc9bf05e7fbe6fe6a08ea8769c30bd48420c695fe4b5a76ee675579dc8d1d4256fb57ca25716c66d530ff7af979b83788a86da8b52bcf3b17f6061fba885 SHA512 aef22249b05b6627a2c53816bc4680f1c6361d2d34c0f8d3a893803e6169a00219e9ccd2b2e96c4c3d6219c98880d7192e297635813e9024a6ce67bafc555f1f
-EBUILD privacyidea-3.8.1.ebuild 4850 BLAKE2B cdc51b842fb142136a41e37e05dd4870a84b9af5d7fc283377a2f8bc9b83b34c4a050912b7a2efc898ba2a75803787b391357facf92065ebf31be1e45857bde4 SHA512 156842c54ff797f476c5a5c126f208b2b23fa5e2688e2f51d51916fb8dee96a0805caaf90bbb7e3df2db4e0e82d3ff3216af8b27df0b345d2156b3190b0cf2d4
+EBUILD privacyidea-3.10.1.ebuild 4187 BLAKE2B 0abaa5fd09934344c27fb90aa5e520336192f7662bbfed56059ff9bb3bcebdcaa24e5cde1df3aeae7851776935d15d2051b73b022fb157d557ca458144d6fcf9 SHA512 96a29b8080e92cdf656a57c479b3b4f4783525ad86fbd6caf077404b67d6c53d2975b9ef7b028ff75eb06feb79057185831efaa4ecddb9967cfd14fbd6ad29cc
diff --git a/www-apps/privacyidea/privacyidea-3.7.3.ebuild b/www-apps/privacyidea/privacyidea-3.10.1.ebuild
similarity index 79%
rename from www-apps/privacyidea/privacyidea-3.7.3.ebuild
rename to www-apps/privacyidea/privacyidea-3.10.1.ebuild
index d27beee..e4779cd 100644
--- a/www-apps/privacyidea/privacyidea-3.7.3.ebuild
+++ b/www-apps/privacyidea/privacyidea-3.10.1.ebuild
@@ -5,11 +5,11 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
-VRADIUS="3.4.2"
+VRADIUS="3.4.3"
VWEBAUTHN="0.1.0"
DESCRIPTION="privacyIDEA is a modular authentication system"
@@ -42,46 +42,38 @@ RDEPEND="
dev-perl/URI-Encode
dev-perl/libwww-perl
dev-python/argon2-cffi[${PYTHON_USEDEP}]
- dev-python/bcrypt[${PYTHON_USEDEP}]
dev-python/beautifulsoup4[${PYTHON_USEDEP}]
dev-python/cbor2[${PYTHON_USEDEP}]
dev-python/configobj[${PYTHON_USEDEP}]
dev-python/croniter[${PYTHON_USEDEP}]
+ dev-python/cryptography[${PYTHON_USEDEP}]
dev-python/defusedxml[${PYTHON_USEDEP}]
- dev-python/docutils[${PYTHON_USEDEP}]
${P}.tar.gz
- https://github.com/${PN}/webauthn-client/archive/v${VWEBAUTHN}.tar.gz
- https://github.com/${PN}/FreeRADIUS/archive/v${VRADIUS}.tar.gz -> ${PN}-FreeRADIUS-${VRADIUS}.tar.gz"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE="+mysql postgres sqlite -translation"
-
-DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
- translation? ( net-libs/nodejs[npm]
- app-i18n/poedit )"
-RDEPEND="
- acct-group/privacyidea
- acct-user/privacyidea
- mysql? ( dev-python/mysqlclient[${PYTHON_USEDEP}] )
- postgres? ( dev-python/psycopg[${PYTHON_USEDEP}] )
- sqlite? ( dev-python/sqlalchemy[${PYTHON_USEDEP}] )
- dev-perl/Config-IniFiles
- dev-perl/Crypt-SSLeay
- dev-perl/Data-Dump
- dev-perl/JSON
- dev-perl/Net-SSLeay
- virtual/perl-Time-HiRes
- dev-perl/Try-Tiny
- dev-perl/URI-Encode
- dev-perl/libwww-perl
- dev-python/argon2-cffi[${PYTHON_USEDEP}]
- dev-python/argon2-cffi-bindings[${PYTHON_USEDEP}]
- dev-python/bcrypt[${PYTHON_USEDEP}]
- dev-python/beautifulsoup4[${PYTHON_USEDEP}]
- dev-python/cbor2[${PYTHON_USEDEP}]
- dev-python/configobj[${PYTHON_USEDEP}]
- dev-python/croniter[${PYTHON_USEDEP}]
- dev-python/defusedxml[${PYTHON_USEDEP}]
- dev-python/docutils[${PYTHON_USEDEP}]
- > /$D/etc/privacyidea/pi.cfg
- doins deploy/privacyidea/NetKnights.pem
- doins deploy/privacyidea/enckey
- doins deploy/privacyidea/private.pem
- doins deploy/privacyidea/public.pem
- doins ../FreeRADIUS-${VRADIUS}/rlm_perl.ini
- doins ../FreeRADIUS-${VRADIUS}/dictionary.netknights
-
- insinto /etc/privacyidea/freeradius2
- doins ../FreeRADIUS-${VRADIUS}/config/freeradius2/mods-perl-privacyidea
- doins ../FreeRADIUS-${VRADIUS}/config/freeradius2/privacyidea
- insinto /etc/privacyidea/freeradius3
- doins ../FreeRADIUS-${VRADIUS}/config/freeradius3/mods-perl-privacyidea
- doins ../FreeRADIUS-${VRADIUS}/config/freeradius3/privacyidea
-
- insinto /usr/share/privacyidea/freeradius
- doins ../FreeRADIUS-${VRADIUS}/privacyidea_radius.pm
-
- fowners -R ${PN}:root /etc/privacyidea
- fperms 600 /etc/privacyidea/enckey \
- /etc/privacyidea/private.pem
-
- diropts -o privacyidea -g root
- keepdir /var/log/privacyidea
-
- diropts -o privacyidea -g privacyidea
- keepdir /var/lib/privacyidea/home
-}
diff --git a/www-apps/privacyideaadm/Manifest b/www-apps/privacyideaadm/Manifest
index 6a48b0c..99999cd 100644
--- a/www-apps/privacyideaadm/Manifest
+++ b/www-apps/privacyideaadm/Manifest
@@ -1,4 +1,3 @@
-DIST privacyideaadm-2.23.5.tar.gz 59034 BLAKE2B b23b297e9d182760cf1e977f42b16b528cb2eff29b72687250b78fa69d266275dd82ebd1e0d8eddb499ecf9693976f5ba9aeabbac1d9b7049144bfac869a9003 SHA512 cbad4380335cb1f9c572cec4c9f9764bdbdcb6e5b537aaff5732e4fa49ed41e8f65ec1e6b67cbf514e7a0f41737fcf6170cf272723d645c4cf9f4cd3c4b5ce6e
+AUX setup-remove-doc.patch 1014 BLAKE2B c613a28c523ef8e337cb22c2d28e6c439d6ad93f30b6c908b7535f636d3bc0956a0098622a10dc4afb7c864f401cd0bdd77fe32200b75072ccd22c54d17424ab SHA512 2ae7aefd5f162b20051625d78059cdc967d5845c717fb286b3d4f6f32cc6835b065518ec5c8b3fa139482021735a345688ba95a4ba501069b1db2b44ce47c75c
DIST privacyideaadm-3.0.tar.gz 62895 BLAKE2B edf74ff8f2892aaeab8fa6b6c2c0a2b6ca79f19b2b33b712b30c5a452b658ed581ea322d29ac933ea5f160e0d50646203e9adc9c806200ad3130d5f668399854 SHA512 fad29d008cd87e6806a04ceeae42663c544d68c358361c3e9ae1e61abf249792809d4eb2f4cf0030f29681b44ad1336a772aa81e924a409bcb58bbafb0e54f30
-EBUILD privacyideaadm-2.23.5.ebuild 1008 BLAKE2B f04e42b205fc2d2c84306f4d3c15b5ef09e1df9fca55d66ccc43afb78b1d2b1921d1c785d390c02c3ada6c36ec173eb972d1ce22b194e7acd5cb1bf5c096430a SHA512 bb5126702f949ac2e25953f9aa1c9c347fc2ba4169d1ffab4078db9ece1c16931737506f453780856ef06bc8078028a1a3431957863005c4db24a31dbc4e45ff
-EBUILD privacyideaadm-3.0.ebuild 1038 BLAKE2B c77b647f6d7bd860323551bc6ca7c8d58b86cc372cc354e332300ddcb3d2b43a1edbd25eb30cd53e1ead393a4c8e5669d7b6eabb130cc89a25b704d486265e2a SHA512 c527d74d133918e8770f92f5cca08aa8230f9ae64f0321dd389571a41d784057f5524161422215c37f38056e2f067882dbbcb15a826a7f4deccf51808271a7c7
+EBUILD privacyideaadm-3.0.ebuild 1185 BLAKE2B a592614634c12a19f065ae687e994c28a9e97ad78eee454a95f8e6b20cf93a572003adcd3e278d48048f8081b82147a33cf92a28965743e3e49906bfb0dcef6c SHA512 8bf24940f188b6cbb4b658ddf6421be280dc89b41e7012cb27da594982ca239072d693cdd01bf8825876fa9ee80eacba8605104f6b250d2186b988458c8e9a3a
diff --git a/www-apps/privacyideaadm/files/setup-remove-doc.patch b/www-apps/privacyideaadm/files/setup-remove-doc.patch
new file mode 100644
index 0000000..a4a666a
--- /dev/null
+++ b/www-apps/privacyideaadm/files/setup-remove-doc.patch
@@ -0,0 +1,27 @@
+--- setup.py.orig 2020-08-30 07:47:54.000000000 +0200
++++ setup.py 2024-11-20 19:57:52.755615897 +0100
+@@ -52,16 +52,6 @@
+ "requests",
+ "six"
+ ],
+- cmdclass=cmdclass,
+- command_options={
+- 'build_sphinx': {
+- 'project': ('setup.py', name),
+- 'version': ('setup.py', version),
+- 'source_dir': ('setup.py', 'doc'),
+- 'build_dir': ('setup.py', os.path.join('doc', '_build')),
+- 'builder': ('setup.py', 'man')
+- }
+- },
+ scripts=['scripts/privacyidea',
+ 'scripts/privacyidea-luks-assign',
+ 'scripts/privacyidea-authorizedkeys',
+@@ -69,7 +59,6 @@
+ 'scripts/privacyidea-get-offline-otp',
+ 'scripts/privacyidea-validate',
+ 'scripts/privacyidea-enroll-yubikey-piv'],
+- data_files=[('share/man/man1', ["doc/_build/man/privacyidea.1"])],
+ license='AGPLv3',
+ long_description=get_file_contents('DESCRIPTION')
+ )
diff --git a/www-apps/privacyideaadm/privacyideaadm-2.23.5.ebuild b/www-apps/privacyideaadm/privacyideaadm-2.23.5.ebuild
deleted file mode 100644
index a5451c1..0000000
--- a/www-apps/privacyideaadm/privacyideaadm-2.23.5.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=6
-
-PYTHON_COMPAT=( python3_{5,6,7,8} )
-
-PV_COMMIT="c92f510520ffb32374dc35298e2c865644f1d691"
-
-inherit distutils-r1
-
-DESCRIPTION="a command line client to manage the privacyIDEA server"
-HOMEPAGE="https://www.privacyidea.org/"
-SRC_URI="https://github.com/privacyidea/${PN}/archive/${PV_COMMIT}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE=""
-
-S=${WORKDIR}/${PN}-${PV_COMMIT}
-
-DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
- >dev-python/sphinx-2.0[${PYTHON_USEDEP}]"
-RDEPEND="virtual/python-cffi[${PYTHON_USEDEP}]
- dev-python/flask-script[${PYTHON_USEDEP}]
- dev-python/python-yubico[${PYTHON_USEDEP}]
- dev-python/pyusb[${PYTHON_USEDEP}]
- dev-python/qrcode[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]"
-
-
-src_prepare(){
- rm -rf tests
- emake man
- eapply_user
-}
diff --git a/www-apps/privacyideaadm/privacyideaadm-3.0.ebuild b/www-apps/privacyideaadm/privacyideaadm-3.0.ebuild
index 8028261..c319a7d 100644
--- a/www-apps/privacyideaadm/privacyideaadm-3.0.ebuild
+++ b/www-apps/privacyideaadm/privacyideaadm-3.0.ebuild
@@ -5,7 +5,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} )
+PYTHON_COMPAT=( python3_{8..12} )
PV_COMMIT="96eadf89893d73de480b6fe6a06dcf88c69cb7f6"
@@ -22,8 +22,8 @@ IUSE=""
S=${WORKDIR}/${PN}-${PV_COMMIT}
-DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
- >dev-python/sphinx-2.0[${PYTHON_USEDEP}]"
+##DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+## dev-python/sphinx[${PYTHON_USEDEP}]"
RDEPEND="virtual/python-cffi[${PYTHON_USEDEP}]
dev-python/click[${PYTHON_USEDEP}]
dev-python/cryptography[${PYTHON_USEDEP}]
@@ -32,9 +32,16 @@ RDEPEND="virtual/python-cffi[${PYTHON_USEDEP}]
dev-python/requests[${PYTHON_USEDEP}]
dev-python/six[${PYTHON_USEDEP}]"
+PATCHES=(
+ "${FILESDIR}"/setup-remove-doc.patch
+)
+
src_prepare(){
+ patch setup.py "${FILESDIR}"/setup-remove-doc.patch
rm -rf tests
- emake man
+## emake man
eapply_user
}
+
+distutils_enable_sphinx doc --no-autodoc