diff options
Diffstat (limited to 'dev-python/curl-cffi')
| -rw-r--r-- | dev-python/curl-cffi/Manifest | 1 | ||||
| -rw-r--r-- | dev-python/curl-cffi/curl-cffi-0.16.3.ebuild | 78 | ||||
| -rw-r--r-- | dev-python/curl-cffi/metadata.xml | 12 |
3 files changed, 91 insertions, 0 deletions
diff --git a/dev-python/curl-cffi/Manifest b/dev-python/curl-cffi/Manifest new file mode 100644 index 000000000000..38ccd9fae83e --- /dev/null +++ b/dev-python/curl-cffi/Manifest @@ -0,0 +1 @@ +DIST curl-cffi-0.16.3.tar.gz 895751 BLAKE2B ef246160bc09df24577d53cc6f8e97503ff2bc4727762eba9060d39638ce552cb20f01848a4340b4ef65d1745d575a73cc9e39a4a41e48451fed6d4f450cd908 SHA512 6d0a5249ba560c5799e1761093d242bbd9b223841b39c75c1e35e06a9552a47cd8f3ba55d26e786ad0bf3b573acfd56e3d22be67dbb949132198ca49955ac0de diff --git a/dev-python/curl-cffi/curl-cffi-0.16.3.ebuild b/dev-python/curl-cffi/curl-cffi-0.16.3.ebuild new file mode 100644 index 000000000000..da8d158992e2 --- /dev/null +++ b/dev-python/curl-cffi/curl-cffi-0.16.3.ebuild @@ -0,0 +1,78 @@ +# Copyright 1999-2026 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_{13..14} ) + +inherit distutils-r1 + +DESCRIPTION="Python bindings for curl-impersonate" +HOMEPAGE="https://github.com/lexiforest/curl_cffi" +SRC_URI="https://github.com/lexiforest/curl_cffi/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" + +S="${WORKDIR}/curl_cffi-${PV}" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64" + +RDEPEND=" + net-misc/curl-impersonate + + dev-python/cffi[${PYTHON_USEDEP}] + dev-python/websockets[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/httpx[${PYTHON_USEDEP}] + dev-python/litestar[${PYTHON_USEDEP}] + dev-python/proxy-py[${PYTHON_USEDEP}] + dev-python/trustme[${PYTHON_USEDEP}] + dev-python/uvicorn[${PYTHON_USEDEP}] + ) +" + +python_prepare_all() { + export IMPERSONATE_LINK_TYPE="dynamic" + export IMPERSONATE_BUILD_DIR="${EROOT}/usr/lib64" + + sed -e 's#"curl/curl.h"#"curl-impersonate/curl.h"#' \ + -i ffi/shim.h || die + + sed -e '/^download_libcurl/d' \ + -e "s#str(libdir / \"include\")#\"${EROOT}/usr/include\"#" \ + -i scripts/build.py || die + + distutils-r1_python_prepare_all +} + +EPYTEST_DESELECT=( + "tests/integration/test_real_world.py::test_post_with_no_body" + "tests/integration/test_response_class.py::test_custom_response" + "tests/integration/test_response_class.py::test_default_response" + "tests/pro/test_fp_verify.py::test_live_fingerprint_data_matches_runtime_output" + "tests/pro/test_fp_verify.py::test_live_http3_fingerprint_data_matches_runtime_output" + "tests/unittest/test_async.py::test_add_handle" + "tests/unittest/test_async.py::test_socket_action" + "tests/unittest/test_async_session.py::test_update_params" +) + +EPYTEST_IGNORE=( + "tests/integration/test_fingerprints.py" + "tests/integration/test_httpbin.py" + "tests/threads/test_eventlet.py" + "tests/threads/test_gevent.py" + "tests/unittest/test_smoke.py" + "tests/unittest/test_upload.py" +) + +EPYTEST_PLUGINS=( pytest-asyncio ) +distutils_enable_tests pytest + +python_test() { + cp "${BUILD_DIR}/install$(python_get_sitedir)/curl_cffi/"*.so curl_cffi || die + epytest +} diff --git a/dev-python/curl-cffi/metadata.xml b/dev-python/curl-cffi/metadata.xml new file mode 100644 index 000000000000..3c9d9878973d --- /dev/null +++ b/dev-python/curl-cffi/metadata.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <name>Pavel Sobolev</name> + <email>contact@paveloom.dev</email> + </maintainer> + <upstream> + <bugs-to>https://github.com/lexiforest/curl_cffi/issues</bugs-to> + </upstream> + <origin>baldeagleos-repo</origin> +</pkgmetadata> |
