summaryrefslogtreecommitdiff
path: root/dev-python/httpx
diff options
context:
space:
mode:
authorroot <root@alpha.trunkmasters.com>2026-06-12 19:09:37 -0500
committerroot <root@alpha.trunkmasters.com>2026-06-12 19:09:37 -0500
commitb590c8d7572b727d565cc0b8ff660d43569845de (patch)
tree06f7a4102ea4e845df8b66660f252920d52952f9 /dev-python/httpx
parent24f9cbfc4c34fdb6a6e03311674414e881ceab47 (diff)
downloadbaldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.tar.gz
baldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.tar.xz
baldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.zip
Adding metadataHEADdevelop
Diffstat (limited to 'dev-python/httpx')
-rw-r--r--dev-python/httpx/Manifest1
-rw-r--r--dev-python/httpx/files/httpx-0.27.0-opt-trio.patch17
-rw-r--r--dev-python/httpx/files/httpx-0.28.1-httptools-test.patch13
-rw-r--r--dev-python/httpx/httpx-0.28.1-r1.ebuild101
-rw-r--r--dev-python/httpx/metadata.xml17
5 files changed, 149 insertions, 0 deletions
diff --git a/dev-python/httpx/Manifest b/dev-python/httpx/Manifest
new file mode 100644
index 000000000000..b734a193e3e7
--- /dev/null
+++ b/dev-python/httpx/Manifest
@@ -0,0 +1 @@
+DIST httpx-0.28.1.gh.tar.gz 4118011 BLAKE2B 76c24a3b3618798d5b65aaaa87ee583f9debf8cb7866204a3e12c151179d9f69a6ad23198c9ee7df61058f73b6ca84f453c3bced25a60f583d7b3ad7681839bb SHA512 5571957a3516533f1c1e76f311316811f6365e192d19ebae10c9ab0d0c4094d811063fd2be2995f3b6a41d6899a7882f27265badecf238a4f7903f976136d3ba
diff --git a/dev-python/httpx/files/httpx-0.27.0-opt-trio.patch b/dev-python/httpx/files/httpx-0.27.0-opt-trio.patch
new file mode 100644
index 000000000000..6c2c9e67255f
--- /dev/null
+++ b/dev-python/httpx/files/httpx-0.27.0-opt-trio.patch
@@ -0,0 +1,17 @@
+diff --git a/tests/concurrency.py b/tests/concurrency.py
+index a8ed558..d5ce803 100644
+--- a/tests/concurrency.py
++++ b/tests/concurrency.py
+@@ -5,11 +5,11 @@ Async environment-agnostic concurrency utilities that are only used in tests.
+ import asyncio
+
+ import sniffio
+-import trio
+
+
+ async def sleep(seconds: float) -> None:
+ if sniffio.current_async_library() == "trio":
++ import trio
+ await trio.sleep(seconds) # pragma: no cover
+ else:
+ await asyncio.sleep(seconds)
diff --git a/dev-python/httpx/files/httpx-0.28.1-httptools-test.patch b/dev-python/httpx/files/httpx-0.28.1-httptools-test.patch
new file mode 100644
index 000000000000..2170c3674647
--- /dev/null
+++ b/dev-python/httpx/files/httpx-0.28.1-httptools-test.patch
@@ -0,0 +1,13 @@
+diff --git a/tests/conftest.py b/tests/conftest.py
+index 970c353..1ea3aa9 100644
+--- a/tests/conftest.py
++++ b/tests/conftest.py
+@@ -304,7 +304,7 @@ def serve_in_thread(server: Server):
+
+ @pytest.fixture(scope="session")
+ def server() -> typing.Iterator[TestServer]:
+- config = Config(app=app, lifespan="off", loop="asyncio")
++ config = Config(app=app, lifespan="off", loop="asyncio", http="h11")
+ server = TestServer(config=config)
+ yield from serve_in_thread(server)
+
diff --git a/dev-python/httpx/httpx-0.28.1-r1.ebuild b/dev-python/httpx/httpx-0.28.1-r1.ebuild
new file mode 100644
index 000000000000..d6fb6cac33f7
--- /dev/null
+++ b/dev-python/httpx/httpx-0.28.1-r1.ebuild
@@ -0,0 +1,101 @@
+# Copyright 2022-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 optfeature
+
+DESCRIPTION="Fully-featured HTTP client which provides sync and async APIs"
+HOMEPAGE="
+ https://www.python-httpx.org/
+ https://github.com/encode/httpx/
+ https://pypi.org/project/httpx/
+"
+SRC_URI="
+ https://github.com/encode/httpx/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
+IUSE="cli"
+
+RDEPEND="
+ dev-python/anyio[${PYTHON_USEDEP}]
+ dev-python/certifi[${PYTHON_USEDEP}]
+ =dev-python/httpcore-1*[${PYTHON_USEDEP}]
+ dev-python/idna[${PYTHON_USEDEP}]
+ cli? (
+ =dev-python/click-8*[${PYTHON_USEDEP}]
+ =dev-python/pygments-2*[${PYTHON_USEDEP}]
+ dev-python/rich[${PYTHON_USEDEP}]
+ )
+"
+# httptools cause tests to fail
+# https://github.com/encode/httpx/discussions/3429
+BDEPEND="
+ dev-python/hatch-fancy-pypi-readme[${PYTHON_USEDEP}]
+ test? (
+ dev-python/brotlicffi[${PYTHON_USEDEP}]
+ dev-python/chardet[${PYTHON_USEDEP}]
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ dev-python/h2[${PYTHON_USEDEP}]
+ dev-python/socksio[${PYTHON_USEDEP}]
+ dev-python/trustme[${PYTHON_USEDEP}]
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ dev-python/uvicorn[${PYTHON_USEDEP}]
+ >=dev-python/zstandard-0.18.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/trio[${PYTHON_USEDEP}]
+ ' 3.{11..13})
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ local PATCHES=(
+ "${FILESDIR}/${PN}-0.27.0-opt-trio.patch"
+ # fix test failures when httptools are installed
+ # https://github.com/encode/httpx/discussions/3429
+ # https://gitlab.archlinux.org/archlinux/packaging/packages/python-httpx/-/blob/main/uvicorn-test-server-use-h11.diff
+ "${FILESDIR}/${PN}-0.28.1-httptools-test.patch"
+ )
+
+ if ! use cli; then
+ sed -i -e '/^httpx =/d' pyproject.toml || die
+ fi
+ sed -i -e '/rich/s:,<14::' pyproject.toml || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local args=()
+ local EPYTEST_DESELECT=(
+ # Internet
+ tests/client/test_proxies.py::test_async_proxy_close
+ tests/client/test_proxies.py::test_sync_proxy_close
+ )
+
+ use cli || EPYTEST_IGNORE+=(
+ tests/test_main.py
+ )
+
+ if ! has_version "dev-python/trio[${PYTHON_USEDEP}]"; then
+ args+=( -o filterwarnings= -k "not trio" )
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p anyio "${args[@]}"
+}
+
+pkg_postinst() {
+ optfeature "HTTP/2 support" dev-python/h2
+ optfeature "SOCKS proxy support" dev-python/socksio
+ optfeature "Decoding for brotli compressed responses" dev-python/brotlicffi
+}
diff --git a/dev-python/httpx/metadata.xml b/dev-python/httpx/metadata.xml
new file mode 100644
index 000000000000..2cc843063be6
--- /dev/null
+++ b/dev-python/httpx/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <stabilize-allarches />
+ <upstream>
+ <bugs-to>https://github.com/encode/httpx/issues</bugs-to>
+ <remote-id type="cpe">cpe:/a:encode:httpx</remote-id>
+ </upstream>
+ <use>
+ <flag name="cli">Install the CLI "httpx" client.</flag>
+ </use>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>