summaryrefslogtreecommitdiff
path: root/dev-python/starlette
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python/starlette')
-rw-r--r--dev-python/starlette/Manifest7
-rw-r--r--dev-python/starlette/files/starlette-0.38.0-py313.patch35
-rw-r--r--dev-python/starlette/starlette-0.38.0.ebuild55
-rw-r--r--dev-python/starlette/starlette-0.38.1.ebuild61
-rw-r--r--dev-python/starlette/starlette-0.38.2.ebuild55
5 files changed, 213 insertions, 0 deletions
diff --git a/dev-python/starlette/Manifest b/dev-python/starlette/Manifest
index 2d0de0ef5cbb..54a60ae49b13 100644
--- a/dev-python/starlette/Manifest
+++ b/dev-python/starlette/Manifest
@@ -1,3 +1,10 @@
+AUX starlette-0.38.0-py313.patch 1397 BLAKE2B 652540aed41553e833b7f5898676a88e209ffd4c9e51d97cc71e85b99f481b0aec17cde3c294f64cd6dd45760d1c8f5024643efa672c3fca8ed8798e79fd44ca SHA512 530624e4c88bf5402605f7292774e15f1c0768f36b2160fc586ec12a042d96e57eb992ba1c8bf5351b38b05dd69ec95d59a48fd8f70dc15ab60b7b3f829cf23b
DIST starlette-0.37.2.gh.tar.gz 2846433 BLAKE2B 489fe0d3148f8f006d32d3e52e82cc2c07d9b1a8e3a3cadabe2aa2eb9dd7e00b35e2093dc1de0cb4a6a4606395ed4d19b26778686216a7f8b55a15e61701c9da SHA512 27240c706553e610da05cfc92f818c61e97a891ea7c960fef925a122100a61931cbca973a0995aa1e79d192cda2250139f471929a3f4a7b0f4600d00b6287744
+DIST starlette-0.38.0.gh.tar.gz 2847354 BLAKE2B edcaa8d360f8316fc91f8e32efe778c74bad491c044e2cf5577878a27b840303b34a8f0aa0cc518165a54f28049fb9ed27af4f7e260dc6fc4fbf1f61897237e6 SHA512 89b79f8e3daf1567bc69a2f1f6710a0e981a6633cd462eaa1e014e514f4dbdc98fcb592a3750a1055f08bad28908fc763267e7902479553513e96e2db566b63f
+DIST starlette-0.38.1.gh.tar.gz 2847236 BLAKE2B 79ab91120ac9739e438c6fb52f36c7b2b011ad9b12dbe7f6b883b19e58d76189da4cbb3f42e8d0ffba957b225596f6a938862dd577962b2f9b7114c2105f3de3 SHA512 a7f6415a2fb3640a7f6568fc8d115a04b43ca93f9cff189802d79c1c2c33d3a6eaa631a04c871e4897d9c9d260d2b410095813ec90a86b8c1a23696608f30148
+DIST starlette-0.38.2.gh.tar.gz 2847558 BLAKE2B 8416b4c0ab06be3cd0a90916cbd6682f28f4f09ed38bac0558fd6293bc4e1069c5d09a2a3e6ecc62522290db1dd05e4828eaceab96d547947bffb6d464364aa5 SHA512 5594f2f073662250cd7ca47bf835af09b77decd78b5e2f2a5e25fc87e3e59ccc61e6c07ad854feda11b1af8535744557d70778d2c57d01554756f8da10678a97
EBUILD starlette-0.37.2.ebuild 1265 BLAKE2B adb32ccbf06f93eeebc0346cb5a767b3581a6994a19b578914474e70fff864775b84ebccd1ef21d62aa521ff6a12c3c0e080f3c50a4eda065bb62ff4e17e6823 SHA512 5217518152c271b88b84e4c7f69be71b996b758ff71d2e7ac058be4eaa82857ce8021d3299c5b0d487d23e7a1488035c2305cd849ca8fa760ad2202bbabfd479
+EBUILD starlette-0.38.0.ebuild 1288 BLAKE2B b3f8be03dc24308399466b922de5913fe888ae28f0f1c632b6c5c76e97ac155fb37f60dbe188b35db36e46393d3884c4cd419fa609a88bfae272fb6ec7302d5d SHA512 69f8ca70731b17bbd9e803bd2d5343591aab2a9b989ef414db5e86082d78b74cc9770d629192c9c9ee532e16e51c0f4ffb12f47b000997d240495abe69d55ece
+EBUILD starlette-0.38.1.ebuild 1430 BLAKE2B 7cf4712741519f169be7b6deb5d976d84fb1102f7f6a93b24ac6ae6fe74003dbb617b6e50090147b679a6fdcf75aed6c5190ba5cce39fac6573cfabd1f4cb815 SHA512 8b8cdc844224557cc21dba16a72fde01961952dc405165c349959a8c5a2229e04dea7ceb1615f8bd54fd45f873e922de4e3d14af53d80f37cc9070d4be379085
+EBUILD starlette-0.38.2.ebuild 1285 BLAKE2B 6b846bc773c958c560f2e6a3ca8a18b9ccf38062625b9de2c995ab6556608cd1461a67a47c191957cb621084bb733723c42d8e79ab39f5e18f13e5066e8eb8fc SHA512 1c8da9b4a909aaf1df6432f6d2429e9db295b0ad39258e6436836f9fdb422d15527ad7e5af021b6a75c8b488a9a3bf667d1d1a9a0a68b99563c1d85a74616aed
MISC metadata.xml 371 BLAKE2B 0ccaa4659e63162b565359a1cae05764bea66d708a5f4af1a4716ba9ba23faa39ab4f5a806c0a9783f3f42282ee9b98e22a92f2b308b8dfe97bbf9c770a8add1 SHA512 0fc326941861260becd4129c8a351e89ba0f98f9a3ce9b5d50812f0eaf667743ab0d403889aa1b0a2d9fcedbe0212ba879d165ec8edd115686d4768e6b1326ca
diff --git a/dev-python/starlette/files/starlette-0.38.0-py313.patch b/dev-python/starlette/files/starlette-0.38.0-py313.patch
new file mode 100644
index 000000000000..c63b13444847
--- /dev/null
+++ b/dev-python/starlette/files/starlette-0.38.0-py313.patch
@@ -0,0 +1,35 @@
+From 70ade1b6a4987cb92126b5eec534266f4499f2c0 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Sun, 21 Jul 2024 14:14:31 +0200
+Subject: [PATCH] Fix `routing.get_name()` not to assume all routines have
+ `__name__`
+
+Fix `routing.get_name()` to use the `__name__` attribute only if it is
+actually present, rather than assuming that all routine and class types
+have it, and use the fallback to class name otherwise. This is
+necessary for `functools.partial()` that's not guaranteed to have
+a `__name__`, and in fact does not have one starting with Python
+3.13.0b3. Given that the `__name__` used to be `partial` before, this
+change effectively preserves the old behavior for `partial`s across all
+Python implementations.
+
+Fixes #2638
+---
+ starlette/routing.py | 4 +---
+ 1 file changed, 1 insertion(+), 3 deletions(-)
+
+diff --git a/starlette/routing.py b/starlette/routing.py
+index 75a5ec3f3..481b13f5d 100644
+--- a/starlette/routing.py
++++ b/starlette/routing.py
+@@ -99,9 +99,7 @@ async def app(scope: Scope, receive: Receive, send: Send) -> None:
+
+
+ def get_name(endpoint: typing.Callable[..., typing.Any]) -> str:
+- if inspect.isroutine(endpoint) or inspect.isclass(endpoint):
+- return endpoint.__name__
+- return endpoint.__class__.__name__
++ return getattr(endpoint, "__name__", endpoint.__class__.__name__)
+
+
+ def replace_params(
diff --git a/dev-python/starlette/starlette-0.38.0.ebuild b/dev-python/starlette/starlette-0.38.0.ebuild
new file mode 100644
index 000000000000..6b064cc4af3f
--- /dev/null
+++ b/dev-python/starlette/starlette-0.38.0.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1
+
+MY_P=${P/_p/.post}
+DESCRIPTION="The little ASGI framework that shines"
+HOMEPAGE="
+ https://www.starlette.io/
+ https://github.com/encode/starlette/
+ https://pypi.org/project/starlette/
+"
+# no docs or tests in sdist, as of 0.27.0
+SRC_URI="
+ https://github.com/encode/starlette/archive/${PV/_p/.post}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ <dev-python/anyio-5[${PYTHON_USEDEP}]
+ >=dev-python/anyio-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/httpx-0.22.0[${PYTHON_USEDEP}]
+ dev-python/itsdangerous[${PYTHON_USEDEP}]
+ dev-python/jinja[${PYTHON_USEDEP}]
+ >=dev-python/python-multipart-0.0.7[${PYTHON_USEDEP}]
+ >=dev-python/pytest-8[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/trio[${PYTHON_USEDEP}]
+ )
+"
+
+PATCHES=(
+ # https://github.com/encode/starlette/pull/2648
+ "${FILESDIR}/${P}-py313.patch"
+)
+
+EPYTEST_IGNORE=(
+ # Unpackaged 'databases' dependency
+ tests/test_database.py
+)
+
+distutils_enable_tests pytest
diff --git a/dev-python/starlette/starlette-0.38.1.ebuild b/dev-python/starlette/starlette-0.38.1.ebuild
new file mode 100644
index 000000000000..c8d78e159a86
--- /dev/null
+++ b/dev-python/starlette/starlette-0.38.1.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1
+
+MY_P=${P/_p/.post}
+DESCRIPTION="The little ASGI framework that shines"
+HOMEPAGE="
+ https://www.starlette.io/
+ https://github.com/encode/starlette/
+ https://pypi.org/project/starlette/
+"
+# no docs or tests in sdist, as of 0.27.0
+SRC_URI="
+ https://github.com/encode/starlette/archive/${PV/_p/.post}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ <dev-python/anyio-5[${PYTHON_USEDEP}]
+ >=dev-python/anyio-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/httpx-0.22.0[${PYTHON_USEDEP}]
+ dev-python/itsdangerous[${PYTHON_USEDEP}]
+ dev-python/jinja[${PYTHON_USEDEP}]
+ >=dev-python/python-multipart-0.0.7[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ <dev-python/pytest-8.3[${PYTHON_USEDEP}]
+ >=dev-python/pytest-8[${PYTHON_USEDEP}]
+ dev-python/trio[${PYTHON_USEDEP}]
+ )
+"
+
+PATCHES=(
+ # https://github.com/encode/starlette/pull/2648
+ "${FILESDIR}/${PN}-0.38.0-py313.patch"
+)
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # Unpackaged 'databases' dependency
+ tests/test_database.py
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p anyio
+}
diff --git a/dev-python/starlette/starlette-0.38.2.ebuild b/dev-python/starlette/starlette-0.38.2.ebuild
new file mode 100644
index 000000000000..c9d6ad63e1aa
--- /dev/null
+++ b/dev-python/starlette/starlette-0.38.2.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1
+
+MY_P=${P/_p/.post}
+DESCRIPTION="The little ASGI framework that shines"
+HOMEPAGE="
+ https://www.starlette.io/
+ https://github.com/encode/starlette/
+ https://pypi.org/project/starlette/
+"
+# no docs or tests in sdist, as of 0.27.0
+SRC_URI="
+ https://github.com/encode/starlette/archive/${PV/_p/.post}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ <dev-python/anyio-5[${PYTHON_USEDEP}]
+ >=dev-python/anyio-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/httpx-0.22.0[${PYTHON_USEDEP}]
+ dev-python/itsdangerous[${PYTHON_USEDEP}]
+ dev-python/jinja[${PYTHON_USEDEP}]
+ >=dev-python/python-multipart-0.0.7[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/pytest-8[${PYTHON_USEDEP}]
+ dev-python/trio[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # Unpackaged 'databases' dependency
+ tests/test_database.py
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p anyio
+}