From 0847f6f7ddceaed48da5eb808a393eea27a54635 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Mon, 2 Jun 2025 22:23:37 -0700 Subject: [PATCH] python3Packages.curl-cffi: 0.10.0 -> 0.11.1 Diff: https://github.com/lexiforest/curl_cffi/compare/refs/tags/v0.10.0...refs/tags/v0.11.1 Changelog: https://github.com/lexiforest/curl_cffi/releases/tag/v0.11.0 --- .../python-modules/curl-cffi/default.nix | 61 +++++++++++++++++-- 1 file changed, 57 insertions(+), 4 deletions(-) diff --git a/pkgs/development/python-modules/curl-cffi/default.nix b/pkgs/development/python-modules/curl-cffi/default.nix index 1f55b5bc466f..6ba6faedf147 100644 --- a/pkgs/development/python-modules/curl-cffi/default.nix +++ b/pkgs/development/python-modules/curl-cffi/default.nix @@ -7,19 +7,31 @@ curl-impersonate-chrome, cffi, certifi, - typing-extensions, + charset-normalizer, + cryptography, + fastapi, + httpx, + proxy-py, + pytest-asyncio, + pytest-trio, + pytestCheckHook, + python-multipart, + trustme, + uvicorn, + websockets, + writableTmpDirAsHomeHook, }: buildPythonPackage rec { pname = "curl-cffi"; - version = "0.10.0"; + version = "0.11.1"; pyproject = true; src = fetchFromGitHub { owner = "lexiforest"; repo = "curl_cffi"; tag = "v${version}"; - hash = "sha256-h7PPlxjIVT6T9x7gKBSifuWl8wzUNDwRcaUifUS0icM="; + hash = "sha256-hpsAga5741oTBT87Rt7XTyxxu7SQ5Usw+2VVr54oA8k="; }; patches = [ ./use-system-libs.patch ]; @@ -33,7 +45,6 @@ buildPythonPackage rec { dependencies = [ cffi certifi - typing-extensions ]; env = lib.optionalAttrs stdenv.cc.isGNU { @@ -42,7 +53,49 @@ buildPythonPackage rec { pythonImportsCheck = [ "curl_cffi" ]; + nativeCheckInputs = [ + charset-normalizer + cryptography + fastapi + httpx + proxy-py + pytest-asyncio + pytest-trio + pytestCheckHook + python-multipart + trustme + uvicorn + websockets + writableTmpDirAsHomeHook + ]; + + preCheck = '' + # import from $out + rm -r curl_cffi + ''; + + pytestFlags = [ + "tests/unittest" + # test accesses network + "--deselect tests/unittest/test_smoke.py::test_async" + ]; + + disabledTests = [ + # FIXME ImpersonateError: Impersonating chrome136 is not supported + "test_impersonate_without_version" + "test_with_impersonate" + # InvalidURL: Invalid URL component 'path' + "test_update_params" + # tests access network + "test_add_handle" + "test_socket_action" + "test_without_impersonate" + ]; + + __darwinAllowLocalNetworking = true; + meta = with lib; { + changelog = "https://github.com/lexiforest/curl_cffi/releases/tag/${src.tag}"; description = "Python binding for curl-impersonate via cffi"; homepage = "https://curl-cffi.readthedocs.io"; license = licenses.mit;