diff --git a/dev-python/httptools/Manifest b/dev-python/httptools/Manifest index a0116e633120c..5aeca41590c83 100644 --- a/dev-python/httptools/Manifest +++ b/dev-python/httptools/Manifest @@ -1 +1,2 @@ DIST httptools-0.6.2.gh.tar.gz 15209 BLAKE2B f9dbb15a46db4ff6d9ce418fa9854fe465d22c5ca7b758389f2d132f0e031015faea37241f68e8f47e3957da39de9930481e50d0b08e0308ad7d3bb918fc86bb SHA512 a4f79cfd82b1ab3d1bb4dc50cb4c720cdc5b2f94cb72ef693e4385726a02687f1a45d649c8cc22388f1215c9497f329b67eed90f065859380dbd54dd3046c89b +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 0000000000000..2e05bc44ea882 --- /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=( pypy3 python3_{10..13} ) + +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" + +# 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 +}