summaryrefslogtreecommitdiff
path: root/dev-python/httptools
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python/httptools')
-rw-r--r--dev-python/httptools/Manifest1
-rw-r--r--dev-python/httptools/httptools-0.6.4.ebuild67
-rw-r--r--dev-python/httptools/metadata.xml9
3 files changed, 77 insertions, 0 deletions
diff --git a/dev-python/httptools/Manifest b/dev-python/httptools/Manifest
new file mode 100644
index 000000000000..c2ad411f985e
--- /dev/null
+++ b/dev-python/httptools/Manifest
@@ -0,0 +1 @@
+DIST httptools-0.6.4.gh.tar.gz 15756 BLAKE2B 1f128fb566d677f783798236a12fc1729f819fb4e4cd52f43c4879ac6cff8a5c69fb147fef1dadda89e47b560652b15e7ab07e3e5b00f1e8a6ee23afe2efb879 SHA512 3a2518204b22ce00c1fa3f2387138f768511ff03a2a2ddf0b9c44a4d5de65c93bfd8d3ac9f4e9417805c7c9708a8cb39ec4889e08933fdc029607bcae5b54331
diff --git a/dev-python/httptools/httptools-0.6.4.ebuild b/dev-python/httptools/httptools-0.6.4.ebuild
new file mode 100644
index 000000000000..8d9d853cee7d
--- /dev/null
+++ b/dev-python/httptools/httptools-0.6.4.ebuild
@@ -0,0 +1,67 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="A collection of framework independent HTTP protocol utils"
+HOMEPAGE="
+ https://github.com/MagicStack/httptools/
+ https://pypi.org/project/httptools/
+"
+# sdist is missing cython source files, as of 0.6.2
+SRC_URI="
+ https://github.com/MagicStack/httptools/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc64 ~riscv ~sparc"
+
+# don't ask me why they use both
+DEPEND="
+ net-libs/http-parser:=
+ net-libs/llhttp:=
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+src_configure() {
+ cat > setup.cfg <<-EOF || die
+ [build_ext]
+ use_system_llhttp = true
+ use_system_http_parser = true
+ cython_always = true
+ EOF
+}
+
+python_test() {
+ local EPYTEST_DESELECT=()
+
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ # error message mismatches
+ # https://github.com/MagicStack/httptools/issues/16#issuecomment-1114181747
+ tests/test_parser.py::TestResponseParser::test_parser_response_2
+ tests/test_parser.py::TestRequestParser::test_parser_request_4
+ tests/test_parser.py::TestUrlParser::test_parser_url_10
+ )
+ ;;
+ esac
+
+ rm -rf httptools || die
+ epytest tests
+}
diff --git a/dev-python/httptools/metadata.xml b/dev-python/httptools/metadata.xml
new file mode 100644
index 000000000000..7ad11570cc7d
--- /dev/null
+++ b/dev-python/httptools/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ </maintainer>
+
+ <origin>gentoo-staging</origin>
+</pkgmetadata> \ No newline at end of file