commit: 2d07c055914580ce94f5554a341269bee0982fb1 Author: Oz Tiram <oz.tiram <AT> gmail <DOT> com> AuthorDate: Wed May 28 19:10:40 2025 +0000 Commit: Michał Górny <mgorny <AT> gentoo <DOT> org> CommitDate: Sat Jun 14 05:43:19 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2d07c055
dev-python/authlib: new package, add 1.5.2 Signed-off-by: Oz Tiram <oz.tiram <AT> gmail.com> Part-of: https://github.com/gentoo/gentoo/pull/39331 Signed-off-by: Michał Górny <mgorny <AT> gentoo.org> dev-python/authlib/Manifest | 1 + dev-python/authlib/authlib-1.5.2.ebuild | 75 +++++++++++++++++++++++++++++++++ dev-python/authlib/metadata.xml | 28 ++++++++++++ 3 files changed, 104 insertions(+) diff --git a/dev-python/authlib/Manifest b/dev-python/authlib/Manifest new file mode 100644 index 000000000000..2211b6b7a705 --- /dev/null +++ b/dev-python/authlib/Manifest @@ -0,0 +1 @@ +DIST authlib-1.5.2.gh.tar.gz 331162 BLAKE2B e4f25f621398ca85b2d1e526aaa24a6ed07512afe85023646764682fb49353b7ae4052405747161b041e5873404ec88396b589463fe27be1495ef4fea9150a49 SHA512 ac396e3ea13637aa612f5893687b9dc51988addf719c304007ec6966ac36f843e82090ebe109d454d8da8766eeb50661a0968ff7f596b00541aaf592df919892 diff --git a/dev-python/authlib/authlib-1.5.2.ebuild b/dev-python/authlib/authlib-1.5.2.ebuild new file mode 100644 index 000000000000..d43af1f05b2e --- /dev/null +++ b/dev-python/authlib/authlib-1.5.2.ebuild @@ -0,0 +1,75 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517="setuptools" +PYTHON_COMPAT=( python3_{11..13} ) + +inherit distutils-r1 + +DESCRIPTION="A Python library in building OAuth and OpenID Connect servers and clients" +HOMEPAGE=" + https://authlib.org/ + https://github.com/authlib/authlib/ + https://pypi.org/project/Authlib/ +" +# pypi source distribution excludes the tests +SRC_URI=" + https://github.com/authlib/authlib/archive/refs/tags/v${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64" +IUSE="django flask jose test" +RESTRICT="!test? ( test )" + +RDEPEND=" + dev-python/cryptography[${PYTHON_USEDEP}] + django? ( + dev-python/django[${PYTHON_USEDEP}] + ) + flask? ( + dev-python/flask[${PYTHON_USEDEP}] + dev-python/flask-sqlalchemy[${PYTHON_USEDEP}] + ) + jose? ( + >=dev-python/pycryptodome-3.10[${PYTHON_USEDEP}] + ) +" +BDEPEND=" + test? ( + dev-python/pytest-asyncio[${PYTHON_USEDEP}] + dev-python/anyio[${PYTHON_USEDEP}] + dev-python/cachelib[${PYTHON_USEDEP}] + dev-python/django[${PYTHON_USEDEP}] + dev-python/flask[${PYTHON_USEDEP}] + dev-python/flask-sqlalchemy[${PYTHON_USEDEP}] + dev-python/httpx[${PYTHON_USEDEP}] + >=dev-python/pycryptodome-3.10[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] + dev-python/starlette[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +src_prepare() { + distutils-r1_src_prepare + + # convert from pycryptodomex to pycryptodome + sed -i -e 's:from Cryptodome:from Crypto:' \ + authlib/jose/drafts/_jwe_enc_cryptodome.py || die +} + +python_test() { + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + local -x DJANGO_SETTINGS_MODULE=tests.clients.test_django.settings + epytest -p asyncio tests/{core,jose,clients,flask} + + # TODO: django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet. + #local -x DJANGO_SETTINGS_MODULE=tests.django.settings + #epytest -p asyncio tests/django +} diff --git a/dev-python/authlib/metadata.xml b/dev-python/authlib/metadata.xml new file mode 100644 index 000000000000..323c75afd312 --- /dev/null +++ b/dev-python/authlib/metadata.xml @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person" proxied="yes"> + <name>Oz Tiram</name> + <email>[email protected]</email> + </maintainer> + <maintainer type="project" proxied="no"> + <name>Proxy Maintainers</name> + <email>[email protected]</email> + </maintainer> + <maintainer type="project"> + <email>[email protected]</email> + <name>Python</name> + </maintainer> + <stabilize-allarches/> + <use> + <flag name="django">Enable Django framework support</flag> + <flag name="flask">Enable Flask framework support</flag> + <flag name="jose">Enable JSON Object Signing and Encryption (JOSE) support via <pkg>dev-python/pycryptodome</pkg></flag> + </use> + <upstream> + <remote-id type="github">authlib/authlib</remote-id> + <remote-id type="pypi">Authlib</remote-id> + <doc>https://docs.authlib.org/</doc> + <bugs-to>https://github.com/authlib/authlib/issues</bugs-to> + </upstream> +</pkgmetadata>
