diff options
Diffstat (limited to 'dev-python')
38 files changed, 1093 insertions, 28 deletions
diff --git a/dev-python/braintree/Manifest b/dev-python/braintree/Manifest index 3fcdaa1731ef..67b77d915ef9 100644 --- a/dev-python/braintree/Manifest +++ b/dev-python/braintree/Manifest @@ -1,2 +1,2 @@ -DIST braintree_python-4.46.0.gh.tar.gz 275900 BLAKE2B 656199b1c76d396a69c604a05f3fa27f23bc3536a1415fca5acd666d3e3254e4fe1d0bb683d010952ebf720b036ab550cf0db55b80c1cb0914a766288162df81 SHA512 16b8dc929ca14bf517452d2db2ee4727009461f26c61a73c99da2f754fe19b9314570ae2830192ffbc914924dfc0224e71b9b2f99b278a92bc8d4bd0a2eef9e3 DIST braintree_python-4.47.0.gh.tar.gz 278775 BLAKE2B f57b793336d4c531d25562579eb10cc42e991152f4c1da1a6a73978a26b7b43cad1ac42fb47847873d0e6d9f73b188924761f83fe33b65c8ea63123e8353b26e SHA512 22c81042f6885e114bab51a24652a30374a5e5046a13d78543c842b591649a96337326de18348733bf7f8663e605cc6c4b44fbc2b8aabb5929dface674482d48 +DIST braintree_python-4.48.0.gh.tar.gz 279796 BLAKE2B 0b95b8caf2eeb54e7e3efa8d228007e1a67ac16a21a4245def5a49fa98b1eec1948485d2863197db0ee8ccfaa41cd048761f5961462cbfb9793e2bce2890d8a2 SHA512 0f0d558adeda7002512b8a3205797e417d93cb3f06f77c5e26972b67e32e42e10c43d20da4e9b5fd8b45e4aeaf6f816ed07d76a7cc07e0bfd21a4087f6c2a7c6 diff --git a/dev-python/braintree/braintree-4.46.0.ebuild b/dev-python/braintree/braintree-4.48.0.ebuild index 376089a2bfd1..376089a2bfd1 100644 --- a/dev-python/braintree/braintree-4.46.0.ebuild +++ b/dev-python/braintree/braintree-4.48.0.ebuild diff --git a/dev-python/cachetools/Manifest b/dev-python/cachetools/Manifest index 34c2f3e06b3e..0658009c8240 100644 --- a/dev-python/cachetools/Manifest +++ b/dev-python/cachetools/Manifest @@ -2,3 +2,4 @@ DIST cachetools-7.2.0.tar.gz 41129 BLAKE2B 6d3f48391d2f515ac828834851d97abea7e1f DIST cachetools-7.2.1.tar.gz 41357 BLAKE2B cbc87b5fd10a9ad03fe841f719a0223ac93e8ec04f56b600991f6d18a589761ffdc275dcf303b97522b09f4ded2f849b157f767eb7c889935b0eebf46ed00a13 SHA512 9a5a707cca4e8c176a68730e04b5cb17dd36c2ef41439407f3c2be3f3af6b7a8db0b22c74db856e16d03755de8aed09c7cb0fed2a814d3c551a588e99f99bad0 DIST cachetools-7.2.2.tar.gz 42916 BLAKE2B fefa8fbaa848fa378b510bca908e57ad3ac97ba4ee9713ceed4b9b7b262593749d75bf8be4fd6e6e252419831d84558324737563e2da6442359fcdc28f7d77ae SHA512 039674f413dbcc857e0173fe9abbc3a9c931c2c330ccfcae090b7e3c62ca3a0ba727654d7b18eddbc799940836d6b5be512da53ca7b028e041dc5b701bc02e12 DIST cachetools-7.2.3.tar.gz 43727 BLAKE2B d3bda3035e8404a3c1e92a0b1d7c8ec5fb746f7723661d10fe002f51ea89c9a970948622225ae8f6553ba8aac54b8476d9b415897e60687388f321a2499f17ca SHA512 deecfc71e280ff9d44944ffd4ee64f55bfa10cef76be95885bd06b080bd4c510f075d730ff6ac2bc00cdd20f49ecc9c3fd55c68946e3917bef74bf6daa9f8694 +DIST cachetools-7.2.4.tar.gz 44251 BLAKE2B 71f3e989c4d90dcb2eb90c536636dea212720c47f8225bd6db91203aa98150fdec0e47bc29f4e2231af49f02f226c8adc31ccebfa6632085dd7664410a9a8b6c SHA512 cc044cce1ca7fcfc67bf024df1fa13954521d5c87b9bcd6fd8072c96a9268ef017e3f2d9a66b718d3c919a1331097e68a8ea344d94734e9d47360775c7659d35 diff --git a/dev-python/cachetools/cachetools-7.2.4.ebuild b/dev-python/cachetools/cachetools-7.2.4.ebuild new file mode 100644 index 000000000000..ec602b06cbfd --- /dev/null +++ b/dev-python/cachetools/cachetools-7.2.4.ebuild @@ -0,0 +1,27 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Extensible memoizing collections and decorators" +HOMEPAGE=" + https://github.com/tkem/cachetools/ + https://pypi.org/project/cachetools/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +EPYTEST_PLUGINS=() +distutils_enable_tests pytest + +python_test() { + local -x THREADING_TESTS=1 + epytest +} diff --git a/dev-python/ensurepip-setuptools/Manifest b/dev-python/ensurepip-setuptools/Manifest index a46142278ef6..8995f30d0b22 100644 --- a/dev-python/ensurepip-setuptools/Manifest +++ b/dev-python/ensurepip-setuptools/Manifest @@ -1,3 +1,3 @@ DIST setuptools-79.0.1-py3-none-any.whl 1256281 BLAKE2B 8ae51bdd1c0ccada116757c2bd765225fcf4bedc7ada18567ae12f09b6978cdbcddd4f635a39a5568b6d3ed4388e4f73af5c33a7060f2ac0d0907fc82d8fd74f SHA512 fef6cfc6f95a5bb7320f1680e1c665cb8d9a4e4227cde4d8aab8a50bed4bcf04320085b9d7d5343359f887008db5c5a861e57f3d08b7b0b2311a28adaeee6b4a -DIST setuptools-83.0.0.tar.gz 1154254 BLAKE2B b82142ad699703352b4ec7843545f3f078e853d39fa93e2d0ee42b9914ebc9d04bc7de4954bce0a1e49f3befea39d14176ed4e7462d202d74ed503664765fba9 SHA512 d426f235471d30b41391bda63e8f3d461f54a6a4127594a2e2d0cab0c7576d511db5e5f211ed6cdac2afc620d3695e991a1dd08106f1201ec64697b14b3e0390 DIST setuptools-84.0.0.tar.gz 1168449 BLAKE2B b4dc28c42ea271dc2cac7f7218bec0819d043d52100df8c1ac7672092c2f45b62e731d18d76bc00a6392b60f8afb8c1f7e961050ee23b0e1c77bbd94e42481db SHA512 67721834362dd88c256cbd523413dbdcb99ca871bcc873ffa29c7667687973e1d5e15b0ea8ef4529711418b14d3d660771846877543001d4ab0fe8b4585ac9ad +DIST setuptools-84.2.0.tar.gz 1227656 BLAKE2B c6f89587af28b64029dfcc0a3a511e30abec3b60d00a272f699ff2df2032e0cdc04c546b9bac6a8928cf7a6cbcd3a3a856815ee18bcc178f05a53fcc59bee6eb SHA512 ac5c9daf5cf445a2bb220072efed426e0af38caa601d544389181a3f53bc39575cf0cf7aa69addca239eb8c8f51e3410cad0b9ff9c9787d0c4c6a54fbc3a256e diff --git a/dev-python/ensurepip-setuptools/ensurepip-setuptools-83.0.0.ebuild b/dev-python/ensurepip-setuptools/ensurepip-setuptools-84.2.0.ebuild index 224badad4d90..ce9b184f5ef2 100644 --- a/dev-python/ensurepip-setuptools/ensurepip-setuptools-83.0.0.ebuild +++ b/dev-python/ensurepip-setuptools/ensurepip-setuptools-84.2.0.ebuild @@ -19,7 +19,7 @@ HOMEPAGE=" LICENSE="MIT" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="test" RESTRICT="!test? ( test )" @@ -111,17 +111,10 @@ python_test() { # TODO setuptools/tests/test_config_discovery.py::TestDiscoverPackagesAndPyModules::test_py_modules_when_wheel_dir_is_cwd 'setuptools/tests/test_egg_info.py::TestEggInfo::test_requires[setup_requires_with_markers]' + # broken by scikit-build-core somehow + 'setuptools/tests/test_extern.py::test_distribution_picklable' ) - case ${EPYTHON} in - pypy3.11) - EPYTEST_DESELECT+=( - # fails and breaks other tests - setuptools/tests/test_editable_install.py - ) - ;; - esac - local -x PRE_BUILT_SETUPTOOLS_WHEEL=${DISTUTILS_WHEEL_PATH} epytest -o tmp_path_retention_policy=all \ -m "not uses_network" setuptools diff --git a/dev-python/fastapi/Manifest b/dev-python/fastapi/Manifest index 05b1f5419925..7e9ad727fe4f 100644 --- a/dev-python/fastapi/Manifest +++ b/dev-python/fastapi/Manifest @@ -1,2 +1,3 @@ DIST fastapi-0.143.3.tar.gz 469834 BLAKE2B 6384f8b551b38c1fc83779ef2a4a318e0cb4b01067e852e876b809d8dc8c2bf59dcbb109780337df3dd83b70ff61b30676fceb95745478439f580de2ad544c16 SHA512 f70e98e10e6d5d5b1db0fd6795179dff1bf7f737a0fee452732a49a22dca092efded647d27cf8fdb61b5eeba29311230fcca9d974ac258dc131d05080a134e7e DIST fastapi-0.146.0.tar.gz 471622 BLAKE2B dc332799da2b2c3da0c0374bd4dba73d5189357664dbb4bdc34a0facb229fb13507835e8a04d829ef80eae1c1ea8e8657f73ba2d15c222d4a1119d5e2abd4e1e SHA512 bf7c8a7e137ac5541bc36e7cd0c0042ca02da6d8b7bd6bd5b7fea11578d69854bbfde980981a81735b5dc889611a3a21364be4c5388add324d1552550a2736cc +DIST fastapi-0.150.0.tar.gz 483799 BLAKE2B e3c7522a21be4a890abc9344a090e3d005791d318ea2a6616bb4dd39bace457c630cfd8d9c96df6166f98fe74e221e2d5912a904cc39a068428ab26a09bc0ca2 SHA512 926b2e6261725efb705ebb3a2048b36a9c18efc55598208c3de1541ce5de130d0c418cdb63d5be98ea20d1e7ec4959903308655f4154f40567ee00755bd1ce32 diff --git a/dev-python/fastapi/fastapi-0.150.0.ebuild b/dev-python/fastapi/fastapi-0.150.0.ebuild new file mode 100644 index 000000000000..6c8cef00f625 --- /dev/null +++ b/dev-python/fastapi/fastapi-0.150.0.ebuild @@ -0,0 +1,128 @@ +# Copyright 2025-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=pdm-backend +PYTHON_COMPAT=( python3_{13..14} ) +#may be not stricly required +PYTHON_REQ_USE="threads(+)" + +inherit distutils-r1 optfeature pypi + +DESCRIPTION="High performance framework, easy to learn, fast to code, ready for production" +HOMEPAGE=" + https://fastapi.tiangolo.com/ + https://github.com/fastapi/fastapi/ + https://pypi.org/project/fastapi/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64" + +RDEPEND=" + >=dev-python/annotated-doc-0.0.4[${PYTHON_USEDEP}] + >=dev-python/opentelemetry-api-1.44.0[${PYTHON_USEDEP}] + >=dev-python/pydantic-2.9.0[${PYTHON_USEDEP}] + >=dev-python/starlette-0.46.0[${PYTHON_USEDEP}] + >=dev-python/typing-extensions-4.8.0[${PYTHON_USEDEP}] + >=dev-python/typing-inspection-0.4.2[${PYTHON_USEDEP}] +" + +#FIXME: add missing deps +BDEPEND=" + test? ( + dev-python/a2wsgi[${PYTHON_USEDEP}] + dev-python/dirty-equals[${PYTHON_USEDEP}] + dev-python/flask[${PYTHON_USEDEP}] + dev-python/httpx[${PYTHON_USEDEP}] + dev-python/httpx2[${PYTHON_USEDEP}] + dev-python/pydantic-settings[${PYTHON_USEDEP}] + dev-python/python-multipart[${PYTHON_USEDEP}] + dev-python/sqlalchemy[${PYTHON_USEDEP}] + dev-python/typer[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=( anyio inline-snapshot pytest-timeout ) +# workaround broken toml config +: ${EPYTEST_TIMEOUT:=30} +# the test suite is flaky as hell +EPYTEST_RERUNS=5 +# 3k tests+, so use xdist to speed them up +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +# There are some JSON response tests that will exercise orjson or ujson if they are available. +# These are properly skipped if the optional dependencies are not installed at the cost of a little spam. +python_test() { + local EPYTEST_IGNORE=( + # python/strawberry-graphql (in guru, test dep only) + tests/test_tutorial/test_graphql/test_tutorial001.py + # dev-python/sqlmodel (in guru, test dep only) + tests/test_tutorial/test_sql_databases/test_tutorial001.py + tests/test_tutorial/test_sql_databases/test_tutorial002.py + # dev-python/fastapi-cli (missing, test and optfeature) + tests/test_fastapi_cli.py + # dev-python/pwdlib (in guru, test dep only) + tests/test_tutorial/test_security/test_tutorial004.py + tests/test_tutorial/test_security/test_tutorial005.py + # Wants dev-python/multipart _just_ to complain that it's not the right multipart lib. + tests/test_multipart_installation.py + # scripts/tests use CliRunner.isolated_filesystem() removed in recent typer + scripts/tests + ) + local EPYTEST_DESELECT=( + # Requires investigation - missing ./image.png test file (?) + tests/test_tutorial/test_additional_responses/test_tutorial004.py::test_path_operation_img + # Broken by brotli being available, also fragile to random ordering + tests/test_tutorial/test_header_param_models/test_tutorial001.py::test_header_param_model_invalid + tests/test_tutorial/test_header_param_models/test_tutorial003.py::test_header_param_model_invalid + tests/test_tutorial/test_header_param_models/test_tutorial003.py::test_header_param_model_no_underscore + # opentelemetry-* + tests/test_telemetry/test_background.py::test_background_task_integrations + tests/test_telemetry/test_data.py::test_request_objects_are_not_exported + tests/test_telemetry/test_environment_integrations.py + tests/test_telemetry/test_integrations.py::test_current_contrib + tests/test_telemetry/test_integrations.py::test_current_logfire + tests/test_telemetry/test_integrations.py::test_current_sentry + tests/test_telemetry/test_integrations.py::test_inactive_sentry_does_not_disable_native + tests/test_telemetry/test_integrations.py::test_logfire_global_provider_without_fastapi_instrumentor + tests/test_telemetry/test_native_integrations.py + tests/test_telemetry/test_runtime.py::test_concurrent_provider_owner_wins + tests/test_telemetry/test_runtime.py::test_environment_export_initializes_after_fork + tests/test_telemetry/test_runtime.py::test_failed_registration_closes_new_exporter + tests/test_telemetry/test_runtime.py::test_real_otlp_exception_export_without_traces_or_metrics + tests/test_telemetry/test_runtime.py::test_real_otlp_export_and_repeated_lifespans + tests/test_telemetry/test_runtime.py::test_registration_provider_prefers_public_metric_reader + tests/test_telemetry/test_runtime.py::test_unsupported_provider_warns_without_preventing_startup + # TODO + 'tests/test_tutorial/test_testing_dependencies/test_tutorial001.py::test_override_in_items_run[tutorial001_py310]' + 'tests/test_tutorial/test_testing_dependencies/test_tutorial001.py::test_override_in_items_run[tutorial001_en_py310]' + ) + epytest +} + +pkg_postinst() { + # not part of any upstream extra + optfeature "alternative JSON library" "dev-python/ujson" # orjson, too but it's deprecated + + # pyproject.toml:project.optional-dependencies.standard + # Following optfeatures should be exposed, but missing deps + # optfeature "fastAPI CLI" "dev-python/fastapi-cli" - missing - depends on this package! + # optfeature "compressed file support" "dev-python/fastar" - missing + # optfeature "pydantic extra types support" "dev-python/pydantic-extra-types" - in guru + optfeature_header "standard extras" + optfeature "ASGI server support" "dev-python/uvicorn" + optfeature "email validation support" "dev-python/email-validator" + optfeature "TestClient for testing FastAPI applications" "dev-python/httpx" + optfeature "templating support" "dev-python/jinja2" + optfeature "multipart form data support" "dev-python/python-multipart" + optfeature "settings management support" "dev-python/pydantic-settings" + + # pyproject.toml:project.optional-dependencies.all - includes all the above plus: + optfeature_header "all extras" + optfeature "session middleware support" "dev-python/itsdangerous" + optfeature "YAML support" "dev-python/pyyaml" +} diff --git a/dev-python/httpx2/Manifest b/dev-python/httpx2/Manifest index 567db93d7805..e7bdaf9964db 100644 --- a/dev-python/httpx2/Manifest +++ b/dev-python/httpx2/Manifest @@ -3,3 +3,4 @@ DIST httpx2-2.12.0.gh.tar.gz 2144469 BLAKE2B be96a3cea133a993248d7743524c3208581 DIST httpx2-2.13.0.gh.tar.gz 2103962 BLAKE2B 6d940bdcc39f36ddcf50377457931ee9e2c3b758512421bb416329e2b575e2ed4fa152240773d56f15f5f4745f1bd1f8cb2f67ac13d10bfe18ff1b316aea25ed SHA512 182e40dc35ca1ebfa2a6cb1ecc061f399d9dce2e2dff31c039c0eeedc9f7cf6f48fd6eda75c804320077f2b0538059412fad5857d6f7989592974e3262c21f68 DIST httpx2-2.13.1.gh.tar.gz 2105524 BLAKE2B d9f3c016df2add101bc785582ccd14e5ef400e6b6f6cb8c470a4dce89bfecd73fff210a279cefe0fb316d478f2ba6a10e2579157f18647b769e5c1c520a77e0d SHA512 7be45b81164b24e800c2de533c4c7ef2fdc2cb6e9d24d95287c15ca1efb79eabdce33fcf50b85d288727bea3a9dc6c8365190c587c50ba1d327a36b31c614a8c DIST httpx2-2.14.0.gh.tar.gz 2133484 BLAKE2B 1bf1b2dd3a368dde55f318ba48b14d85397a6181723de5326f818b5421531a0dabea246dc6f240565d4d1881c7e9634d0a3bbc3f27ad4384cee71f952a68f337 SHA512 9b85631b99be2e0ee89ba9ed30405edc71c811e31587c03adf97dc45069e25b3eebad4ef6b83cb4c10c3c6cde9eb0f46d1151c1674b048aaac19b33ec3f05083 +DIST httpx2-2.15.1.gh.tar.gz 2095535 BLAKE2B 16c619d85792eb7533d157e8b298869f1ea2e50c63324bf6cf144ef0d06d496154a63a277ceef0dc9f6cba2c36adc43d9dee5b5bba1b4230387526a00ea96080 SHA512 f034a31a762b637d67e280d54c13f355ce5cb6d609dc18bbe3ac510fe8b35207acada045c7e3296e8de89c948348318af6f6bfec6ee6a2a2afbb3a09fd9d80c0 diff --git a/dev-python/httpx2/httpx2-2.15.1.ebuild b/dev-python/httpx2/httpx2-2.15.1.ebuild new file mode 100644 index 000000000000..157aa4c1af39 --- /dev/null +++ b/dev-python/httpx2/httpx2-2.15.1.ebuild @@ -0,0 +1,103 @@ +# Copyright 2026 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 + +# This package combines httpx2 and httpcore2 (because of exact version pin). +DESCRIPTION="The next generation HTTP client (Pydantic fork)" +HOMEPAGE=" + https://pypi.org/project/httpx2/ + https://pypi.org/project/httpcore2/ + https://github.com/pydantic/httpx2/ +" +SRC_URI=" + https://github.com/pydantic/httpx2/archive/v${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-4.10[${PYTHON_USEDEP}] + >=dev-python/idna-3.18[${PYTHON_USEDEP}] + >=dev-python/h11-0.16[${PYTHON_USEDEP}] + >=dev-python/truststore-0.10[${PYTHON_USEDEP}] + $(python_gen_cond_dep ' + >=dev-python/typing-extensions-4.5.0[${PYTHON_USEDEP}] + ' 3.12) + cli? ( + >=dev-python/click-8.4[${PYTHON_USEDEP}] + =dev-python/pygments-2*[${PYTHON_USEDEP}] + >=dev-python/rich-10[${PYTHON_USEDEP}] + ) +" +BDEPEND=" + dev-python/hatch-fancy-pypi-readme[${PYTHON_USEDEP}] + dev-python/uv-dynamic-versioning[${PYTHON_USEDEP}] + test? ( + >=app-arch/brotli-1.2.0[python,${PYTHON_USEDEP}] + >=dev-python/brotlicffi-1.2.0.0[${PYTHON_USEDEP}] + dev-python/chardet[${PYTHON_USEDEP}] + dev-python/cryptography[${PYTHON_USEDEP}] + dev-python/h2[${PYTHON_USEDEP}] + dev-python/starlette[${PYTHON_USEDEP}] + dev-python/socksio[${PYTHON_USEDEP}] + dev-python/trio[${PYTHON_USEDEP}] + dev-python/trustme[${PYTHON_USEDEP}] + dev-python/typing-extensions[${PYTHON_USEDEP}] + dev-python/uvicorn[${PYTHON_USEDEP}] + dev-python/websockets[${PYTHON_USEDEP}] + >=dev-python/wsproto-1.2[${PYTHON_USEDEP}] + $(python_gen_cond_dep ' + >=dev-python/backports-zstd-1.0.0[${PYTHON_USEDEP}] + ' 3.12 3.13) + ) +" + +EPYTEST_PLUGINS=( anyio flaky pytest-{httpbin,trio} ) +EPYTEST_RERUNS=5 +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +python_compile() { + local -x UV_DYNAMIC_VERSIONING_BYPASS=${PV} + + cd src/httpcore2 || die + distutils-r1_python_compile + cd ../httpx2 || die + distutils-r1_python_compile + cd ../.. || die +} + +python_test() { + local EPYTEST_DESELECT=( + # Internet + tests/httpx2/client/test_proxies.py::test_async_proxy_close + tests/httpx2/client/test_proxies.py::test_sync_proxy_close + # random charset case mismatch + tests/httpx2/models/test_responses.py::test_response_decode_text_using_autodetect + tests/httpx2/client/test_client.py::test_client_decode_text_using_autodetect + tests/httpx2/client/test_client.py::test_client_decode_text_using_explicit_encoding + # *shrug* looks like assertion misfiring + tests/httpx2/test_alias.py::test_alias_finder_handles_top_level_import + tests/httpx2/test_alias.py::test_alias_httpcore_top_level_import + tests/httpx2/test_alias.py::test_alias_top_level_import + ) + + local EPYTEST_IGNORE=() + if ! use cli; then + EPYTEST_IGNORE+=( + tests/httpx2/test_main.py + ) + fi + + epytest tests/{httpcore2,httpx2} +} diff --git a/dev-python/hypothesis/Manifest b/dev-python/hypothesis/Manifest index 2b937039b2c7..1c269d882253 100644 --- a/dev-python/hypothesis/Manifest +++ b/dev-python/hypothesis/Manifest @@ -13,6 +13,7 @@ DIST hypothesis-6.169.1.gh.tar.gz 9710711 BLAKE2B 8abedcdcba8a1d32e424a951047450 DIST hypothesis-6.169.3.gh.tar.gz 9711107 BLAKE2B 973dc2650033c5b31dd2b6e792353609ba51c362e0cd69e312a1731400ba83fdc2babe2be2c82c2fedc998036d15ee245c2f96a8cc4280c646da3b1268b5e46d SHA512 bee8c5489645835eb8371dd6e242ce51c07d937fe06138235637ebc57fc29b9b40272b45e92ce16b0fc43a1992510490189bd55bd635fe1270b3cb34d65069ba DIST hypothesis-6.170.0.gh.tar.gz 9723099 BLAKE2B 0876a9786084cb4b9d6f0494a14ae7953b64641968991fdd8ac03944582018cf665db55fabee07d2da11a8a50d85dcc97b9cb907cec35dab97588492b928cd3d SHA512 b0505bbbfe05e3d3df1d622accb6a971b68b3ba6680c9611fd4185be1f55a598875d4319dba012d3ca53491663b673e595a6fe9303f04a0255ecc55ff4cc77a0 DIST hypothesis-6.170.1.gh.tar.gz 9724551 BLAKE2B a890c940391e77985c4e9b6131410cc03c371fd985e9102cbadd5e0e52e70db06358c73614cb0a8729f8d305c0d5062ff1badc9c5e092161d6e6d2ed6a02c475 SHA512 001cf30549c78ee0c469c804f154b528c44b8e2126a7578cb9eb5a3423b8419b9894fcde7c65290922a225fc6bae9f5d030953c40625bcdd9cabd16681320e58 +DIST hypothesis-6.170.5.gh.tar.gz 9725753 BLAKE2B 6e4fbe57683bccd6c7da1ab5ef391f0ca48f1ae958301158df41048742c6cfbb64e3a6f6138cddaae5b4233b995c7054085bf2eab87ce36c36b21a2b34b06ea9 SHA512 0a8011e1988c414d4ffbb065572a126c3375594ebf95a5e8b90b41ef631d2f1ecfff480cf082471219093854a266ecc43fdf81c803475ea82171bcf5da9c04f5 DIST libc-0.2.186.crate 821883 BLAKE2B ebe7aac5f8937a8064c64a0d4dc72e5fc794080e09b96c6d245bdec0fd9a19d49ab38e25306e22e47564764cf5dcde45855237cffc70230a143eca2626bd5c3c SHA512 6a58e671ec6811dff9a0d7d4db8f37d38bcbca9efff20dad4706190e5cdb77b426567754bcf0ef0f2d0c31d6506401f724f3ca500b9bed57bb8605b1141ed690 DIST once_cell-1.21.4.crate 35010 BLAKE2B 9117ed1d478e626b7b7be2e3ff8b68a382b051112c7ca4425367bdae86977671f8b5c576131c82fb437740b6d98b72501f718f4172d39781decac2385e8fbd4d SHA512 af67669b0107f44268ba74c355200cb2ed1aab235a6989a8bc54323eb2c9a45677010f8672e7790edadd4c981e939436e0c3a099d33c06dce9c14fd5ede86155 DIST portable-atomic-1.13.1.crate 197001 BLAKE2B 6d0898c2a537a9bf204b7749cca5f5fddf280772b56eb7ce8fdd9cf7d71561137b26ef89f415c40277a1c89981333eef78e5bb4624515a294ba28fdaeb4c70ea SHA512 2a1b31ac9814af884640b3398ab824a9795c72d260527a0966b193113808cfbb3345d50cd1beaebb45863437c3d06c8706d34b26efecceefc649319a4bc274a3 diff --git a/dev-python/hypothesis/hypothesis-6.170.5.ebuild b/dev-python/hypothesis/hypothesis-6.170.5.ebuild new file mode 100644 index 000000000000..d6e8b8e38d1c --- /dev/null +++ b/dev-python/hypothesis/hypothesis-6.170.5.ebuild @@ -0,0 +1,143 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=maturin +CLI_COMPAT=( python3_{12..15} ) +PYTHON_COMPAT=( python3_{13..14} ) +PYTHON_REQ_USE="threads(+),sqlite" + +RUST_MIN_VER="1.91.0" +CRATES=" + cfg-if@1.0.4 + crunchy@0.2.4 + getrandom@0.3.4 + half@2.7.1 + heck@0.5.0 + libc@0.2.186 + once_cell@1.21.4 + portable-atomic@1.13.1 + ppv-lite86@0.2.21 + proc-macro2@1.0.106 + pyo3-build-config@0.29.3 + pyo3-ffi@0.29.3 + pyo3-macros-backend@0.29.3 + pyo3-macros@0.29.3 + pyo3@0.29.3 + quote@1.0.46 + r-efi@5.3.0 + rand@0.9.4 + rand_chacha@0.9.0 + rand_core@0.9.5 + syn@2.0.118 + target-lexicon@0.13.5 + unicode-ident@1.0.24 + wasip2@1.0.4+wasi-0.2.12 + wit-bindgen@0.57.1 + zerocopy-derive@0.8.53 + zerocopy@0.8.53 +" + +inherit cargo distutils-r1 optfeature + +DESCRIPTION="A library for property based testing" +HOMEPAGE=" + https://github.com/HypothesisWorks/hypothesis/ + https://pypi.org/project/hypothesis/ +" +SRC_URI=" + https://github.com/HypothesisWorks/hypothesis/archive/v${PV}.tar.gz + -> ${P}.gh.tar.gz + ${CARGO_CRATE_URIS} +" +S="${WORKDIR}/${P}/hypothesis" + +LICENSE="MPL-2.0" +# Dependent crate licenses +LICENSE+=" Apache-2.0-with-LLVM-exceptions MIT Unicode-3.0" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="cli" + +RDEPEND=" + >=dev-python/sortedcontainers-2.1.0[${PYTHON_USEDEP}] + cli? ( + $(python_gen_cond_dep ' + dev-python/black[${PYTHON_USEDEP}] + dev-python/click[${PYTHON_USEDEP}] + ' "${CLI_COMPAT[@]}") + ) +" +BDEPEND=" + test? ( + >=dev-python/attrs-22.2.0[${PYTHON_USEDEP}] + dev-python/pexpect[${PYTHON_USEDEP}] + >=dev-python/pytest-8[${PYTHON_USEDEP}] + ) +" +PDEPEND=" + dev-python/hypothesis-gentoo[${PYTHON_USEDEP}] +" + +EPYTEST_PLUGIN_LOAD_VIA_ENV=1 +EPYTEST_PLUGINS=( "${PN}" pytest-xdist ) +EPYTEST_RERUNS=5 +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +QA_PREBUILT="usr/lib/python.*/site-packages/hypothesis/_native.*" + +python_test() { + # NB: paths need to be relative to pytest.ini, i.e. start with hypothesis/ + local EPYTEST_DESELECT=( + # broken somehow (xdist?) + 'hypothesis/tests/pytest/test_constant_collection_timing.py::test_constant_collection_timing[True]' + ) + local EPYTEST_IGNORE=( + # require syrupy + tests/cover/test_custom_reprs.py + ) + + case ${EPYTHON} in + python3.15*) + EPYTEST_DESELECT+=( + 'hypothesis/tests/cover/test_lookup.py::test_resolves_forwardrefs_to_builtin_types[sentinel]' + 'hypothesis/tests/cover/test_lookup.py::test_resolves_builtin_types[sentinel]' + 'hypothesis/tests/cover/test_lambda_formatting.py::test_modifying_lambda_source_code_returns_unknown[False]' + ) + ;; + esac + + local -x HYPOTHESIS_NO_PLUGINS=1 + epytest tests/{cover,pytest,quality} +} + +src_install() { + local HAD_CLI= + + distutils-r1_src_install + + if [[ ! ${HAD_CLI} ]]; then + rm -r "${ED}/usr/bin" || die + fi +} + +python_install() { + distutils-r1_python_install + if use cli && has "${EPYTHON}" "${CLI_COMPAT[@]/_/.}"; then + HAD_CLI=1 + else + rm -r "${D}$(python_get_scriptdir)" || die + fi +} + +pkg_postinst() { + optfeature "datetime support" dev-python/pytz + optfeature "dateutil support" dev-python/python-dateutil + optfeature "numpy support" dev-python/numpy + optfeature "django support" dev-python/django dev-python/pytz + optfeature "pandas support" dev-python/pandas + optfeature "pytest support" dev-python/pytest +} diff --git a/dev-python/jsonpatch/Manifest b/dev-python/jsonpatch/Manifest index 8f78bfb87a11..d58ce391a777 100644 --- a/dev-python/jsonpatch/Manifest +++ b/dev-python/jsonpatch/Manifest @@ -1,3 +1,4 @@ DIST python-json-patch-1.33.gh.tar.gz 28475 BLAKE2B 7d95ab23e09141cbe26618c91b12558d5fbfecda3e5b148d834753a364155d30859a9bdc3d321bdfcc5269f7e0170671524ae78f5fe65a8c97041bab3fb522b9 SHA512 0685f63949bee135b19d0962bdaab32ba97e02772b6650d885be57c09a2e89546222ebba1a4cf146b2f91027790b0a3ff2ea072d66dcebf9153aa601638bbfa2 DIST python-json-patch-1.34.gh.tar.gz 39356 BLAKE2B 57342b6f47099bce4f2f2d28f6db7ceb8e5e399f20d0ebeb1577fde3e206569f42dd6f0822fcddfbd15922ff82397468fa8fb807e81f79a22c494bcc0d52ef09 SHA512 503f07689f96369e43a6d689bcbf5763445f5e7f93a2ee5c409f1abc17d57ec06165e1458a31903bc67d740fd02ea135d95454b81bde22b895492438949abc89 DIST python-json-patch-1.35.gh.tar.gz 49420 BLAKE2B d97ec8eddc656dd2b7f7b9fccf43e030368f96b9588c6383053e9e4ceffbc586f830d1266e4ff9521f2c83874a3b248382e36a8d40a9b376e1bd8dc0bf08659b SHA512 74e0ed5c45a7adb0519c587ce8ee76901ed3f77991bcf9687b9b7b9bf91773bdac3bcdb8c107a093307a4dba2b7b31df94f50b7410447ed498d392e8eba4d869 +DIST python-json-patch-1.36.gh.tar.gz 49920 BLAKE2B bbbea3600017a1a21d71e6be440f5712d9d592e1097c3dd709133123c6267fc4f68045aad65b7a88c505b4c26d07947ea81de8f9b990b9ae7b532bdad8e51d20 SHA512 3a4a85dc58a13ab96bbe67d1ff81bdba1490e18691458db6cde70376fe3ba38680d07e64da080b207fbe09932478da9c358576944ad27e06e4f90b70511973f2 diff --git a/dev-python/jsonpatch/jsonpatch-1.36.ebuild b/dev-python/jsonpatch/jsonpatch-1.36.ebuild new file mode 100644 index 000000000000..632a0da68c8c --- /dev/null +++ b/dev-python/jsonpatch/jsonpatch-1.36.ebuild @@ -0,0 +1,43 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 + +MY_P=python-json-patch-${PV} +DESCRIPTION="Apply JSON-Patches like http://tools.ietf.org/html/draft-pbryan-json-patch-04" +HOMEPAGE=" + https://github.com/stefankoegl/python-json-patch/ + https://pypi.org/project/jsonpatch/ +" +SRC_URI=" + https://github.com/stefankoegl/python-json-patch/archive/v${PV}.tar.gz + -> ${MY_P}.gh.tar.gz +" +S=${WORKDIR}/${MY_P} + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86" +IUSE="test" +RESTRICT="!test? ( test )" + +RDEPEND=" + >=dev-python/jsonpointer-1.9[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + ${RDEPEND} + dev-python/hypothesis[${PYTHON_USEDEP}] + ) +" + +python_test() { + "${EPYTHON}" tests.py || die "Tests of tests.py fail with ${EPYTHON}" + "${EPYTHON}" ext_tests.py || die "Tests of ext_tests.py fail with ${EPYTHON}" + "${EPYTHON}" property_tests.py || die "Tests of property_tests.py fail with ${EPYTHON}" +} diff --git a/dev-python/jsonpointer/Manifest b/dev-python/jsonpointer/Manifest index 02b33cba3bf2..b70d3992daf5 100644 --- a/dev-python/jsonpointer/Manifest +++ b/dev-python/jsonpointer/Manifest @@ -5,3 +5,5 @@ DIST jsonpointer-3.2.1.tar.gz 11309 BLAKE2B f9ceb4585302147612ead295887370be9420 DIST jsonpointer-3.2.1.tar.gz.provenance 10152 BLAKE2B 24bba7913585705f381cc46982d2d2ee8069f91c7d8572b6bb612d226e451cf5a24d7046e8993ec3d4453e6719eae3c8c20285dca563ec69d40c6a1980eedb23 SHA512 76bde2061833aee5fa4ccf68d16eb8f5d8ff35adf5f33c26222e71fa3be91a20a12a567c31a30dd696c0212b00e0570c188c52255d6cc57787b4f636359d071e DIST jsonpointer-3.3.tar.gz 12076 BLAKE2B bdbf8011998d7fb7a0110c6b377864e24ad2ea3c06d5b6eba8ce9ecb71c5ef1c353569dd8b5a8f130e8f7ea08f8eccd70fcfb531e71f529a13e61b31ab8b0090 SHA512 c3ce90fa207aeaea390936dd8feee4552bc589f9b3cad008721a02b23405767c41d14f317c77fd821ab3415d29f52c1d3eba54ba916ab59ec1339bb93bad124e DIST jsonpointer-3.3.tar.gz.provenance 10355 BLAKE2B 61ccd4e71a71b0770833a9234dfcc7de023f8af48136a41a1bcb7e0ab8dbf8714fbba9766e42981007265cb4dab3422a49b1cbca4ba47d321a597ebd41ac2c1b SHA512 3a065f02df627148430496d8ce3aeb12c9747b8ad3edff2dff891c201cb4e27bc049f87e7a1de2b5eaa77885de24a799fc6a347a54c4e3e3f3ef10521354836a +DIST jsonpointer-3.4.tar.gz 13113 BLAKE2B c133dd1193de3b46eca533beca1d901639ae345584f0bd1aa10f1b4da7f793f0ff5811f5997df18cbdb2d3263b9269cb8e6543da698c1b4fe780d78ff04746b6 SHA512 df6490b2fedf28cf30c3861b377051d2738382f63e8274c2a258309590f5eba3e831b88a9f77182d1648b116500169a09e6dc605b72473779d29eecaa293c425 +DIST jsonpointer-3.4.tar.gz.provenance 10163 BLAKE2B a8f87e7c7a5059ef7e27e351a04f50df24d1ff237b36a179f367ad62ffb30929219d0df6617dff6144a63e8dc728d1bf819bdb428968ab68e0203d70e83c0c0c SHA512 e26fc403592a4099fedf0df2981d6664e56ececfb19e94a97c79091529eaa6572a254e9e771db5d5285377dffba8ae70a230cac5cabcb57fcc2331fd3c0e5b0c diff --git a/dev-python/jsonpointer/jsonpointer-3.4.ebuild b/dev-python/jsonpointer/jsonpointer-3.4.ebuild new file mode 100644 index 000000000000..5091242d54b8 --- /dev/null +++ b/dev-python/jsonpointer/jsonpointer-3.4.ebuild @@ -0,0 +1,24 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYPI_VERIFY_REPO=https://github.com/stefankoegl/python-json-pointer +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Identify specific nodes in a JSON document (according to draft 08)" +HOMEPAGE=" + https://github.com/stefankoegl/python-json-pointer/ + https://pypi.org/project/jsonpointer/ +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos" + +python_test() { + "${EPYTHON}" tests.py || die "Tests fail with ${EPYTHON}" +} diff --git a/dev-python/markdown/Manifest b/dev-python/markdown/Manifest index 7d7194568ad4..ba215a6b7cdb 100644 --- a/dev-python/markdown/Manifest +++ b/dev-python/markdown/Manifest @@ -1,3 +1,4 @@ DIST markdown-3.10.3.tar.gz 372596 BLAKE2B 3f5ad04979c29234964928e436d4523ac0abbbbd9e4f1816652ca889d82993bc324f3d8d855f47b1be9291c3a4f97b9fbef1df0772af24af7aa3b920089cc26a SHA512 64e5e5f27a2aa0297e316c20796969e802acc3ffcf5e8c266fcf0eda2d188f30458adf1f0420508b104dfdb2a8b153d58b10a5b20f48d8327df5318b784307f9 DIST markdown-3.11.1.tar.gz 492927 BLAKE2B 4549b36918b981b96520aabba53061d80fa5a3eace8d4467bda4e654e18f1c99f1a5653f8e3eb8fc1bd926a909d597e605a9249362c93d9e354e913ec11d015d SHA512 d62f4568149bf3b656a0b47eb354b8bd7dea414b04035e5f08ff80696270ce749093a5b4c6843e09f5ffd3a9e2be464c440821202d0c0d9d6d49a657683ad870 +DIST markdown-3.11.2.tar.gz 491445 BLAKE2B aa585eb4355c78300d1e58050b8cc92bc7519d3234153213cb04607f98a360f73baa4c88ee01d20a96efbe5620e8e87da01923b3ad6dbf4e22d889363cdbd3ca SHA512 287c215d5a3e7e53ce116cbc68c3d8ac5b4ab406e79661aeb3897d442ff87b00ac3978ff3d391b11a81542ad64a8d0e67ddb9dc38d97da73c04f61d2560fdd44 DIST markdown-3.11.tar.gz 485623 BLAKE2B d3bf9cc73ec427810c33a233cdc46ed97261e582d526c1aa667d16d6c06c84f6a65367d4c337bc7ac1fc8e13c9cb69b8d9393c9c1d38d49ff0ed84785df64187 SHA512 4368f4527c8af676c3d4df0e3c8fe0a7742a0f2468fcce74a5ca90cce42a19fe526b31b2325ad872ca9b7197a64d418da8c7599d94635bce0a25940cb337c5f3 diff --git a/dev-python/markdown/markdown-3.11.2.ebuild b/dev-python/markdown/markdown-3.11.2.ebuild new file mode 100644 index 000000000000..5a1dd7ba2712 --- /dev/null +++ b/dev-python/markdown/markdown-3.11.2.ebuild @@ -0,0 +1,39 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYPI_PN=${PN^} +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Python implementation of the markdown markup language" +HOMEPAGE=" + https://python-markdown.github.io/ + https://pypi.org/project/Markdown/ + https://github.com/Python-Markdown/markdown/ +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos" +IUSE="doc test" +RESTRICT="!test? ( test )" + +BDEPEND=" + test? ( + dev-python/pygments[${PYTHON_USEDEP}] + dev-python/pytidylib[${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests unittest + +python_install_all() { + use doc && dodoc -r docs/ + + distutils-r1_python_install_all +} diff --git a/dev-python/mistune/Manifest b/dev-python/mistune/Manifest index fee2df33faba..07baf716b112 100644 --- a/dev-python/mistune/Manifest +++ b/dev-python/mistune/Manifest @@ -1,4 +1,4 @@ -DIST mistune-3.3.3.tar.gz 115363 BLAKE2B b1808f9c206fac6b1606f2df7c4fe023d5623202cad5e9d76d23fc614f23ead7f7eb3a45f0ccdb71e31564348ae71795e5609cafc80b47ea6901fba1a343e60d SHA512 0f3c3172ceae06577585c54d9b8c03a74d5e802a14b44aff984ef3ec3134b58738c693e74759ec66fedb1d3e18e556ef68c8c7a7b66b6feadf7854eb13a4dafd -DIST mistune-3.3.3.tar.gz.provenance 9768 BLAKE2B 68fbb2263cb4f6b23eabc9cbc6c83c4595b11102b5aaad758dc2be57d1bea1f21a93d51a5882e6249cf5b18a286cd91ebe7e01f9910a4148c49465065eb189c0 SHA512 c7b1feee3901c2e913f364ca5f2e1cb67428233e1ab26527b4846ed6d2f29dde1f60198ed463fe79141ddc28d4d07b1ac90be31feb42dac8932c1711a80c2cb7 DIST mistune-3.3.4.tar.gz 121426 BLAKE2B 2feb7f70d7872509d45d89cffa2faeccbb7169bf7170b581dbbfb2cef217260ab6e8bbbd65ac1da6f266ce8a922986cad5510e86c5f20283f14d4ab5d7c81626 SHA512 45b6c7182145e3114609fefb7f00f3e006708995a4e646819dfc7ec8ac6419fa6267203bbfa71c83670bb8b16f9f64da24fa86b1bb0142ff6f5db35ddaff379e DIST mistune-3.3.4.tar.gz.provenance 9443 BLAKE2B c94b5df22e8a1aa804cdc4142315ad04477499545e3baf590c74c9a749bbfacce5f2ae9d45cffed6e20c6c0de1eab9deee01fd4a1546559c3bd42511f9a45e63 SHA512 46616eb4cb185cb544b389490aeb56fd5f0346fb1bbd39832045c7d4c809815a9ada9c8776461c821b45f05a8e5bf2b327e8e5f8066dbd6a93ff6faf3b3e9553 +DIST mistune-3.4.0.tar.gz 136772 BLAKE2B 2bb3432114caebc578f4c83e2eb12e4c63cf3851aeb2acbea840dac1cb135242e22bc7e6d5c88f01fe855783ba7470d913b9fa19dc027cb9d5d0eda6b4c7e118 SHA512 998b2d31544aaf50ef2ea7898f60436e54d298211d8614713eae66d7abff15dc6bfe98f976915cca515f6fc575a0b9090f2da9b07de1d174a87d8736eb65a69a +DIST mistune-3.4.0.tar.gz.provenance 9435 BLAKE2B 84a0c2ef3dda85d5a752594e77f85bda38caeefdc25c8156e8ca81e097546d4326e0050080e7b99c72154c0e16691e0cf150631364b8e390584c51356edb716b SHA512 1acac88439eb755170b84438661f9605c2e453427c8b671749080b23be72671bb4232f170821b8d0b72f828e9b711a7c9daea8d56d0300443e06621376790ab4 diff --git a/dev-python/mistune/mistune-3.3.3.ebuild b/dev-python/mistune/mistune-3.4.0.ebuild index 5eae05275c0d..e62e57f6822b 100644 --- a/dev-python/mistune/mistune-3.3.3.ebuild +++ b/dev-python/mistune/mistune-3.4.0.ebuild @@ -17,7 +17,12 @@ HOMEPAGE=" LICENSE="BSD" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos" EPYTEST_PLUGINS=() distutils_enable_tests pytest + +EPYTEST_DESELECT=( + # unreliable timing test + tests/test_misc.py::TestMiscCases::test_deeply_indented_list_does_not_scale_quadratically +) diff --git a/dev-python/pycryptodome/Manifest b/dev-python/pycryptodome/Manifest index 70cf2236f500..493b515ac5cb 100644 --- a/dev-python/pycryptodome/Manifest +++ b/dev-python/pycryptodome/Manifest @@ -1,3 +1,4 @@ DIST pycryptodome-3.24.1.gh.tar.gz 19739898 BLAKE2B 7db01c5bd78f14d61620272d6a15105e3c640b933263a4720d5d047c55a0bd57e984fc150f96469aa29b7947b0fb62dbbe3e199587d146b08f30af28d781600b SHA512 90df69c1f003d9a06391709e09d1cb3124053c4eb4a062cba01e6048c1fc07ba29db36b94dbafc6e5f7f6f173321b8e687358d8a3cca88921234e74f46c17c37 DIST pycryptodome-4.0.0.gh.tar.gz 16296945 BLAKE2B e6380f4638013d528aeb45d9db1e5c6509de0301bb7bdde07dfb363d0bc833dea72edcb43cc0a1c4ce2b39ef6edf67287494c90d7f68fb0d6697ce1f77f7c3fa SHA512 536522d15b29646cdfbeae1d3d4d23261fe112392858809df117b71f3293af4b7705f9a8421a4ddd7dbf5a5df117852ce4bc506dbe30b241de0ded36c7ce6033 DIST pycryptodome-4.0.1.gh.tar.gz 16299237 BLAKE2B 74e0e2acca917f66c949a9da0e01e2bf0d22b67587354276aebe379e001acdd9a75c7b8d504e8d6b9c2baaaac9b8c13194a56d60d5658782e4072c783ac6da88 SHA512 ece24a54049190ac6131c4712f48f49290d910524bfe7ff5d1bd675ccf28bc6eb17ca7e642eabd9bfa1fd664a25bbc75e6f9fef92c7231a175ac8409082b8fdd +DIST pycryptodome-4.1.0.gh.tar.gz 26032340 BLAKE2B 0ac96edd8df4b4b0055a1f736faab428dcaf10428e21a21e844e479355a850e7510ac4ee8b15d3a43796b6752cc764683dabb1524890726da235926143b8a4af SHA512 898c721a1e5361e2e0945f993101a3096b2e935615773d1eb68f0148468cd7da34c2ea5cbe63c1ca024ee2454c8f7c648f6727e45e5f115987c10b17aee7e6c3 diff --git a/dev-python/pycryptodome/pycryptodome-4.1.0.ebuild b/dev-python/pycryptodome/pycryptodome-4.1.0.ebuild new file mode 100644 index 000000000000..2b4914b240d2 --- /dev/null +++ b/dev-python/pycryptodome/pycryptodome-4.1.0.ebuild @@ -0,0 +1,86 @@ +# 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} ) +PYTHON_REQ_USE="threads(+)" + +inherit cmake distutils-r1 toolchain-funcs + +DESCRIPTION="A self-contained cryptographic library for Python" +HOMEPAGE=" + https://www.pycryptodome.org/ + https://github.com/Legrandin/pycryptodome/ + https://pypi.org/project/pycryptodome/ +" +SRC_URI=" + https://github.com/Legrandin/pycryptodome/archive/v${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="BSD-2 MIT Unlicense" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" + +DEPEND=" + dev-libs/gmp:= +" +BDEPEND=" + dev-python/cffi[${PYTHON_USEDEP}] +" +RDEPEND=" + ${DEPEND} + ${BDEPEND} +" + +EPYTEST_PLUGINS=() +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +CMAKE_USE_DIR=${S}/src/test + +src_prepare() { + cmake_src_prepare + distutils-r1_src_prepare + + # force sanitizer detection to fail, they break tests x_x + sed -i -e 's:-fsanitize=[a-z]*::g' src/test/CMakeLists.txt || die +} + +check_x86_opt() { + local macro=${1} + + if { use amd64 || use x86; } && + tc-cpp-is-true "defined(${macro})" ${CFLAGS} ${CPPFLAGS} + then + echo ON + else + echo OFF + fi +} + +src_test() { + local mycmakeargs=( + # TODO: grab these off CFLAGS, they enable extra tests + -DAESNI="$(check_x86_opt __AES__)" + -DSSE="$(check_x86_opt __SSSE3__)" + + -DVALGRIND=VALGRIND_NOT_FOUND + ) + + cmake_src_configure + cmake_src_compile + cmake_src_test + + distutils-r1_src_test +} + +python_test() { + local -x PYTHONPATH=${S}/test_vectors:${PYTHONPATH} + epytest --pyargs Crypto + + # TODO: run cmake tests from src/test? +} diff --git a/dev-python/python-utils/Manifest b/dev-python/python-utils/Manifest index 6e7207191656..558da6db40ba 100644 --- a/dev-python/python-utils/Manifest +++ b/dev-python/python-utils/Manifest @@ -6,3 +6,5 @@ DIST python_utils-4.1.1.tar.gz 77721 BLAKE2B 530de67b178393c338e37dbd392a5300b10 DIST python_utils-4.1.1.tar.gz.provenance 9727 BLAKE2B 4be8d63bf851012d2c587f1030d161ef9b5a86bb81088ccc824006b27453cd4eac0968e25d5204c004455d12d9748d4ffbeec7409ae920874f25e2c0a46f88b4 SHA512 a42a5fc3a5002c466d1eead08456d1ec3af80778d0f1a41de8447c83ba15ead24504111fd9672f2102c421d964b2ca9460781b16fd66d2b7b899a911b378826e DIST python_utils-4.1.2.tar.gz 79647 BLAKE2B ef5df83d75ee7991832cb8b9a6273e94281a3feac0a94eae07e848433c6124d28dcf295f04b50d844705fe449e83a897e3660a59ece4b59d61522fc32c880838 SHA512 3fd24ffcf85fa5fb422e31f4646bbe15b09a2dc32d8c2cbf1cf85090e6c4980498eae51fe6fa434e9b4e2b7c10f243597bafc21bdd1fb0e8430bfff25c0f4dd5 DIST python_utils-4.1.2.tar.gz.provenance 9629 BLAKE2B f73f96ad9f6b88446a83798e554afe1171d68308dab6df060ba69d43a01b9ada1c7d8a32acdf0713b2ae651a5b053d15ab1850695b2f4f8a98685cb9b9d099a7 SHA512 7e146619a3f0d83f39cb37b34a87145023ce29becbb4263855b8a83160393eac1f0789bd56632d3a3ce69be37ff610125dab07097d39949d416c7257ca058223 +DIST python_utils-4.1.3.tar.gz 80215 BLAKE2B a1599bc07579805e3ba7a2e7b001cce0379564448a3422401dfcff4ecc83064cc0792659ef861f7c429c7ef2d5aa715dc4197907070e3650facffdb9cf43ac17 SHA512 8f2b8f04c30557425aff53963b273f20ff1fe93727b31936fa77c232a0686684ea94abdaff0614cf14c79d1719b59af1c3fa7f04a5c8127f036140a20decc242 +DIST python_utils-4.1.3.tar.gz.provenance 9398 BLAKE2B 9196ab28b097c4a0b2352d03803667661509871201f4ceff3f1c216e7f9efd050da1ebbce7c83116a5903a6598ac07fcf8e7ca7d611e3d7a515ca5d428659a3c SHA512 7427a84db0337b48f9d497012620f227c0bab23b92a91c00b437bc68e1923ac171f60b6faec39c374fbb74111ba5f5e68d045e3196271549ecc0681e87560eb4 diff --git a/dev-python/python-utils/python-utils-4.1.3.ebuild b/dev-python/python-utils/python-utils-4.1.3.ebuild new file mode 100644 index 000000000000..05d102d2521e --- /dev/null +++ b/dev-python/python-utils/python-utils-4.1.3.ebuild @@ -0,0 +1,43 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=uv-build +PYPI_VERIFY_REPO=https://github.com/wolph/python-utils +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Collection of small Python functions & classes" +HOMEPAGE=" + https://github.com/WoLpH/python-utils/ + https://pypi.org/project/python-utils/ +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" + +RDEPEND=" + dev-python/typing-extensions[${PYTHON_USEDEP}] +" + +EPYTEST_PLUGINS=( pytest-asyncio ) +distutils_enable_tests pytest + +EPYTEST_IGNORE=( + docs + _python_utils_tests/test_logger.py + python_utils/loguru.py +) + +EPYTEST_DESELECT=( + # fragile + _python_utils_tests/test_time.py::test_timeout_generator +) + +python_prepare_all() { + sed -i -e '/--cov/d' pyproject.toml || die + distutils-r1_python_prepare_all +} diff --git a/dev-python/s3transfer/Manifest b/dev-python/s3transfer/Manifest index a077357bdab8..082548ce8a70 100644 --- a/dev-python/s3transfer/Manifest +++ b/dev-python/s3transfer/Manifest @@ -1 +1,2 @@ DIST s3transfer-0.19.2.tar.gz 165592 BLAKE2B c381e6884ee77c724e41ed19423fea00ebef150bf53a31496881cc7645b60033ec57731bb8e11604fed0331fcb4e3f5d6910c4ef113d959f96c28ff9f3ca3248 SHA512 acebc3b7447f2e14274fe9b8230a135ba42a7e0ad82b1f7f6e1ff57ebe10d6afdc4ea31b59c9b89e4d4112eff8a5fc34c4425f8e6d284a791d5bb8926d1f262c +DIST s3transfer-0.19.3.tar.gz 166087 BLAKE2B 08115c8bce58ee6084625a47824aac58d56efa26cafd2297f137b40f373c396e021093183551190021509f0c06f9e4fcca369a949443d2731d5c81bb3f711a40 SHA512 07745f7d8956d3e2963bf45ca7ccac876a52f2e1f84ccf18278d1d3229d9e491410e2f069749ab485e12b07cd00558f5b9d902b9ace66710485e4ed02b88fa92 diff --git a/dev-python/s3transfer/s3transfer-0.19.3.ebuild b/dev-python/s3transfer/s3transfer-0.19.3.ebuild new file mode 100644 index 000000000000..980185fd1051 --- /dev/null +++ b/dev-python/s3transfer/s3transfer-0.19.3.ebuild @@ -0,0 +1,47 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="An Amazon S3 Transfer Manager" +HOMEPAGE=" + https://github.com/boto/s3transfer/ + https://pypi.org/project/s3transfer/ +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86" + +RDEPEND=" + <dev-python/botocore-2[${PYTHON_USEDEP}] + >=dev-python/botocore-1.37.4[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/awscrt[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=() +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +src_prepare() { + distutils-r1_src_prepare + + # do not rely on bundled deps in botocore (sic!) + find -name '*.py' -exec sed -i \ + -e 's:from botocore[.]vendored import:import:' \ + -e 's:from botocore[.]vendored[.]:from :' \ + {} + || die +} + +python_test() { + epytest tests/{unit,functional} +} diff --git a/dev-python/setuptools/Manifest b/dev-python/setuptools/Manifest index ad37c0333763..d34dc560b078 100644 --- a/dev-python/setuptools/Manifest +++ b/dev-python/setuptools/Manifest @@ -1,3 +1,3 @@ DIST setuptools-79.0.1.tar.gz 1367909 BLAKE2B d495a22753400b3b0ef71423e2c9b5adaad1a065d1f9638b5da8161b29c453495701c3efaa3abd2482777e186ba992bd7b57090dfc711d9cdfdaa8254616a8ff SHA512 5b68d7cc775f4318e178f7d7f69c60a01b1abc607411e88c88e3507a08bd85eed241b915d4be5f3ada90df4b68718056c2ba032943c1f53fe68d171c7d728179 -DIST setuptools-83.0.0.tar.gz 1154254 BLAKE2B b82142ad699703352b4ec7843545f3f078e853d39fa93e2d0ee42b9914ebc9d04bc7de4954bce0a1e49f3befea39d14176ed4e7462d202d74ed503664765fba9 SHA512 d426f235471d30b41391bda63e8f3d461f54a6a4127594a2e2d0cab0c7576d511db5e5f211ed6cdac2afc620d3695e991a1dd08106f1201ec64697b14b3e0390 DIST setuptools-84.0.0.tar.gz 1168449 BLAKE2B b4dc28c42ea271dc2cac7f7218bec0819d043d52100df8c1ac7672092c2f45b62e731d18d76bc00a6392b60f8afb8c1f7e961050ee23b0e1c77bbd94e42481db SHA512 67721834362dd88c256cbd523413dbdcb99ca871bcc873ffa29c7667687973e1d5e15b0ea8ef4529711418b14d3d660771846877543001d4ab0fe8b4585ac9ad +DIST setuptools-84.2.0.tar.gz 1227656 BLAKE2B c6f89587af28b64029dfcc0a3a511e30abec3b60d00a272f699ff2df2032e0cdc04c546b9bac6a8928cf7a6cbcd3a3a856815ee18bcc178f05a53fcc59bee6eb SHA512 ac5c9daf5cf445a2bb220072efed426e0af38caa601d544389181a3f53bc39575cf0cf7aa69addca239eb8c8f51e3410cad0b9ff9c9787d0c4c6a54fbc3a256e diff --git a/dev-python/setuptools/setuptools-83.0.0.ebuild b/dev-python/setuptools/setuptools-84.2.0.ebuild index 25ff5dbbff3b..6c0512ec12b4 100644 --- a/dev-python/setuptools/setuptools-83.0.0.ebuild +++ b/dev-python/setuptools/setuptools-84.2.0.ebuild @@ -21,7 +21,7 @@ HOMEPAGE=" LICENSE="MIT" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="test" RESTRICT="!test? ( test )" @@ -29,7 +29,7 @@ RDEPEND=" >=dev-python/jaraco-functools-4.4.0[${PYTHON_USEDEP}] >=dev-python/jaraco-text-4.0.0[${PYTHON_USEDEP}] >=dev-python/more-itertools-10.8.0[${PYTHON_USEDEP}] - >=dev-python/packaging-25.0[${PYTHON_USEDEP}] + >=dev-python/packaging-26.3[${PYTHON_USEDEP}] >=dev-python/platformdirs-4.4.0[${PYTHON_USEDEP}] >=dev-python/wheel-0.45.1[${PYTHON_USEDEP}] " @@ -112,6 +112,8 @@ python_test() { setuptools/tests/config/test_apply_pyprojecttoml.py::TestPresetField::test_scripts_dont_require_dynamic_entry_points # TODO 'setuptools/tests/test_egg_info.py::TestEggInfo::test_requires[setup_requires_with_markers]' + # broken by scikit-build-core somehow + 'setuptools/tests/test_extern.py::test_distribution_picklable' ) local EPYTEST_XDIST=1 diff --git a/dev-python/sphinx/Manifest b/dev-python/sphinx/Manifest index 035a213ef3fa..9004e97b29a8 100644 --- a/dev-python/sphinx/Manifest +++ b/dev-python/sphinx/Manifest @@ -1 +1,2 @@ DIST sphinx-9.1.0.gh.tar.gz 8840512 BLAKE2B 54f680ff84b43b3508c1c9208ff41dc9fba1ae8f8dd608287511fb16e28dc7fa72419165b41f556af266e00c737cd8cc23a6617776fa88f0dbb8379fbbf59397 SHA512 3b17a3d4123d19ed47c7ab7786edcbe7eb0566f298d9de22efb3f4f0476b6c0ddf858b57812f2dac718458d98ddc742a443b7c94771693a1ed3bf868850639b1 +DIST sphinx-9.1.1.gh.tar.gz 8840940 BLAKE2B 786a8f87dd28dae7ef5799fd39ff5ae2bbcdd6f2b100aa7d9f5a9c1c4b732fad1866431436013c6d540426e6ca5d76c4856479426e21a7aeb31e79a79d04d495 SHA512 b5b82e8f9694ff5b7238ed357ddb0bd2f938f9cefd366859af9d92ec55cc40892a56259bd87dddacfb91500c73d628e8aa97ddd5ea0fe53509ec372952f28f27 diff --git a/dev-python/sphinx/sphinx-9.1.0.ebuild b/dev-python/sphinx/sphinx-9.1.1.ebuild index 06bff1b18fc1..ba0e779730d2 100644 --- a/dev-python/sphinx/sphinx-9.1.0.ebuild +++ b/dev-python/sphinx/sphinx-9.1.1.ebuild @@ -3,7 +3,7 @@ EAPI=8 -DISTUTILS_USE_PEP517=flit +DISTUTILS_USE_PEP517=flit-core PYTHON_COMPAT=( python3_{13..14} ) PYTHON_REQ_USE="threads(+)" @@ -25,14 +25,13 @@ S=${WORKDIR}/${MY_P} LICENSE="BSD-2" SLOT="0" if [[ ${PV} != *_rc* ]]; then - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" fi IUSE="doc latex" RDEPEND=" >=dev-python/alabaster-0.7.14[${PYTHON_USEDEP}] >=dev-python/babel-2.13[${PYTHON_USEDEP}] - <dev-python/docutils-0.23[${PYTHON_USEDEP}] >=dev-python/docutils-0.21[${PYTHON_USEDEP}] >=dev-python/imagesize-1.3[${PYTHON_USEDEP}] >=dev-python/jinja2-3.1[${PYTHON_USEDEP}] @@ -54,7 +53,6 @@ RDEPEND=" ) " BDEPEND=" - >=dev-python/flit-core-3.11 doc? ( dev-python/sphinxcontrib-websupport[${PYTHON_USEDEP}] media-gfx/graphviz @@ -72,21 +70,23 @@ BDEPEND=" ) " -PATCHES=( - "${FILESDIR}/sphinx-3.2.1-doc-link.patch" -) - EPYTEST_PLUGINS=() EPYTEST_RERUNS=5 # EPYTEST_XDIST breaks stuff distutils_enable_tests pytest python_prepare_all() { + local PATCHES=( + "${FILESDIR}/sphinx-3.2.1-doc-link.patch" + ) + + distutils-r1_python_prepare_all + # disable internet access sed -i -e 's:^intersphinx_mapping:disabled_&:' \ doc/conf.py || die - - distutils-r1_python_prepare_all + # unpin dependencies + sed -i -e 's:,<[0-9.]*::' pyproject.toml || die } python_compile_all() { diff --git a/dev-python/uv-build/Manifest b/dev-python/uv-build/Manifest index d7d14370ebad..4966413124b7 100644 --- a/dev-python/uv-build/Manifest +++ b/dev-python/uv-build/Manifest @@ -6,3 +6,4 @@ DIST uv_build-0.12.23.tar.gz 437241 BLAKE2B 05e4750d1d540a81b36cefc7043b95ec188b DIST uv_build-0.12.7.tar.gz 418759 BLAKE2B 94aa33b2644f849a686d80d7f7d365ca8433615d93f27209fca5b21747363cd349d11e887d090420102f06a49977ce963b8f19c24a4280bf82a09943ba08885b SHA512 135f845b3ee6d1925f740917f83f94ec1a7e95aab5ed2db0aa70516c712ab0a143a0e427d3c172fac0bb1fabaa9103718bb2a26c31c9a287e3af65ac0175a245 DIST uv_build-0.12.9.tar.gz 423446 BLAKE2B 8f32f7527633f5853a11a0f798a2aa075f9e96c2b34144f986a639dbd042bac7c5e33853287ef43273352a3ee84da852062c42daead1f188281295b635694177 SHA512 3aa6ea5b4e60218e7cbc3c5ed8ff7fbeeace36eb0d2c75627fb7a0ce7c060e8d6405378e9713f7164319cce55dc96b1a335ccb3032cfc7e9e60e99862295e79e DIST uv_build-0.13.1.tar.gz 446632 BLAKE2B 543350d4a3d6ba53ea5d52f0f840245a6865f029a48f4f095d4d191b0ca502960526660f9255d60bb8e15b00c6daba9afbe7a8c19e61ca841fa5524a9b63c10b SHA512 42f4739a21e068af66b884a22f7fd57f278ebfe37a5561d5fdf95dc0c443456e5436a3ce49b26b96c70b7431c0422af37a33b529a0f6ab09e3ad108a9982350d +DIST uv_build-0.13.3.tar.gz 464136 BLAKE2B 4bcffe9228283c2c6388627d9ded292855c506aebb97efae931a6aecafdd1c5a680dc65a47651496409dde59c896e846b76f5abf4d67e2483d024f5cd93e9ffa SHA512 2fc5b9fe0e23172636b2fb927634619f5b93f1e1173ae2a8ea3ce14b4194bd2dba7bf6da6e46723c90a945a47273b8e67114398bc958e94f68bc4895af7a6574 diff --git a/dev-python/uv-build/uv-build-0.13.3.ebuild b/dev-python/uv-build/uv-build-0.13.3.ebuild new file mode 100644 index 000000000000..65d94f2051ae --- /dev/null +++ b/dev-python/uv-build/uv-build-0.13.3.ebuild @@ -0,0 +1,100 @@ +# Copyright 2025-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Maturin compiles uv-build executable for every impl, we do not want +# that, so we use another backend. And since we use another backend, +# why not dogfood it in the first place? +DISTUTILS_USE_PEP517=standalone +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="PEP517 uv build backend" +HOMEPAGE=" + https://github.com/astral-sh/uv/ + https://pypi.org/project/uv-build/ +" + +LICENSE="|| ( Apache-2.0 MIT )" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~x86" +IUSE="test" +RESTRICT="!test? ( test )" + +RDEPEND=" + >=dev-python/uv-${PV} +" +BDEPEND=" + test? ( + app-arch/unzip + dev-python/build[${PYTHON_USEDEP}] + ) +" + +src_prepare() { + distutils-r1_src_prepare + + # use the executable from dev-python/uv instead of building + # a largely overlapping uv-build executable (at least for now) + sed -i -e '/USE_UV_EXECUTABLE/s:False:True:' python/uv_build/__init__.py || die + + # replace the build-system section + sed -i -e '/\[build-system\]/,$d' pyproject.toml || die + cat >> pyproject.toml <<-EOF || die + [build-system] + requires = ["uv_build<9999"] + build-backend = "uv_build" + backend-path = ["src"] + EOF + + # rename to make uv-build find it + mv python src || die +} + +python_test() { + "${EPYTHON}" -m build -n || die "Self-build failed with ${EPYTHON}" + + local zip_result=$( + unzip -t "dist/uv_build-${PV}-py3-none-any.whl" || die + ) + local zip_expected="\ +Archive: dist/uv_build-${PV}-py3-none-any.whl + testing: uv_build/ OK + testing: uv_build/__init__.py OK + testing: uv_build/__main__.py OK + testing: uv_build/py.typed OK + testing: uv_build-${PV}.dist-info/ OK + testing: uv_build-${PV}.dist-info/WHEEL OK + testing: uv_build-${PV}.dist-info/METADATA OK + testing: uv_build-${PV}.dist-info/RECORD OK +No errors detected in compressed data of dist/uv_build-${PV}-py3-none-any.whl.\ +" + if [[ ${zip_result} != ${zip_expected} ]]; then + eerror ".zip result:\n${zip_result}" + eerror ".zip expected:\n${zip_expected}" + die ".whl result mismatch" + fi + + local tar_result=$( + tar -tf "dist/uv_build-${PV}.tar.gz" || die + ) + local tar_expected="\ +uv_build-${PV}/PKG-INFO +uv_build-${PV}/pyproject.toml +uv_build-${PV}/pyproject.toml.orig +uv_build-${PV}/ +uv_build-${PV}/README.md +uv_build-${PV}/src +uv_build-${PV}/src/uv_build +uv_build-${PV}/src/uv_build/__init__.py +uv_build-${PV}/src/uv_build/__main__.py +uv_build-${PV}/src/uv_build/py.typed\ +" + if [[ ${tar_result} != ${tar_expected} ]]; then + eerror ".tar.gz result:\n${tar_result}" + eerror ".tar.gz expected:\n${tar_expected}" + die ".tar.gz result mismatch" + fi +} diff --git a/dev-python/uv/Manifest b/dev-python/uv/Manifest index 758a573de0ef..944f72f4b4f6 100644 --- a/dev-python/uv/Manifest +++ b/dev-python/uv/Manifest @@ -14,3 +14,5 @@ DIST uv-0.12.9-crates.tar.xz 44161200 BLAKE2B ef5f654005a5c074a2c251471bfe91db9e DIST uv-0.12.9.gh.tar.gz 8688302 BLAKE2B 0ec1ded90f77ad7b9eb0e0a5c8001b26e10b7485ffa6e709638130173ded90d92969a54f10a455e8a0c032d5872881a3f527a6d4b612d378f283349dea816cab SHA512 18d35675a3e15531a9542c951b265866da4b762e0f2ba91f66dcc8b55ba5352ec97638ee2dc7fd3a908639201b27a442112a75c67053f9d861840c041e0b5290 DIST uv-0.13.1-crates.tar.xz 44234800 BLAKE2B 78e734286467404e4289cff568565e1ef16bf7b97eef5b01180dabca62bc8fd21bbd39b24f0fa40213b97c8a1e2a2733801c382bb271f8377f4688102c623da9 SHA512 a736dc50e05b52fed9379570415d1a18e32a3a1f23c8630af625677df73b7916ecf2f66d8b7c9d9281d1c37264e442bc16c382e0c5ea21b8be68f33a9d26e3f2 DIST uv-0.13.1.gh.tar.gz 8877918 BLAKE2B 43c1726bf6b277b57d154a0bba917cd6762c5dd3e4fbc5293c49372725e12b6980ef34fc44013c68a0956fa9bde368d3a6f45c4e658f27fe98506f22c987a7f2 SHA512 de0bf17d6ddc081e2b3904ed04aeb6ab7e9745880dd2cf78fd9f70e01241d28701246bb2db2b524c76549a0a53af899ad291dec7e957c6a96a344c285c1c4e29 +DIST uv-0.13.3-crates.tar.xz 44006060 BLAKE2B f93beea37edc6642d352b1c497cdfbce32e2fc5d7606ebf648c9ad72b1c2a6bd000e9fe3f682794f54fa6c6968559351ddebe29ab4e1dbfc1555f401e0aa994f SHA512 d695cdc1090382cb559665e1c84f5d4f9cc7486437d0de2ac6c71669edc0bdbfa6181b617ca550b0f421ca33db7f308313b2527766f7435e4cf4f8481e769a77 +DIST uv-0.13.3.gh.tar.gz 8927836 BLAKE2B f6795d91b43ae3ea8c43b07027f8436c730476355c3e354ed72e9cb92c90e5a9d7480e4c3de008fd9ee317e5c03b257c1e9d6938af48706b530caf5c637a85c7 SHA512 7c91b766ef394fcdf562457516cb6556d29b3a25f84a52f00afd23a4c9399b74a65dec701b13fee06996b77bcec895278683ce1dc967961abd2d46228b8d34cd diff --git a/dev-python/uv/uv-0.13.3.ebuild b/dev-python/uv/uv-0.13.3.ebuild new file mode 100644 index 000000000000..f2ffd74bfde2 --- /dev/null +++ b/dev-python/uv/uv-0.13.3.ebuild @@ -0,0 +1,156 @@ +# Copyright 2024-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" +" +RUST_MIN_VER="1.97.0" + +inherit cargo check-reqs + +CRATE_PV=${PV} +DESCRIPTION="A Python package installer and resolver, written in Rust" +HOMEPAGE=" + https://github.com/astral-sh/uv/ + https://pypi.org/project/uv/ +" +# pypi sdist misses scripts/, needed for tests +SRC_URI=" + https://github.com/astral-sh/uv/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz + ${CARGO_CRATE_URIS} +" +if [[ ${PKGBUMPING} != ${PVR} ]]; then + SRC_URI+=" + https://github.com/gentoo-crate-dist/uv/releases/download/${CRATE_PV}/uv-${CRATE_PV}-crates.tar.xz + " +fi + +# most of the code +LICENSE="|| ( Apache-2.0 MIT )" +# crates/pep508-rs is || ( Apache-2.0 BSD-2 ) which is covered below +# Dependent crate licenses +LICENSE+=" + Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD CC0-1.0 + CDLA-Permissive-2.0 ISC MIT MPL-2.0 Unicode-3.0 Unicode-DFS-2016 + ZLIB +" +# ring crate +LICENSE+=" openssl" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~x86" +IUSE="test" +RESTRICT="test" +PROPERTIES="test_network" + +DEPEND=" + app-arch/bzip2:= + app-arch/xz-utils:= + app-arch/zstd:= +" +RDEPEND=" + ${DEPEND} +" +# git/curl: https://bugs.gentoo.org/984287 +BDEPEND=" + virtual/pkgconfig + test? ( + dev-lang/python:3.9 + dev-lang/python:3.10 + dev-lang/python:3.11 + dev-lang/python:3.12 + dev-lang/python:3.13 + !!~dev-python/uv-0.5.0 + || ( + >=dev-vcs/git-2.57 + <net-misc/curl-8.23 + ) + ) +" + +QA_FLAGS_IGNORED="usr/bin/.*" + +check_space() { + local CHECKREQS_DISK_BUILD=3G + use debug && CHECKREQS_DISK_BUILD=9G + check-reqs_pkg_setup +} + +pkg_pretend() { + check_space +} + +pkg_setup() { + check_space + rust_pkg_setup +} + +src_prepare() { + default + + # force thin lto, makes build much faster and less memory hungry + # (i.e. makes it possible to actually build uv on 32-bit PPC) + sed -i -e '/lto/s:fat:thin:' Cargo.toml || die + + # enable system libraries where supported + export ZSTD_SYS_USE_PKG_CONFIG=1 + # TODO: unbundle tikv-jemalloc-sys? + + # remove unbundled sources, just in case + find "${ECARGO_VENDOR}"/zstd-sys-*/ -name '*.c' -delete || die +} + +src_configure() { + local myfeatures=( + test-git + test-pypi + test-python + ) + + cargo_src_configure --no-default-features + # otherwise, rustc/llvm runs out of address space + use arm && export RUSTFLAGS="${RUSTFLAGS} -Copt-level=0" +} + +src_compile() { + cd crates/uv || die + cargo_src_compile +} + +src_test() { + cd crates/uv || die + cargo_src_test --no-fail-fast +} + +src_install() { + dobin "$(cargo_target_dir)"/{uv,uvx} + + insinto /etc/xdg/uv + newins - uv.toml <<-EOF || die + # These defaults match Fedora, see: + # https://src.fedoraproject.org/rpms/uv/pull-request/18 + + # By default ("automatic"), uv downloads missing Python versions + # automatically and keeps them in the user's home directory. + # Disable that to make downloading opt-in, and especially + # to avoid unnecessarily fetching custom Python when the distro + # package would be preferable. Python builds can still be + # downloaded manually via "uv python install". + # + # https://docs.astral.sh/uv/reference/settings/#python-downloads + python-downloads = "manual" + + # By default ("managed"), uv always prefers self-installed + # Python versions over the system Python, independently + # of versions. Since we generally expect users to use that + # to install old Python versions not in ::gentoo anymore, + # this effectively means that uv would end up preferring very + # old Python versions over the newer ones that are provided + # by the system. Default to using the system versions to avoid + # this counter-intuitive behavior. + # + # https://docs.astral.sh/uv/reference/settings/#python-preference + python-preference = "system" + EOF +} diff --git a/dev-python/websockets/Manifest b/dev-python/websockets/Manifest index 0821b516bd18..01e0e1b9cb91 100644 --- a/dev-python/websockets/Manifest +++ b/dev-python/websockets/Manifest @@ -1,2 +1,3 @@ DIST websockets-17.1.gh.tar.gz 528172 BLAKE2B af60d77c44adc75b11b0fb1a688ea962a51e61dd5686551981d67758a92ed1b46401ed6d7084218f34a860c1394bc813e2b3a3c8098ee93978ab540a17f50405 SHA512 55a6968ae7a9d02db104733422a6e48f712aaea02e8758389b19f27b41e918697a4d7ed7533cc102eac94f4a025ffe7411d9e671ba2ecd69859450f70a1d1bee DIST websockets-17.2.gh.tar.gz 530290 BLAKE2B 5ae95f12dd3974253607b8e42e3eaafbd1e393b70694413190637423e591a6314fc6cc19294591171fddeeb240ca42d2272e73838744c7c49c0f1a04938bb0c3 SHA512 682e2006873e405885469c50a5babf5c503b1d361fab7a7fb30846563f30a488e884f92444717717c3e8529b69af92c59dfdbdf536e8d27857b41375a278b7ce +DIST websockets-17.3.gh.tar.gz 532351 BLAKE2B 479d79add99bc901e2d20bac710f16c50aa2451470e00da9e04b3d501eb6956c45f8d85297e10552c24c93fd081de702a71bb4a7edf1b0088145805b08ff215d SHA512 aa39a82d51d40dd036a4642847af3a4653f5e7fbfad36969b7ab383f4b9d95559165243aa0697a351a63539af42503d4cf9e28402ba6a5a2cceb2387354f225d diff --git a/dev-python/websockets/websockets-17.3.ebuild b/dev-python/websockets/websockets-17.3.ebuild new file mode 100644 index 000000000000..fa4f27c47d22 --- /dev/null +++ b/dev-python/websockets/websockets-17.3.ebuild @@ -0,0 +1,61 @@ +# 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="Library for building WebSocket servers and clients in Python" +HOMEPAGE=" + https://websockets.readthedocs.io/ + https://github.com/python-websockets/websockets/ + https://pypi.org/project/websockets/ +" +# tests are missing pypi sdist, as of 16.0 +SRC_URI=" + https://github.com/python-websockets/websockets/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="+native-extensions" + +BDEPEND=" + test? ( + dev-python/trio[${PYTHON_USEDEP}] + dev-python/werkzeug[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=() +EPYTEST_RERUNS=10 +distutils_enable_tests pytest + +python_compile() { + if use native-extensions && [[ ${EPYTHON} != pypy3 ]] ; then + local -x BUILD_EXTENSION=yes + else + local -x BUILD_EXTENSION=no + fi + + distutils-r1_python_compile +} + +python_test() { + local EPYTEST_DESELECT=( + # requires DNS access + # https://bugs.gentoo.org/909567 + tests/legacy/test_client_server.py::ClientServerTests::test_explicit_host_port + tests/legacy/test_client_server.py::SecureClientServerTests::test_explicit_host_port + # TODO + tests/asyncio/test_server.py::ServerTests::test_close_server_keeps_handlers_running + ) + + epytest tests --reruns-delay=2 +} diff --git a/dev-python/xxhash/Manifest b/dev-python/xxhash/Manifest index 181d26ab79e1..9723f65639cf 100644 --- a/dev-python/xxhash/Manifest +++ b/dev-python/xxhash/Manifest @@ -1,2 +1,4 @@ DIST xxhash-4.0.1.tar.gz 101513 BLAKE2B ab2dd9aa8804c2fc18976cf94e9691b97bdf2574c5465422789a5ac5e3a93b67642c93b8967c13026cea8762dff05e8d65fcf660c9c54456fb530b5895340b28 SHA512 747512496e732f7ee41c97be57c13b04d4d7e9b34df530b026cc53c2285d52c8f68531103635e3ffec796357119a9ef041e15395974caa3dcb33070b02663e0c DIST xxhash-4.0.1.tar.gz.provenance 9759 BLAKE2B 82fd3f5ec43c9a4839ffc2aff8d11c7dd9f6f1128fea8b78538b14b91fd1eeb2fdaf2f7419816cae3f7f3adbf5a2c9fad8477824bcf1bd1f7e2948bce20bd511 SHA512 57b4be483b420602b849ea4c96ec9c5b0fc4720ccaa523544f9b9daa09c754f67d5a0d0ccf4e953c7f7e3b96042843072784567ad983a89c43652817f3e423c6 +DIST xxhash-4.0.2.tar.gz 101549 BLAKE2B 0ca2c889c001e27cad07b73e27f0eea912fc18a13b3b4614cc50e4196a077ed414e5e0ecd722bd7aa55f4eadb89cb551b3d9c2964ae276ba914fe2294e800649 SHA512 92fbff317c8af7a53604bbf89cfc4f316680bf149b64bb74ec87e1c22578b7f4e372938140f95a284a41fa743414d7a06f3ea7316962428c349b16b4656454d3 +DIST xxhash-4.0.2.tar.gz.provenance 9592 BLAKE2B 8da8225b37602a28e91031da69944acc053fba8ef8c881b89335f72689674878a23fbe92c088079d0258be85759a9b6b0d2f66a1373b39766924f6460e244a68 SHA512 53cf0d94a18e56f693acfddbf343a519cafc0ee5cc66c42dc3d24049b60449379cc9ee64458921b17b405497c3a54c0c4c0086c2352f13c02f0d59e6a6dcfeb8 diff --git a/dev-python/xxhash/xxhash-4.0.2.ebuild b/dev-python/xxhash/xxhash-4.0.2.ebuild new file mode 100644 index 000000000000..80e7e86e74d1 --- /dev/null +++ b/dev-python/xxhash/xxhash-4.0.2.ebuild @@ -0,0 +1,46 @@ +# 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 +PYPI_VERIFY_REPO=https://github.com/ifduyue/python-xxhash +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Python binding for the xxHash library" +HOMEPAGE=" + https://github.com/ifduyue/python-xxhash/ + https://pypi.org/project/xxhash/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~sparc ~x86" + +DEPEND=" + >=dev-libs/xxhash-0.8.0 +" +RDEPEND=" + ${DEPEND} +" + +EPYTEST_PLUGINS=() +distutils_enable_tests pytest + +EPYTEST_IGNORE=( + tests/test_benchmark.py + # require pyright + tests/test_stubs_pyright.py +) + +python_configure_all() { + export XXHASH_LINK_SO=1 +} + +python_test() { + rm -fr xxhash || die + epytest +} |
