diff options
| author | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2026-04-01 07:18:39 +0000 |
|---|---|---|
| committer | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2026-04-01 07:18:39 +0000 |
| commit | adf2493bc15dece8e5a4b1dedea642158118767c (patch) | |
| tree | 9f2da9e0763f94cf6661f597647539fd5a890d28 /dev-python | |
| parent | debaa2f2ae9412369543f9976a7e63ca690a1e93 (diff) | |
| download | baldeagleos-repo-adf2493bc15dece8e5a4b1dedea642158118767c.tar.gz baldeagleos-repo-adf2493bc15dece8e5a4b1dedea642158118767c.tar.xz baldeagleos-repo-adf2493bc15dece8e5a4b1dedea642158118767c.zip | |
Adding metadata
Diffstat (limited to 'dev-python')
50 files changed, 1511 insertions, 633 deletions
diff --git a/dev-python/aiohttp/Manifest b/dev-python/aiohttp/Manifest index a319834e9fe5..b9cabacb7cb1 100644 --- a/dev-python/aiohttp/Manifest +++ b/dev-python/aiohttp/Manifest @@ -5,3 +5,5 @@ DIST aiohttp-3.13.3.tar.gz 7844556 BLAKE2B b3d966df1bbfce833a40cd4f9513427982833 DIST aiohttp-3.13.3.tar.gz.provenance 9330 BLAKE2B c7552ed638fc0ba0ad0a13092f035054f2e6642c3f7335a59b648c7ea79325c8d387ac932d3f3c3a6fe0017d247fc0623a9d6a3bf5703f8c7da9c5bbb8990125 SHA512 b0f173c0f9b9066abafc560224c8addd4b29dd4bddb5aa7945add8eee02eee6ca2ddfd6b766c8988fe344303fae81210e8531239c29fad43ffff38da529f08a2 DIST aiohttp-3.13.4.tar.gz 7859748 BLAKE2B f206433450da9b054fff36170a54cd67655154eeb3e4ab8d36d2c78e3e8f19849f2b51a175094d972113fc1648bde462557e76c8688de0ef4b9158a943d1ed6d SHA512 af60220cfd762e200bb15b7ff94302a98340ce85ead3f000da9b0ad8cfdfb8963267f011b0310d9743b66fd75def61898620ee27934ba117151ae19f9d68fb12 DIST aiohttp-3.13.4.tar.gz.provenance 9369 BLAKE2B 0fde7d0ca469aa6bb0ae9efde4f398c6c5c307646cc867fad26dce9868ab4f4fb08e2b769edba9e15cf5bd2be828cc947096ccd7f951dd669e1fb8df0dd70f2f SHA512 c52222cf66924c7fd3e052aa8c7daa099af0d611265707dc0505b54513cab49c2f59ae81d187e3c56596df0ddc8c75d90fa749beb77cd8afed55a6deb27d4400 +DIST aiohttp-3.13.5.tar.gz 7858271 BLAKE2B 33b8f7f977a429fcd14401042f0be88c4cf6879e2f991783c28bf26d2eaefb4ebeab64edfa4bd34f239c50574b3d5c5adb64b651716c8b7dc1fa4a41ca211d99 SHA512 42aafde39a7e0d270a43733293be1450ca7d72be9658403218f4c338fba7f942bd362637676146cc77579a0946303a44b012b070a25027d3b87abfb6bc0f9fb9 +DIST aiohttp-3.13.5.tar.gz.provenance 9326 BLAKE2B 0ed4219dc79a8b48cbc69f1a926a75210069f8382d61e217aaae6c8d51871c03c03336c812a9c7ecff0972ab070d6f2954482bced18edfaa71cf06cf8ef019bd SHA512 801915c3639db98f363a14e0e2e9e7b3e6e76d8e7988f43749580e4fa04404fe6b72f50370a07f37a922541d111361106d8fd8c4ffa4be326b130148a407c0e0 diff --git a/dev-python/aiohttp/aiohttp-3.13.5.ebuild b/dev-python/aiohttp/aiohttp-3.13.5.ebuild new file mode 100644 index 000000000000..028240dad730 --- /dev/null +++ b/dev-python/aiohttp/aiohttp-3.13.5.ebuild @@ -0,0 +1,162 @@ +# 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/aio-libs/aiohttp +PYTHON_COMPAT=( python3_{10..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="HTTP client/server for asyncio" +HOMEPAGE=" + https://github.com/aio-libs/aiohttp/ + https://pypi.org/project/aiohttp/ +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~x86" +IUSE="+native-extensions test-rust" + +DEPEND=" + native-extensions? ( + $(python_gen_cond_dep ' + net-libs/llhttp:= + ' 'python3*') + ) +" +RDEPEND=" + ${DEPEND} + >=dev-python/aiodns-3.3.0[${PYTHON_USEDEP}] + >=dev-python/aiohappyeyeballs-2.5.0[${PYTHON_USEDEP}] + >=dev-python/aiosignal-1.4.0[${PYTHON_USEDEP}] + >=dev-python/attrs-17.3.0[${PYTHON_USEDEP}] + >=dev-python/brotlicffi-1.2[${PYTHON_USEDEP}] + >=dev-python/frozenlist-1.1.1[${PYTHON_USEDEP}] + >=dev-python/multidict-4.5.0[${PYTHON_USEDEP}] + >=dev-python/propcache-0.2.0[${PYTHON_USEDEP}] + >=dev-python/yarl-1.17.0[${PYTHON_USEDEP}] + $(python_gen_cond_dep ' + dev-python/backports-zstd[${PYTHON_USEDEP}] + ' 3.11 3.12 3.13) +" +BDEPEND=" + >=dev-python/multidict-4.5.0[${PYTHON_USEDEP}] + dev-python/pkgconfig[${PYTHON_USEDEP}] + native-extensions? ( + >=dev-python/cython-3.1.1[${PYTHON_USEDEP}] + dev-python/pkgconfig[${PYTHON_USEDEP}] + ) + test? ( + dev-python/blockbuster[${PYTHON_USEDEP}] + dev-python/freezegun[${PYTHON_USEDEP}] + dev-python/isal[${PYTHON_USEDEP}] + dev-python/re-assert[${PYTHON_USEDEP}] + $(python_gen_cond_dep ' + dev-python/time-machine[${PYTHON_USEDEP}] + ' 'python3*') + dev-python/zlib-ng[${PYTHON_USEDEP}] + www-servers/gunicorn[${PYTHON_USEDEP}] + test-rust? ( + dev-python/trustme[${PYTHON_USEDEP}] + ) + ) +" + +DOCS=( CHANGES.rst CONTRIBUTORS.txt README.rst ) + +EPYTEST_PLUGIN_LOAD_VIA_ENV=1 +EPYTEST_PLUGINS=( pytest-{mock,xdist} ) +EPYTEST_RERUNS=5 +: ${EPYTEST_TIMEOUT:=180} +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +src_prepare() { + distutils-r1_src_prepare + + # increase the timeout a little + sed -e '/abs=/s/0.001/0.01/' -i tests/test_helpers.py || die + # xfail_strict fails on py3.10 + sed -i -e '/--cov/d' -e '/pytest_cov/d' -e '/xfail_strict/d' setup.cfg || die + sed -i -e 's:-Werror::' Makefile || die + # remove vendored llhttp + rm -r vendor || die +} + +python_configure() { + # check for .install-cython, so that we do this only once + if [[ ! -f .install-cython && ${EPYTHON} != pypy3 ]] && + use native-extensions + then + # force rehashing first + emake requirements/.hash/cython.txt.hash + > .update-pip || die + > .install-cython || die + emake cythonize + fi +} + +python_compile() { + local -x AIOHTTP_USE_SYSTEM_DEPS=1 + # implicitly disabled for pypy3 + if [[ ${EPYTHON} == pypy3* ]] || ! use native-extensions; then + local -x AIOHTTP_NO_EXTENSIONS=1 + fi + + distutils-r1_python_compile +} + +python_test() { + local EPYTEST_IGNORE=( + # proxy is not packaged + tests/test_proxy_functional.py + # python_on_whales is not packaged + tests/autobahn/test_autobahn.py + # benchmarks + tests/test_benchmarks_client.py + tests/test_benchmarks_client_request.py + tests/test_benchmarks_client_ws.py + tests/test_benchmarks_cookiejar.py + tests/test_benchmarks_http_websocket.py + tests/test_benchmarks_http_writer.py + tests/test_benchmarks_web_fileresponse.py + tests/test_benchmarks_web_middleware.py + tests/test_benchmarks_web_response.py + tests/test_benchmarks_web_urldispatcher.py + ) + + local EPYTEST_DESELECT=( + # Internet + tests/test_client_session.py::test_client_session_timeout_zero + tests/test_connector.py::test_tcp_connector_ssl_shutdown_timeout_nonzero_passed + tests/test_connector.py::test_tcp_connector_ssl_shutdown_timeout_passed_to_create_connection + tests/test_connector.py::test_tcp_connector_ssl_shutdown_timeout_zero_not_passed + tests/test_client_functional.py::test_invalid_idna + # broken by irrelevant deprecation warnings + tests/test_circular_imports.py::test_no_warnings + ) + + case ${EPYTHON} in + python3.14) + EPYTEST_DESELECT+=( + # TODO + tests/test_cookiejar.py::test_pickle_format + # different exception message + tests/test_client_functional.py::test_aiohttp_request_coroutine + ) + ;; + esac + + # upstream unconditionally blocks building C extensions + # on PyPy3 but the test suite needs an explicit switch + if [[ ${EPYTHON} == pypy3* ]] || ! use native-extensions; then + local -x AIOHTTP_NO_EXTENSIONS=1 + fi + + rm -rf aiohttp || die + epytest -m "not internal and not dev_mode" +} diff --git a/dev-python/ansible-compat/Manifest b/dev-python/ansible-compat/Manifest index 0270c80628b5..20876170c201 100644 --- a/dev-python/ansible-compat/Manifest +++ b/dev-python/ansible-compat/Manifest @@ -2,3 +2,5 @@ DIST ansible_compat-25.12.0.tar.gz 193698 BLAKE2B f3eb02d8257a2a3136182d1338359c DIST ansible_compat-25.12.0.tar.gz.provenance 9250 BLAKE2B ebe215a01b27030246fcda815e286d827b8bc148e4c6095a76f233628fbd77512b1f9cbdc88f65998c2431a915b7ccc78b35862e2d23147f6af73d416ef450de SHA512 f6097b1f729c67e5129366a8bd2c79386234622a91108ffe1d5f71a7b7b215e726893ba6237e121e43f9b90970c5b0ad61094fcb8a13eca88c76e95a2eb95a06 DIST ansible_compat-25.12.1.tar.gz 214925 BLAKE2B 2ab6caf21cfd8f4a5991822d7371c4f13cd62da87d0a2caaa0d454ad149a93f7fe75954b2d897ab6997018db3390c6e5f8625fecece4a838d797f896f6219af7 SHA512 bce02d153c8ebf93127b347a639c67973b94c706942bbc7c12a63a354275a2f364d3e5852d4b914b3ea13bac291da163087b9e1d37757638e1e2e1363f7c647f DIST ansible_compat-25.12.1.tar.gz.provenance 9440 BLAKE2B 388ba058403e64fc20bc03d194b0b233c1c7fbfe77691456f969294105530e7f3f19b97ffe44ff3a2c9b1d07c9be4c0f07ae62b327dc2a528001db989c3fbd67 SHA512 0673c4d928637061fb9a7e1474eb1549b3b7aae173c1ced862e7f8119a816a0786b063915bcf0050ec9d3672ac574bcdae3682f1808755a564a4ff026d12fdb8 +DIST ansible_compat-26.3.0.tar.gz 216754 BLAKE2B d5dde4ec191b8a9a824b877226927991c94fdd86db33e0b30fb33118566199611323268bc87b0fc436fddffb443270c2277628e3e275addca575a4e3558bb6a0 SHA512 f1dd3703d1eb7dffa5a052ab30099df416278bd13c2c5e41a6628b9bf375de4aaa2e973bae1472a4da721c67301b6b49586ff5939f506103a8bfaae86d234f09 +DIST ansible_compat-26.3.0.tar.gz.provenance 9416 BLAKE2B c62f8c279d67a3e8ff2db8b79b8520b07af7d33dba120dc95da2f8e777c74d35597d7e3dbd7cd9e057a558fc76dc0887bdab7790ee5424dde63da5aad77b4f73 SHA512 563a524f3d9014aea9bd6edc0456342417e19241746b5bb194d1d6dd6d6bec557935d10a75a10b0314ccc4623fdc2eb28f54578d0740204d88af50dbb4ebe57f diff --git a/dev-python/ansible-compat/ansible-compat-26.3.0.ebuild b/dev-python/ansible-compat/ansible-compat-26.3.0.ebuild new file mode 100644 index 000000000000..2b9f30316d0b --- /dev/null +++ b/dev-python/ansible-compat/ansible-compat-26.3.0.ebuild @@ -0,0 +1,67 @@ +# 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/ansible/ansible-compat +PYTHON_COMPAT=( python3_{10..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Contains functions that facilitate working with various versions of Ansible" +HOMEPAGE=" + https://pypi.org/project/ansible-compat/ + https://github.com/ansible/ansible-compat/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~riscv" + +RDEPEND=" + >=app-admin/ansible-core-2.18.6[${PYTHON_USEDEP}] + >=dev-python/jsonschema-4.23.0[${PYTHON_USEDEP}] + >=dev-python/packaging-22.0[${PYTHON_USEDEP}] + >=dev-python/pyyaml-6.0.1[${PYTHON_USEDEP}] + >=dev-python/subprocess-tee-0.4.1[${PYTHON_USEDEP}] +" +BDEPEND=" + >=dev-python/setuptools-scm-7.0.5[${PYTHON_USEDEP}] +" + +EPYTEST_PLUGINS=( pytest-mock ) +distutils_enable_tests pytest + +src_prepare() { + distutils-r1_src_prepare + + # remove stupid upstream version block + sed -i -e 's:2.20.0dev0:0:' src/ansible_compat/prerun.py || die +} + +python_test() { + local EPYTEST_DESELECT=( + # All these tests attempt to connect to galaxy.ansible.com + test/test_runtime.py::test_install_collection + test/test_runtime.py::test_install_collection_dest + test/test_runtime.py::test_prepare_environment_with_collections + test/test_runtime.py::test_prerun_reqs_v1 + test/test_runtime.py::test_prerun_reqs_v2 + test/test_runtime.py::test_require_collection_no_cache_dir + test/test_runtime.py::test_require_collection_wrong_version + test/test_runtime.py::test_require_collection + test/test_runtime.py::test_upgrade_collection + test/test_runtime_example.py::test_runtime + 'test/test_runtime.py::test_load_plugins[modules]' + # pip, failing due to internets + test/test_runtime_scan_path.py::test_scan_sys_path + test/test_runtime_scan_path.py::test_ro_venv + # internets? + test/test_runtime.py::test_runtime_has_playbook + # TODO + test/test_prerun.py::test_get_cache_dir_relative + ) + + epytest -o addopts= +} diff --git a/dev-python/anthropic/Manifest b/dev-python/anthropic/Manifest new file mode 100644 index 000000000000..94ce6858255d --- /dev/null +++ b/dev-python/anthropic/Manifest @@ -0,0 +1,5 @@ +DIST anthropic-openapi-spec-v2026.03.18.yml 724122 BLAKE2B d890c6d5082b0e540c340943dccd2a48d0d18dc31bbc5e55df45d93bbd3e2b64e515d46a814365bc0e56a7a1904a94ae252d65bd6fb631a0ea872fa6f3b05b14 SHA512 41aceb88f1b93437a9a15ec9a8ab917b65c647ee4ac579456a6b35a8d1a5df4903345927e7443739461dc430cec3156c980258f92f57b298c31ca53dcb66c608 +DIST anthropic-sdk-python-0.86.0.gh.tar.gz 602140 BLAKE2B 31a0c049926f1f3049a2846a0b62062c7e03d29a4deda739a9a7583a26e52dddde92d4207ce424022d848e793cd758e257e734018f33ddbae556bb274264a7fb SHA512 7aae6861a4c042ccfd2c15b97c89fa7a1855f525a59e2eccdf22ef5550bc7b31b3546cefa746a107ff74027061de0bb6951f2db9bd34d0ee373b17f9f8b8e8f5 +DIST npm-@stdy-cli-cli-0.19.7.tgz 7773 BLAKE2B 6ddc9db08ab06ef1ece58d3aeaf27517319a399262a63caa06e2d13a1bd8c83fac298a451f0ea57a71aaf9c4120f4efb742308106498d492d2593a4b58e04151 SHA512 ba4758dbe0d32e7c9994471713d0ae9a0967813bd1ec8fbce88247c2582ea248196f7858b56ce76e0716e016d5366b42700a78b603626d8de00e5a92599e009e +DIST npm-@stdy-cli-linux-arm64-cli-linux-arm64-0.19.7.tgz 36812291 BLAKE2B b0c8fba73598ce1e6aa824ffefd237eb35875879308820ef1aeeba9ba80378ef346ef9ffd40107b1b9d7754cd8acac1076d74a55fddbf3cbad9881cb8b19b0be SHA512 8b9cb95aadbbba48b2531451cf991b9d067b6ef697a38ff2b3df72d82d3967c1ab1e29274dee23283557c47e881ee0cb12e5223163d1fec06ecea96fdaecfda4 +DIST npm-@stdy-cli-linux-x64-cli-linux-x64-0.19.7.tgz 37584041 BLAKE2B b9b6bee19fdf51c985d907b7dc8638ab3d3ebf88083794fb0d39a5f6c64beffbaf321cd71fc2869812092c0504fa47e3b889d0ffe483622fd215d214e4c1645e SHA512 2719af63c71ad21293bd3cac5d19f6b0ca960d0888026d9ffa5a62467d5d434d8937edb0ce90d467fdd348ba40b6f96a3ccd5e9c6b551b75a7de79d5fcc40df1 diff --git a/dev-python/anthropic/anthropic-0.86.0.ebuild b/dev-python/anthropic/anthropic-0.86.0.ebuild new file mode 100644 index 000000000000..5acb8883e693 --- /dev/null +++ b/dev-python/anthropic/anthropic-0.86.0.ebuild @@ -0,0 +1,171 @@ +# Copyright 2024-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +PYTHON_COMPAT=( python3_{10..14} ) + +inherit distutils-r1 optfeature pypi + +# See https://github.com/anthropics/anthropic-sdk-python/blob/main/.stats.yml +API_SPEC_BASE="https://storage.googleapis.com/stainless-sdk-openapi-specs" +API_SPEC="anthropic-openapi-spec-v2026.03.18.yml" +MY_PN="anthropic-sdk-python" +STDY_PV=0.19.7 +DESCRIPTION="The official Python library for the anthropic API" +HOMEPAGE=" + https://github.com/anthropics/anthropic-sdk-python + https://pypi.org/project/anthropic +" +SRC_URI=" + https://github.com/anthropics/${MY_PN}/archive/refs/tags/v${PV}.tar.gz + -> ${MY_PN}-${PV}.gh.tar.gz + + test? ( + ${API_SPEC_BASE}/anthropic%2Fanthropic-dd2dcd00a757075370a7e4a7f469a1e2d067c2118684c3b70d7906a8f5cf518b.yml + -> ${API_SPEC} + + https://registry.npmjs.org/@stdy/cli/-/cli-${STDY_PV}.tgz + -> npm-@stdy-cli-cli-${STDY_PV}.tgz + + amd64? ( + https://registry.npmjs.org/@stdy/cli-linux-x64/-/cli-linux-x64-${STDY_PV}.tgz + -> npm-@stdy-cli-linux-x64-cli-linux-x64-${STDY_PV}.tgz + ) + + arm64? ( + https://registry.npmjs.org/@stdy/cli-linux-arm64/-/cli-linux-arm64-${STDY_PV}.tgz + -> npm-@stdy-cli-linux-arm64-cli-linux-arm64-${STDY_PV}.tgz + ) + ) +" +S="${WORKDIR}/${MY_PN}-${PV}" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm64" + +RDEPEND=" + >=dev-python/anyio-3.5.0[${PYTHON_USEDEP}] + >=dev-python/distro-1.7.0[${PYTHON_USEDEP}] + >=dev-python/docstring-parser-0.15[${PYTHON_USEDEP}] + >=dev-python/httpx-0.25.0[${PYTHON_USEDEP}] + >=dev-python/jiter-0.4.0[${PYTHON_USEDEP}] + >=dev-python/pydantic-1.9.0[${PYTHON_USEDEP}] + dev-python/sniffio[${PYTHON_USEDEP}] + >=dev-python/typing-extensions-4.14[${PYTHON_USEDEP}] +" + +BDEPEND=" + dev-python/hatch-fancy-pypi-readme[${PYTHON_USEDEP}] + test? ( + >=dev-python/boto3-1.28.57[${PYTHON_USEDEP}] + >=dev-python/botocore-1.31.57[${PYTHON_USEDEP}] + dev-python/httpx-aiohttp[${PYTHON_USEDEP}] + >=dev-python/rich-13.7.1[${PYTHON_USEDEP}] + net-libs/nodejs[npm] + net-misc/curl + ) +" + +EPYTEST_PLUGINS=( + dirty-equals + http-snapshot + inline-snapshot + pytest-{asyncio,xdist} + respx + time-machine +) +distutils_enable_tests pytest + +src_unpack() { + unpack "${MY_PN}-${PV}.gh.tar.gz" +} + +src_test() { + einfo "Assembling npm cache..." + + local -x npm_config_cache="${WORKDIR}/npm-cache" + mkdir -p "${npm_config_cache}" || die + + for distfile in ${A}; do + if [[ "${distfile}" == npm-* ]]; then + npm cache add "${DISTDIR}/${distfile}" &>/dev/null || die + fi + done + + einfo "Installing mock server..." + + local mock_dir="${WORKDIR}/mock-server" + mkdir -p "${mock_dir}" || die + + cp "${FILESDIR}/${PN}-0.86.0-mock-server-package.json" \ + "${mock_dir}/package.json" || die + cp "${FILESDIR}/${PN}-0.86.0-mock-server-package-lock.json" \ + "${mock_dir}/package-lock.json" || die + + local mock_dir="${WORKDIR}/mock-server" + local mock="${mock_dir}/node_modules/.bin/steady" + + pushd "${mock_dir}" >/dev/null || die + + npm ci &>/dev/null || die + + einfo "Starting mock server..." + + # Replicate the logic from scripts/mock --daemon + "${mock}" --host 127.0.0.1 -p 4010 \ + --validator-form-array-format=brackets \ + --validator-query-array-format=brackets \ + --validator-form-object-format=brackets \ + --validator-query-object-format=brackets \ + "${DISTDIR}/${API_SPEC}" &> .stdy.log & + local mock_pid=$! + + is_mock_running() { + local -a args + readarray -d '' args < "/proc/${mock_pid}/cmdline" 2>/dev/null || return 1 + [[ "${args[1]}" == "${mock}" ]] + } + + local attempts=0 + while ! curl -sf "http://127.0.0.1:4010/_x-steady/health" &>/dev/null; do + if ! is_mock_running; then + cat .stdy.log + die "Mock server failed to start" + fi + attempts=$((attempts + 1)) + if (( attempts >= 300 )); then + cat .stdy.log + die "Timed out waiting for mock server to start" + fi + sleep 0.1 + done + + # Oops; connected to another Steady instance running on 4010 + is_mock_running || die + + popd >/dev/null || die + + nonfatal distutils-r1_src_test + local ret=${?} + + if is_mock_running; then + einfo "Stopping mock server..." + kill "${mock_pid}" || die + fi + + [[ ${ret} -ne 0 ]] && die +} + +pkg_postinst() { + optfeature "alternative async HTTP client support" \ + "dev-python/aiohttp >=dev-python/httpx-aiohttp-0.1.9" + optfeature "Google Cloud Vertex AI integration" \ + ">=dev-python/google-auth-2 dev-python/requests" + optfeature "Amazon Web Services (AWS) Bedrock integration" \ + ">=dev-python/boto3-1.28.57 >=dev-python/botocore-1.31.57" + optfeature "Model Context Protocol (MCP) support" \ + ">=dev-python/mcp-1.0" +} diff --git a/dev-python/anthropic/files/anthropic-0.86.0-mock-server-package-lock.json b/dev-python/anthropic/files/anthropic-0.86.0-mock-server-package-lock.json new file mode 100644 index 000000000000..076342b8dfdb --- /dev/null +++ b/dev-python/anthropic/files/anthropic-0.86.0-mock-server-package-lock.json @@ -0,0 +1,96 @@ +{ + "name": "mock-server", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "dependencies": { + "@stdy/cli": "^0.19.7" + } + }, + "node_modules/@stdy/cli": { + "version": "0.19.7", + "resolved": "https://registry.npmjs.org/@stdy/cli/-/cli-0.19.7.tgz", + "integrity": "sha512-ukdY2+DTLnyZlEcXE9CumglngTvR7I+86IJHwlguokgZb3hYtWznbgcW4BbVNmtCcAp4tgNibY3gDlqSWZ4Ang==", + "license": "Elastic-2.0", + "bin": { + "steady": "steady.js" + }, + "engines": { + "node": ">=14.0.0" + }, + "optionalDependencies": { + "@stdy/cli-darwin-arm64": "0.19.7", + "@stdy/cli-darwin-x64": "0.19.7", + "@stdy/cli-linux-arm64": "0.19.7", + "@stdy/cli-linux-x64": "0.19.7", + "@stdy/cli-win32-x64": "0.19.7" + } + }, + "node_modules/@stdy/cli-darwin-arm64": { + "version": "0.19.7", + "resolved": "https://registry.npmjs.org/@stdy/cli-darwin-arm64/-/cli-darwin-arm64-0.19.7.tgz", + "integrity": "sha512-baIrUrzhOgQmMOaOhrYZ0v95yMt5P26qeZdE+I79zaJbETjF8vM63AM+XHn7jVPulORG8lD+n90kyYfo20t9aA==", + "cpu": [ + "arm64" + ], + "license": "Elastic-2.0", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@stdy/cli-darwin-x64": { + "version": "0.19.7", + "resolved": "https://registry.npmjs.org/@stdy/cli-darwin-x64/-/cli-darwin-x64-0.19.7.tgz", + "integrity": "sha512-3qEi400gNuY564Ku8Bru1h36vhfsrfk7IrukZgcovHVi3ANMLSMGsINgE+HM77patSlmB/fAgHWORZzHfn5ftg==", + "cpu": [ + "x64" + ], + "license": "Elastic-2.0", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@stdy/cli-linux-arm64": { + "version": "0.19.7", + "resolved": "https://registry.npmjs.org/@stdy/cli-linux-arm64/-/cli-linux-arm64-0.19.7.tgz", + "integrity": "sha512-i5y5Wq27ukiyUxRRz5kbnQZ7bvaXo4/ys99y2C05Z8GrHiknTe4jKDVXxH6IHuDLEuUiMWPR/sBuzqlv2uz9pA==", + "cpu": [ + "arm64" + ], + "license": "Elastic-2.0", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@stdy/cli-linux-x64": { + "version": "0.19.7", + "resolved": "https://registry.npmjs.org/@stdy/cli-linux-x64/-/cli-linux-x64-0.19.7.tgz", + "integrity": "sha512-JxmvY8ca0hKTvTysXRn2sMqWDQiIAm2f+lpiRn1dQ02JN+2wzpDUZ/3TSLpAtvlqPM1enGtVG3Wn3nnV/MQN8Q==", + "cpu": [ + "x64" + ], + "license": "Elastic-2.0", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@stdy/cli-win32-x64": { + "version": "0.19.7", + "resolved": "https://registry.npmjs.org/@stdy/cli-win32-x64/-/cli-win32-x64-0.19.7.tgz", + "integrity": "sha512-FNhuOpiglzJLT95sn+jOVc31M0r12H+hJ9C1mJsTckDJHu39Rq8h6ZcaL+oP2wXkkxipdAprj3m/jgpiFbcVgQ==", + "cpu": [ + "x64" + ], + "license": "Elastic-2.0", + "optional": true, + "os": [ + "win32" + ] + } + } +} diff --git a/dev-python/anthropic/files/anthropic-0.86.0-mock-server-package.json b/dev-python/anthropic/files/anthropic-0.86.0-mock-server-package.json new file mode 100644 index 000000000000..31c867639fb0 --- /dev/null +++ b/dev-python/anthropic/files/anthropic-0.86.0-mock-server-package.json @@ -0,0 +1,5 @@ +{ + "dependencies": { + "@stdy/cli": "^0.19.7" + } +} diff --git a/dev-python/anthropic/metadata.xml b/dev-python/anthropic/metadata.xml new file mode 100644 index 000000000000..a2cf3f904da1 --- /dev/null +++ b/dev-python/anthropic/metadata.xml @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>falbrechtskirchinger@gmail.com</email> + <name>Florian Albrechtskirchinger</name> + </maintainer> + + <origin>gentoo-guru-overlay</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-python/asgi-lifespan/asgi-lifespan-2.1.0-r1.ebuild b/dev-python/asgi-lifespan/asgi-lifespan-2.1.0-r1.ebuild index 2688b8714331..af63b9f9002d 100644 --- a/dev-python/asgi-lifespan/asgi-lifespan-2.1.0-r1.ebuild +++ b/dev-python/asgi-lifespan/asgi-lifespan-2.1.0-r1.ebuild @@ -17,7 +17,7 @@ HOMEPAGE=" LICENSE="MIT" SLOT="0" -KEYWORDS="~amd64" +KEYWORDS="~amd64 ~arm64" RDEPEND=" dev-python/sniffio[${PYTHON_USEDEP}] diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest index a7960856dbc7..831c79451ba3 100644 --- a/dev-python/boto3/Manifest +++ b/dev-python/boto3/Manifest @@ -9,3 +9,4 @@ DIST boto3-1.42.68.gh.tar.gz 1099362 BLAKE2B ad682ed811e726d2c57aa33730766bba09e DIST boto3-1.42.73.gh.tar.gz 1101832 BLAKE2B 2f187945feb18a6d8a4576f0f5766235095c08746ddc71e20784f9f4ae6984241e4dd0a13e968f08e8c8183bd0b6c61561957e181968a9c034d33a5a3b3eb382 SHA512 86ee0184ba27866d689c07b9eef5ba80a08608d831ea5d7656734b73abf6c609631ef3fb4ae5e86b996df31ee979ad531e0300f5733414d20f4e585dc69e55b7 DIST boto3-1.42.78.gh.tar.gz 1104761 BLAKE2B 989dc99fbe05c2e5fa28bda83897a411dbf929e1e5df3c78e0a52bbb5df61a5331aeceb48c6ba8e3ae7a6d8e0587d4a1f6094be7936bf107d75c15d0291d7701 SHA512 4a28b614b39591cca6f4e7f0c00612dffd701f39d6128d81b95e4022f5da833434897b6428dda50bb4280a715eaca289f863785f599e8149a7115ecc12cd9d36 DIST boto3-1.42.79.gh.tar.gz 1106670 BLAKE2B 8d923b7100c7f7ca13fa901bd44eeb0f92708eb9037b9de24dc50ec86d1fa07b216a74cf2cd171a1665e09031b77c6041329ec91d79ebb248747a47835ac3c86 SHA512 9efca961e98bc8a2ec48f75add7986a72f6127f0f04d38975ee5714d4df5655a5e63aefff25233c363cfc9509155d06ed7d9f85aecbf08ff82178dc41bdb896f +DIST boto3-1.42.80.gh.tar.gz 1109800 BLAKE2B e06367dd5352ce86e8728f1fec3f532c5454db1e4e56c29acbd89836aee9fc9f9334526281c8f3fb556f37c14e4fca1b3ed0f9b0f52681a0f057df17aec7dfa2 SHA512 42a68bc87c467e486e46a6a5d8f245e30c26bc1e6adce1eb4e80bc0a5f5eee8a8dadc480893e57de81e754962428713e5463c4584a303460098ce8cd379b91d6 diff --git a/dev-python/boto3/boto3-1.42.80.ebuild b/dev-python/boto3/boto3-1.42.80.ebuild new file mode 100644 index 000000000000..6e5f06a012ad --- /dev/null +++ b/dev-python/boto3/boto3-1.42.80.ebuild @@ -0,0 +1,53 @@ +# 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_{10..14} ) + +inherit distutils-r1 + +DESCRIPTION="The AWS SDK for Python" +HOMEPAGE=" + https://github.com/boto/boto3/ + https://pypi.org/project/boto3/ +" +SRC_URI=" + https://github.com/boto/boto3/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" + +RDEPEND=" + >=dev-python/botocore-${PV}[${PYTHON_USEDEP}] + >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}] + >=dev-python/s3transfer-0.16.0[${PYTHON_USEDEP}] +" + +EPYTEST_PLUGINS=() +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +python_prepare_all() { + # don't lock versions to narrow ranges + sed -e '/botocore/ d' \ + -e '/jmespath/ d' \ + -e '/s3transfer/ d' \ + -i setup.py || die + + # 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 + + distutils-r1_python_prepare_all +} + +python_test() { + epytest tests/{functional,unit} +} diff --git a/dev-python/botocore/Manifest b/dev-python/botocore/Manifest index c06ba8c5025e..a8c6a424da56 100644 --- a/dev-python/botocore/Manifest +++ b/dev-python/botocore/Manifest @@ -9,3 +9,4 @@ DIST botocore-1.42.68.gh.tar.gz 15892102 BLAKE2B aabd9e28196516919779fbfedfd1b05 DIST botocore-1.42.73.gh.tar.gz 15909831 BLAKE2B a7032e431644adda779bcdc5241af66ac3b72ddcc235f5f446d621012935f660a50e918780a6cce7a8d9841711dbcd03160353400daa382c5760c93144e156bb SHA512 01193ed6bb21eaae6839994ef101f5f3d88c94b65a1c31fcf197f77efc3ce494f4911976270bd4b7879ebdab233598909df3562ddc5b9f892a62afe3b03942b2 DIST botocore-1.42.78.gh.tar.gz 15931724 BLAKE2B d0732ac14bb37ce0fd326b2edcdf06665306c7c06c3004f78aa5405ea8c2335eb1267e31c9cfe803ca6e551617c14177ea3319bcb2e1eafe4acd35e7f5e5b610 SHA512 18ad9458ee5ede54ab43eebc2d235371c84fc5fe8cb21a067a54612a4cfd14fedca54ae45f40516ec5a91aa4049837f94fa3fced2ea0f4deb8089f78a13f59a2 DIST botocore-1.42.79.gh.tar.gz 15971759 BLAKE2B 8955138791758156fcb2466a9349fe6484acf1154ef94cdfa1a219d2f45074ea412d361cea1679be36105e258b7a9bc30c3a9ae2d8120670cf95b82c9e053cb9 SHA512 8c06fdb9eacdcb41206004ed9c4c5eafb4e7bc7f0863e3a20917c5e57b0564ed5d997bef4ca6c1aa549a1b251260b77d6ab835a31750176944024bd9ba731718 +DIST botocore-1.42.80.gh.tar.gz 16017374 BLAKE2B 9dcde4cff744a4750697fe29a7ff77d1499ebe0fd84d69eedebe48bfa77d40f471b9cd453ba10ee32c463e209e370bc3b09bdcb2c833f80844e2865da3e906b1 SHA512 3c176c11b59d650ca8aca9fb3a8ad04b34c7f237285f242cc7aa44dffb4240551e938f312ee691edb1cfae6da4230172259a6209a67eea2885cee65beb516c65 diff --git a/dev-python/botocore/botocore-1.42.80.ebuild b/dev-python/botocore/botocore-1.42.80.ebuild new file mode 100644 index 000000000000..f6ce0d9ed8d5 --- /dev/null +++ b/dev-python/botocore/botocore-1.42.80.ebuild @@ -0,0 +1,67 @@ +# 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_{10..14} ) + +inherit distutils-r1 + +DESCRIPTION="Low-level, data-driven core of boto 3" +HOMEPAGE=" + https://github.com/boto/botocore/ + https://pypi.org/project/botocore/ +" +SRC_URI=" + https://github.com/boto/botocore/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" + +RDEPEND=" + <dev-python/jmespath-2[${PYTHON_USEDEP}] + dev-python/python-dateutil[${PYTHON_USEDEP}] + >=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}] +" +# unbundled packages +RDEPEND+=" + dev-python/requests[${PYTHON_USEDEP}] + dev-python/six[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/jsonschema[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=() +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +src_prepare() { + # unpin deps + sed -i -e "s:>=.*':':" setup.py || die + + # unbundle deps + rm -r botocore/vendored || die + find -name '*.py' -exec sed -i \ + -e 's:from botocore[.]vendored import:import:' \ + -e 's:from botocore[.]vendored[.]:from :' \ + {} + || die + + distutils-r1_src_prepare +} + +python_test() { + local EPYTEST_DESELECT=( + # rely on bundled six + tests/functional/test_six_imports.py::test_no_bare_six_imports + tests/functional/test_six_threading.py::test_six_thread_safety + ) + + epytest tests/{functional,unit} +} diff --git a/dev-python/decopatch/decopatch-1.4.10-r1.ebuild b/dev-python/decopatch/decopatch-1.4.10-r1.ebuild index e45f6436982d..d7f8ad7f29fd 100644 --- a/dev-python/decopatch/decopatch-1.4.10-r1.ebuild +++ b/dev-python/decopatch/decopatch-1.4.10-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 2022-2025 Gentoo Authors +# Copyright 2022-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -21,7 +21,10 @@ KEYWORDS="~amd64" RDEPEND="dev-python/makefun[${PYTHON_USEDEP}]" BDEPEND="dev-python/setuptools-scm[${PYTHON_USEDEP}]" -PATCHES=( "${FILESDIR}/${P}-python12.patch" ) +PATCHES=( + "${FILESDIR}/${P}-python12.patch" + "${FILESDIR}/${P}-pkg_resources.patch" +) EPYTEST_PLUGINS=( pytest-cases ) EPYTEST_DESELECT=( diff --git a/dev-python/decopatch/files/decopatch-1.4.10-pkg_resources.patch b/dev-python/decopatch/files/decopatch-1.4.10-pkg_resources.patch new file mode 100644 index 000000000000..3b1b47773a13 --- /dev/null +++ b/dev-python/decopatch/files/decopatch-1.4.10-pkg_resources.patch @@ -0,0 +1,24 @@ +https://github.com/smarie/python-decopatch/pull/39 + +--- + setup.py | 7 ------- + 1 file changed, 7 deletions(-) + +diff --git a/setup.py b/setup.py +index ab1583e..f533213 100644 +--- a/setup.py ++++ b/setup.py +@@ -15,13 +15,6 @@ + from setuptools import setup + + +-# (1) check required versions (from https://medium.com/@daveshawley/safely-using-setup-cfg-for-metadata-1babbe54c108) +-import pkg_resources +- +-pkg_resources.require("setuptools>=39.2") +-pkg_resources.require("setuptools_scm") +- +- + # (2) Generate download url using git version + from setuptools_scm import get_version # noqa: E402 + diff --git a/dev-python/flask-compress/Manifest b/dev-python/flask-compress/Manifest index 83eb81a1f5f9..1f3fd6808d9b 100644 --- a/dev-python/flask-compress/Manifest +++ b/dev-python/flask-compress/Manifest @@ -1,2 +1,3 @@ -DIST flask_compress-1.22.tar.gz 18916 BLAKE2B e2eb64c9fe246ef52111c2dd86ae3b4d6be83fe4ec108bbc4fa0c11541c43680162486f517ffa5657b3d09dd7b97094cd1e23b80554e4d5ecdfe59b76ac17e90 SHA512 6ddfda4e6fe0d12d35de747d0ac2e6d395da8828dafdbb244806aeaf2493c27e90d1eae1f40a8b3181d23cb2e71dcfd35e1b4e1518e06cebab847e88a7bfca17 DIST flask_compress-1.23.tar.gz 20135 BLAKE2B bb1aa78bb1192e0bf12ba29a98dcd910642d156fdd41a890cd80e65904cd910d84919fc33e124f0c88e8fb79ab55a82bdd775177fce3cef4bc12b5b12c4357ce SHA512 e1ccd6c24c54b8c65d3ac833dbb16a145a622241fe60843c81d9a54ef14691c843410098ab3820d1afb24c48ae9c141d82c2696b0635058233ed31449a90a674 +DIST flask_compress-1.24.tar.gz 21089 BLAKE2B ca8822823b917c5676b41c1b3998cd38542f3456560d18bcd6fff2d79bc72ad703e7d1a7f96bd7dd6e8ce54e32b1e93192b46d332fa2eb8037d75c65ab9e05cd SHA512 4b4f0c0c5aec341003a05b080487d175fe5f399747d7afe25a025a66670470002e7b96faa0808e6a19794914f0f5f6b5bf8c75c45f30e439e00622f0556a3680 +DIST flask_compress-1.24.tar.gz.provenance 9594 BLAKE2B 239741e40f14d160b81f904bbbff223d0a21981d992bf6f7da609e9f6d025e2dab393cf89e574b1e16585f28c43d9bbade1d375787ec8bc45d693c95611569f0 SHA512 53b268d06c38ff269a6b204a014bd14f574dc306d769dcf73b2136f53a83c2c97b36d68d5eeb228f2e45181c683308481155f6e069975d4a152c7461bc0957d5 diff --git a/dev-python/flask-compress/flask-compress-1.22.ebuild b/dev-python/flask-compress/flask-compress-1.24.ebuild index 066e2ed098f3..62467c3a962f 100644 --- a/dev-python/flask-compress/flask-compress-1.22.ebuild +++ b/dev-python/flask-compress/flask-compress-1.24.ebuild @@ -1,10 +1,11 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 DISTUTILS_USE_PEP517=setuptools PYPI_PN="Flask-Compress" +PYPI_VERIFY_REPO=https://github.com/colour-science/flask-compress PYTHON_COMPAT=( python3_{10..14} ) inherit distutils-r1 pypi @@ -17,7 +18,7 @@ HOMEPAGE=" LICENSE="MIT" SLOT="0" -KEYWORDS="amd64 arm64 x86" +KEYWORDS="~amd64 ~arm64 ~loong ~x86" # brotli on cpython, brotlicffi on pypy3 RDEPEND=" diff --git a/dev-python/http-snapshot/Manifest b/dev-python/http-snapshot/Manifest new file mode 100644 index 000000000000..0be7d161c68e --- /dev/null +++ b/dev-python/http-snapshot/Manifest @@ -0,0 +1 @@ +DIST http-snapshot-0.1.9.gh.tar.gz 117951 BLAKE2B 2efbcb767dc8d084e2c5c629e196e6aba4cb36a8c8f76836a4053706f0375901153a1bd5db316700bc660dd855efb6b4c9233fb7f27fd4df20083c7a1cc554a9 SHA512 836530661757b20bb2df5da62d89956dd5781f8ca358e1f9974c884fbd751f79e0a5f3c851bbbcb28366995e5300f89b2df21eb19ec7d5a8f0425d588c005cfe diff --git a/dev-python/http-snapshot/http-snapshot-0.1.9.ebuild b/dev-python/http-snapshot/http-snapshot-0.1.9.ebuild new file mode 100644 index 000000000000..4c653a6247ce --- /dev/null +++ b/dev-python/http-snapshot/http-snapshot-0.1.9.ebuild @@ -0,0 +1,52 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +PYTHON_COMPAT=( python3_{10..14} ) + +inherit distutils-r1 optfeature + +DESCRIPTION="A pytest plugin that snapshots requests made with popular Python HTTP clients" +HOMEPAGE=" + https://github.com/karpetrosyan/http-snapshot + https://pypi.org/project/http-snapshot/ +" +SRC_URI=" + https://github.com/karpetrosyan/http-snapshot/archive/refs/tags/${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm64" + +RDEPEND=" + >=dev-python/inline-snapshot-0.27.2[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + >=dev-python/httpx-0.28.1[${PYTHON_USEDEP}] + >=dev-python/requests-2.32.5[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=( inline-snapshot anyio ) +distutils_enable_tests pytest + +src_prepare() { + distutils-r1_src_prepare + + cat >> pyproject.toml <<-EOF || die + [build-system] + requires = ["hatchling"] + build-backend = "hatchling.build" + EOF +} + +pkg_postinst() { + optfeature_header "Install supported HTTP clients:" + optfeature "httpx" dev-python/httpx + optfeature "requests" dev-python/requests +} diff --git a/dev-python/http-snapshot/metadata.xml b/dev-python/http-snapshot/metadata.xml new file mode 100644 index 000000000000..a2cf3f904da1 --- /dev/null +++ b/dev-python/http-snapshot/metadata.xml @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>falbrechtskirchinger@gmail.com</email> + <name>Florian Albrechtskirchinger</name> + </maintainer> + + <origin>gentoo-guru-overlay</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-python/httpx-sse/httpx-sse-0.4.3.ebuild b/dev-python/httpx-sse/httpx-sse-0.4.3.ebuild index d0572c6c57c6..a7e65f073cef 100644 --- a/dev-python/httpx-sse/httpx-sse-0.4.3.ebuild +++ b/dev-python/httpx-sse/httpx-sse-0.4.3.ebuild @@ -16,7 +16,7 @@ HOMEPAGE=" LICENSE="MIT" SLOT="0" -KEYWORDS="~amd64" +KEYWORDS="~amd64 ~arm64" RDEPEND=" dev-python/httpx[${PYTHON_USEDEP}] diff --git a/dev-python/internetarchive/Manifest b/dev-python/internetarchive/Manifest index 83909d734b2e..64175ccd8325 100644 --- a/dev-python/internetarchive/Manifest +++ b/dev-python/internetarchive/Manifest @@ -1,3 +1,2 @@ -DIST internetarchive-3.7.0.gh.tar.gz 145990 BLAKE2B f4832193fde0afdfd6ea1af46d0dea08abd73e56b5d799eb4e9a1b6424f95dbb6b1d0bc3d25fe0ae2bda7edcd003cfbff97c941a313018d4fb83bb562e30c121 SHA512 56554c3001f21ce770fd44ed2628b2fac40b96bcd5370935604c1fec465fd5a44be4a89ffa119cbd6f01be805161fe2fac93375d96f59d2ed38ff6418d5da714 -DIST internetarchive-5.3.0.gh.tar.gz 152973 BLAKE2B 1ff3b3bb61d830a27738bded36346c599bd9adbe34c4627a88ed8a371249701c7219e798211e82f58a4e4207e83761154c1b43b4046d3cfbaeb2d0dfd414ad3f SHA512 8f0e07e5add97a8f4d194fef023388c702c17bdd1bf25b8b22e7962a53f2a8077577eb615d8eb74769a829bac5ec41aeb5617ea4fc8e38d4adb0be69b2a896f3 DIST internetarchive-5.7.1.gh.tar.gz 165427 BLAKE2B 34e6c35feacbe60e228a6896486480b438db704dd63fcdb5529d4dc449d3db1075198a23fbef32defebb0855f9df18fcfa7f942c316500222c0b8ad5edf313e8 SHA512 be3035f047d5eb133cb490ddfbf3f773bc5e565d4142cc449345c814938571e02af21a3162e5f33746c53affe1a5389f3fc1fb442c7a0934fb2ce31d785f24a2 +DIST internetarchive-5.8.0.gh.tar.gz 170811 BLAKE2B 245cd7395637f097ab15f0b218b069726ab8589eafa75a5ce3ae9d545fb018631296f6992221ccb00413e73fbf4c8de3a5c10cb752287c8ff626af23e103d5f5 SHA512 13f9e580cb87f8128d3aeaf9def390706d19d54b125b49383140b39e6172428ad7a6866ff3f2aa7ec7a102ab6325c6a7bcee5efdf7b01e7a2ed5fe04d3bfa789 diff --git a/dev-python/internetarchive/internetarchive-3.7.0.ebuild b/dev-python/internetarchive/internetarchive-3.7.0.ebuild deleted file mode 100644 index e1306bdcdcc7..000000000000 --- a/dev-python/internetarchive/internetarchive-3.7.0.ebuild +++ /dev/null @@ -1,59 +0,0 @@ -# Copyright 2024-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -PYTHON_COMPAT=( python3_{10..14} ) -DISTUTILS_USE_PEP517=setuptools -inherit distutils-r1 - -DESCRIPTION="Lib and CLI for archive.org - for search, uploading, downloading, rename..." -HOMEPAGE="https://github.com/jjjake/internetarchive" -SRC_URI="https://github.com/jjjake/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz" - -LICENSE="AGPL-3" -SLOT="0" -KEYWORDS="~amd64" - -RDEPEND=" - dev-python/charset-normalizer[${PYTHON_USEDEP}] - dev-python/docopt[${PYTHON_USEDEP}] - dev-python/jsonpatch[${PYTHON_USEDEP}] - dev-python/requests[${PYTHON_USEDEP}] - dev-python/schema[${PYTHON_USEDEP}] - dev-python/tqdm[${PYTHON_USEDEP}] - dev-python/urllib3[${PYTHON_USEDEP}] -" - -BDEPEND=" - test? ( - dev-python/responses[${PYTHON_USEDEP}] - ) -" - -# Because they want internet -EPYTEST_DESELECT=( - tests/cli/test_ia.py::test_ia - tests/cli/test_ia_download.py::test_no_args - tests/cli/test_ia_download.py::test_no_change_timestamp - tests/cli/test_ia_download.py::test_https - tests/cli/test_ia_download.py::test_dry_run - tests/cli/test_ia_download.py::test_glob - tests/cli/test_ia_download.py::test_exclude - tests/cli/test_ia_download.py::test_format - tests/cli/test_ia_download.py::test_on_the_fly_format - tests/cli/test_ia_download.py::test_clobber - tests/cli/test_ia_download.py::test_checksum - tests/cli/test_ia_download.py::test_checksum_archive - tests/cli/test_ia_download.py::test_no_directories - tests/cli/test_ia_download.py::test_destdir - tests/cli/test_ia_upload.py::test_ia_upload_invalid_identifier - tests/test_api.py::test_get_item_with_kwargs - tests/test_api.py::test_upload_validate_identifier - tests/test_item.py::test_download_ignore_errors - tests/test_item.py::test_upload_validate_identifier - tests/test_item.py::test_upload_automatic_size_hint - tests/test_session.py::test_s3_is_overloaded - tests/test_session.py::test_cookies -) - -distutils_enable_tests pytest diff --git a/dev-python/internetarchive/internetarchive-5.3.0.ebuild b/dev-python/internetarchive/internetarchive-5.8.0.ebuild index 763e319b60c3..7012afc819ac 100644 --- a/dev-python/internetarchive/internetarchive-5.3.0.ebuild +++ b/dev-python/internetarchive/internetarchive-5.8.0.ebuild @@ -8,22 +8,20 @@ inherit distutils-r1 DESCRIPTION="Lib and CLI for archive.org - for search, uploading, downloading, rename etc" HOMEPAGE="https://github.com/jjjake/internetarchive" -SRC_URI="https://github.com/jjjake/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz" + +SRC_URI="https://github.com/jjjake/internetarchive/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz" LICENSE="AGPL-3" SLOT="0" KEYWORDS="~amd64" RDEPEND=" - dev-python/charset-normalizer[${PYTHON_USEDEP}] - dev-python/docopt[${PYTHON_USEDEP}] dev-python/jsonpatch[${PYTHON_USEDEP}] dev-python/requests[${PYTHON_USEDEP}] dev-python/schema[${PYTHON_USEDEP}] dev-python/tqdm[${PYTHON_USEDEP}] dev-python/urllib3[${PYTHON_USEDEP}] " - BDEPEND=" test? ( dev-python/responses[${PYTHON_USEDEP}] @@ -33,26 +31,29 @@ BDEPEND=" # Because they want internet EPYTEST_DESELECT=( tests/cli/test_ia.py::test_ia - tests/cli/test_ia_download.py::test_no_args - tests/cli/test_ia_download.py::test_https + tests/cli/test_ia_download.py::test_checksum + tests/cli/test_ia_download.py::test_checksum_archive + tests/cli/test_ia_download.py::test_clobber + tests/cli/test_ia_download.py::test_destdir tests/cli/test_ia_download.py::test_dry_run - tests/cli/test_ia_download.py::test_glob tests/cli/test_ia_download.py::test_exclude tests/cli/test_ia_download.py::test_format - tests/cli/test_ia_download.py::test_on_the_fly_format - tests/cli/test_ia_download.py::test_clobber - tests/cli/test_ia_download.py::test_checksum - tests/cli/test_ia_download.py::test_checksum_archive + tests/cli/test_ia_download.py::test_glob + tests/cli/test_ia_download.py::test_https + tests/cli/test_ia_download.py::test_no_args tests/cli/test_ia_download.py::test_no_directories - tests/cli/test_ia_download.py::test_destdir + tests/cli/test_ia_download.py::test_on_the_fly_format tests/cli/test_ia_upload.py::test_ia_upload_invalid_identifier tests/test_api.py::test_get_item_with_kwargs tests/test_api.py::test_upload_validate_identifier tests/test_item.py::test_download_ignore_errors - tests/test_item.py::test_upload_validate_identifier + tests/test_item.py::test_upload tests/test_item.py::test_upload_automatic_size_hint - tests/test_session.py::test_s3_is_overloaded + tests/test_item.py::test_upload_metadata + tests/test_item.py::test_upload_queue_derive + tests/test_item.py::test_upload_validate_identifier tests/test_session.py::test_cookies + tests/test_session.py::test_s3_is_overloaded ) distutils_enable_tests pytest diff --git a/dev-python/mypy/Manifest b/dev-python/mypy/Manifest index f2cf7801a789..eac61b56afd3 100644 --- a/dev-python/mypy/Manifest +++ b/dev-python/mypy/Manifest @@ -2,3 +2,4 @@ DIST mypy-1.18.1.gh.tar.gz 3468445 BLAKE2B 95d3d8151bd09e23e7c1587fccd7f7c52f800 DIST mypy-1.18.2.gh.tar.gz 3468958 BLAKE2B 7c80d839829e2982604c8ed0ee82ca390b9372fb057baaf5ad4b4a8d2dc7ce538b7246342b4691e5c950666360a9788421f540febbc2b19412af80cd4d828907 SHA512 f3cbfdf338b5d994bc077e66721e26a635926d79985f8200af0bd6aa841b076703fa2c798c6d2ceadd7c8c69d4a86af11c5a8f551f13a7fd2b510721af466c54 DIST mypy-1.19.0.gh.tar.gz 3597780 BLAKE2B 5eb84c886542382d8b11e650bfa898cb5a2624f2d653dfaa517f25005c86305c26b9edb7bd74d4f5c95f21d361fe9208273b03e4ea2a1a18b5a897365d4540bc SHA512 08166809bf4a4afb528132e2f7b3201f4ae84c23a5f52ee4bcf5d57c16f6b3dfc46ac7b7bb5167fe9cde5300fff352bda6a3070d133ee29e975d106e2412a0a8 DIST mypy-1.19.1.gh.tar.gz 3600282 BLAKE2B f1d1c511ede6e9e933a8e6236cfdef506778ad56acc1a72d89ee088f0c8dc25c9afc2b174c0a74138aebaee14666ce345e57c8a8ac71a85948c35ca8d6984a7b SHA512 3d0d0a8ad1599e00ee22140a62470fd01eb78c9b2ba2db55d48e5422a6c643d216c88c0281cfd31cd8cddc9cd8d11e42c3f48b21602bdbcb0bd795fbef8362dc +DIST mypy-1.20.0.gh.tar.gz 3833712 BLAKE2B 35b00a3db1189cdaacbdbd396da578bda915026f50cb25ffc1a46cec78dc263feff09c0eab5a596bd6b4e3da1ab1fe4d0cda657e0b239c08af4311151fa42269 SHA512 7d86a01ae83b7769e12adba17c466e25d8175dcb69b25771d18038a40e199d41e544ff0fa873092e09abe7842a38aa586c5266f800f97a5ac0e7f9046f08494c diff --git a/dev-python/mypy/mypy-1.20.0.ebuild b/dev-python/mypy/mypy-1.20.0.ebuild new file mode 100644 index 000000000000..9abdcd990f1a --- /dev/null +++ b/dev-python/mypy/mypy-1.20.0.ebuild @@ -0,0 +1,125 @@ +# 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_{10..14} ) + +inherit distutils-r1 optfeature + +DESCRIPTION="Optional static typing for Python" +HOMEPAGE=" + https://www.mypy-lang.org/ + https://github.com/python/mypy/ + https://pypi.org/project/mypy/ +" +SRC_URI=" + https://github.com/python/mypy/archive/v${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~x86" +IUSE="native-extensions" + +# stubgen collides with this package: https://bugs.gentoo.org/585594 +RDEPEND=" + !dev-util/stubgen + >=dev-python/librt-0.8.0[${PYTHON_USEDEP}] + >=dev-python/mypy-extensions-1.0.0[${PYTHON_USEDEP}] + >=dev-python/pathspec-1.0.0[${PYTHON_USEDEP}] + >=dev-python/typing-extensions-4.6.0[${PYTHON_USEDEP}] +" +BDEPEND=" + native-extensions? ( + ${RDEPEND} + dev-python/types-psutil[${PYTHON_USEDEP}] + dev-python/types-setuptools[${PYTHON_USEDEP}] + ) + test? ( + >=dev-python/attrs-18.0[${PYTHON_USEDEP}] + >=dev-python/filelock-3.3.0[${PYTHON_USEDEP}] + >=dev-python/lxml-4.9.1[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=() +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +# frustratingly, mypyc produces non-deterministic output. If ccache is enabled it will be a waste of time, +# but simultaneously it might trash your system and fill up the cache with a giant wave of non-reproducible +# test files (https://github.com/mypyc/mypyc/issues/1014) +export CCACHE_DISABLE=1 + +PATCHES=( + "${FILESDIR}"/${PN}-1.14.0-no-werror.patch +) + +src_prepare() { + distutils-r1_src_prepare + + # don't force pytest-xdist, in case user asked for EPYTEST_JOBS=1 + sed -i -e '/addopts/s:-nauto::' pyproject.toml || die +} + +python_compile() { + local -x MYPY_USE_MYPYC=$(usex native-extensions 1 0) + distutils-r1_python_compile +} + +python_test() { + local EPYTEST_DESELECT=( + # the majority of them require Internet (via pip) + mypy/test/testpep561.py + # known broken with assertions enabled + # https://github.com/python/mypy/issues/16043 + mypyc/test/test_external.py::TestExternal::test_c_unit_test + mypyc/test/test_run.py::TestRun::run-classes.test::testDelException + mypyc/test/test_run.py::TestRun::run-floats.test::testFloatOps + mypyc/test/test_run.py::TestRun::run-i64.test::testI64GlueMethodsAndInheritance + mypyc/test/test_run.py::TestRunStrictDunderTyping::run-floats.test::testFloatOps_dunder_typing + mypyc/test/test_run.py::TestRun::run-async.test::testRunAsyncMiscTypesInEnvironment + mypyc/test/test_run.py::TestRun::run-bools.test::testBoolOps + mypyc/test/test_run.py::TestRun::run-i64.test::testI64BasicOps + mypyc/test/test_run.py::TestRun::run-i64.test::testI64DefaultArgValues + mypyc/test/test_run.py::TestRun::run-i64.test::testI64ErrorValuesAndUndefined + mypyc/test/test_run.py::TestRun::run-vecs-i64.test::testVecI64BasicOps_librt_experimental + mypyc/test/test_run.py::TestRun::run-vecs-nested.test::testVecNestedBasicOps_librt_experimental + mypyc/test/test_run.py::TestRun::run-vecs-misc.test::testVecMiscBasicOps_librt_experimental + mypyc/test/test_run.py::TestRun::run-vecs-t.test::testVecTBasicOps_librt_experimental + # these assume that types-docutils are not installed + mypy/test/testpythoneval.py::PythonEvaluationSuite::pythoneval.test::testIgnoreImportIfNoPython3StubAvailable + mypy/test/testpythoneval.py::PythonEvaluationSuite::pythoneval.test::testNoPython3StubAvailable + # TODO + mypy/test/meta/test_parse_data.py + mypy/test/meta/test_update_data.py + ) + + # Some mypy/test/testcmdline.py::PythonCmdlineSuite tests + # fail with high COLUMNS values + local -x COLUMNS=80 + + # The tests depend on having in-source compiled extensions if you want to + # test those compiled extensions. Various crucial test dependencies aren't + # installed. Even pyproject.toml is needed because that's where pytest args + # are in. Hack them into the build directory and delete them afterwards. + # See: https://github.com/python/mypy/issues/16143 + local -x MYPY_TEST_PREFIX="${S}" + cd "${BUILD_DIR}/install$(python_get_sitedir)" || die + cp -r "${S}"/{conftest.py,pyproject.toml} . || die + + local failed= + nonfatal epytest || failed=1 + + rm conftest.py pyproject.toml || die + + [[ ${failed} ]] && die "epytest failed with ${EPYTHON}" +} + +pkg_postinst() { + optfeature "dmypy status -v support for memory use" dev-python/psutil +} diff --git a/dev-python/openai/Manifest b/dev-python/openai/Manifest new file mode 100644 index 000000000000..32e8c1147fd1 --- /dev/null +++ b/dev-python/openai/Manifest @@ -0,0 +1,5 @@ +DIST npm-@stdy-cli-cli-0.19.7.tgz 7773 BLAKE2B 6ddc9db08ab06ef1ece58d3aeaf27517319a399262a63caa06e2d13a1bd8c83fac298a451f0ea57a71aaf9c4120f4efb742308106498d492d2593a4b58e04151 SHA512 ba4758dbe0d32e7c9994471713d0ae9a0967813bd1ec8fbce88247c2582ea248196f7858b56ce76e0716e016d5366b42700a78b603626d8de00e5a92599e009e +DIST npm-@stdy-cli-linux-arm64-cli-linux-arm64-0.19.7.tgz 36812291 BLAKE2B b0c8fba73598ce1e6aa824ffefd237eb35875879308820ef1aeeba9ba80378ef346ef9ffd40107b1b9d7754cd8acac1076d74a55fddbf3cbad9881cb8b19b0be SHA512 8b9cb95aadbbba48b2531451cf991b9d067b6ef697a38ff2b3df72d82d3967c1ab1e29274dee23283557c47e881ee0cb12e5223163d1fec06ecea96fdaecfda4 +DIST npm-@stdy-cli-linux-x64-cli-linux-x64-0.19.7.tgz 37584041 BLAKE2B b9b6bee19fdf51c985d907b7dc8638ab3d3ebf88083794fb0d39a5f6c64beffbaf321cd71fc2869812092c0504fa47e3b889d0ffe483622fd215d214e4c1645e SHA512 2719af63c71ad21293bd3cac5d19f6b0ca960d0888026d9ffa5a62467d5d434d8937edb0ce90d467fdd348ba40b6f96a3ccd5e9c6b551b75a7de79d5fcc40df1 +DIST openai-openapi-spec-v2.3.0.yml 2167549 BLAKE2B f4f87bbaf33689e8f1336ad4ea78d39302c7b4c457ab47a164936f3e4056068d9a49e5bc54e47d196123c12da7b033f0c018c22ce8bef3a6fa7504dbd8f758ac SHA512 23ac527df45040575a5f9b020af0971a86acf1cc296eda538a39b003692277ba86b7d6d477eff0466e9178a2d8271a3374692aecad4e6b6ecd29c5bcae64947d +DIST openai-python-2.29.0.gh.tar.gz 691490 BLAKE2B ce5dd047bc178d10e2505733e532b0e45bf604ce940902bed8656f41bfcdbdbdf61af91aaca30f1fc2e4175002d53a4c4b0c70ee8385e2e065d125e7f661faf6 SHA512 9bc5d9dbb747920412c1f73bbdcc36f6450dd0c4a245fde1e397864376816181823d92886ae4eb87fbee09e098fedeee8785602198deebd037a5f7bc520d2596 diff --git a/dev-python/openai/files/openai-2.29.0-mock-server-package-lock.json b/dev-python/openai/files/openai-2.29.0-mock-server-package-lock.json new file mode 100644 index 000000000000..076342b8dfdb --- /dev/null +++ b/dev-python/openai/files/openai-2.29.0-mock-server-package-lock.json @@ -0,0 +1,96 @@ +{ + "name": "mock-server", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "dependencies": { + "@stdy/cli": "^0.19.7" + } + }, + "node_modules/@stdy/cli": { + "version": "0.19.7", + "resolved": "https://registry.npmjs.org/@stdy/cli/-/cli-0.19.7.tgz", + "integrity": "sha512-ukdY2+DTLnyZlEcXE9CumglngTvR7I+86IJHwlguokgZb3hYtWznbgcW4BbVNmtCcAp4tgNibY3gDlqSWZ4Ang==", + "license": "Elastic-2.0", + "bin": { + "steady": "steady.js" + }, + "engines": { + "node": ">=14.0.0" + }, + "optionalDependencies": { + "@stdy/cli-darwin-arm64": "0.19.7", + "@stdy/cli-darwin-x64": "0.19.7", + "@stdy/cli-linux-arm64": "0.19.7", + "@stdy/cli-linux-x64": "0.19.7", + "@stdy/cli-win32-x64": "0.19.7" + } + }, + "node_modules/@stdy/cli-darwin-arm64": { + "version": "0.19.7", + "resolved": "https://registry.npmjs.org/@stdy/cli-darwin-arm64/-/cli-darwin-arm64-0.19.7.tgz", + "integrity": "sha512-baIrUrzhOgQmMOaOhrYZ0v95yMt5P26qeZdE+I79zaJbETjF8vM63AM+XHn7jVPulORG8lD+n90kyYfo20t9aA==", + "cpu": [ + "arm64" + ], + "license": "Elastic-2.0", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@stdy/cli-darwin-x64": { + "version": "0.19.7", + "resolved": "https://registry.npmjs.org/@stdy/cli-darwin-x64/-/cli-darwin-x64-0.19.7.tgz", + "integrity": "sha512-3qEi400gNuY564Ku8Bru1h36vhfsrfk7IrukZgcovHVi3ANMLSMGsINgE+HM77patSlmB/fAgHWORZzHfn5ftg==", + "cpu": [ + "x64" + ], + "license": "Elastic-2.0", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@stdy/cli-linux-arm64": { + "version": "0.19.7", + "resolved": "https://registry.npmjs.org/@stdy/cli-linux-arm64/-/cli-linux-arm64-0.19.7.tgz", + "integrity": "sha512-i5y5Wq27ukiyUxRRz5kbnQZ7bvaXo4/ys99y2C05Z8GrHiknTe4jKDVXxH6IHuDLEuUiMWPR/sBuzqlv2uz9pA==", + "cpu": [ + "arm64" + ], + "license": "Elastic-2.0", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@stdy/cli-linux-x64": { + "version": "0.19.7", + "resolved": "https://registry.npmjs.org/@stdy/cli-linux-x64/-/cli-linux-x64-0.19.7.tgz", + "integrity": "sha512-JxmvY8ca0hKTvTysXRn2sMqWDQiIAm2f+lpiRn1dQ02JN+2wzpDUZ/3TSLpAtvlqPM1enGtVG3Wn3nnV/MQN8Q==", + "cpu": [ + "x64" + ], + "license": "Elastic-2.0", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@stdy/cli-win32-x64": { + "version": "0.19.7", + "resolved": "https://registry.npmjs.org/@stdy/cli-win32-x64/-/cli-win32-x64-0.19.7.tgz", + "integrity": "sha512-FNhuOpiglzJLT95sn+jOVc31M0r12H+hJ9C1mJsTckDJHu39Rq8h6ZcaL+oP2wXkkxipdAprj3m/jgpiFbcVgQ==", + "cpu": [ + "x64" + ], + "license": "Elastic-2.0", + "optional": true, + "os": [ + "win32" + ] + } + } +} diff --git a/dev-python/openai/files/openai-2.29.0-mock-server-package.json b/dev-python/openai/files/openai-2.29.0-mock-server-package.json new file mode 100644 index 000000000000..31c867639fb0 --- /dev/null +++ b/dev-python/openai/files/openai-2.29.0-mock-server-package.json @@ -0,0 +1,5 @@ +{ + "dependencies": { + "@stdy/cli": "^0.19.7" + } +} diff --git a/dev-python/openai/metadata.xml b/dev-python/openai/metadata.xml new file mode 100644 index 000000000000..a2cf3f904da1 --- /dev/null +++ b/dev-python/openai/metadata.xml @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>falbrechtskirchinger@gmail.com</email> + <name>Florian Albrechtskirchinger</name> + </maintainer> + + <origin>gentoo-guru-overlay</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-python/openai/openai-2.29.0.ebuild b/dev-python/openai/openai-2.29.0.ebuild new file mode 100644 index 000000000000..1e6524024d13 --- /dev/null +++ b/dev-python/openai/openai-2.29.0.ebuild @@ -0,0 +1,161 @@ +# Copyright 2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +PYTHON_COMPAT=( python3_{10..14} ) + +inherit distutils-r1 pypi + +# See https://github.com/openai/openai-python/blob/main/.stats.yml +API_SPEC_BASE="https://storage.googleapis.com/stainless-sdk-openapi-specs" +API_SPEC="openai-openapi-spec-v2.3.0.yml" +MY_PN="openai-python" +STDY_PV=0.19.7 +DESCRIPTION="The official Python library for the openai API" +HOMEPAGE=" + https://github.com/openai/openai-python + https://pypi.org/project/openai/ +" +SRC_URI=" + https://github.com/openai/${MY_PN}/archive/refs/tags/v${PV}.tar.gz + -> ${MY_PN}-${PV}.gh.tar.gz + + test? ( + ${API_SPEC_BASE}/openai%2Fopenai-00994178cc8e20d71754b00c54b0e4f5b4128e1c1cce765e9b7d696bd8c80d33.yml + -> ${API_SPEC} + + https://registry.npmjs.org/@stdy/cli/-/cli-${STDY_PV}.tgz + -> npm-@stdy-cli-cli-${STDY_PV}.tgz + + amd64? ( + https://registry.npmjs.org/@stdy/cli-linux-x64/-/cli-linux-x64-${STDY_PV}.tgz + -> npm-@stdy-cli-linux-x64-cli-linux-x64-${STDY_PV}.tgz + ) + + arm64? ( + https://registry.npmjs.org/@stdy/cli-linux-arm64/-/cli-linux-arm64-${STDY_PV}.tgz + -> npm-@stdy-cli-linux-arm64-cli-linux-arm64-${STDY_PV}.tgz + ) + ) +" +S="${WORKDIR}/${MY_PN}-${PV}" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm64" + +RDEPEND=" + >=dev-python/anyio-3.5.0[${PYTHON_USEDEP}] + >=dev-python/distro-1.7.0[${PYTHON_USEDEP}] + >=dev-python/httpx-0.23.0[${PYTHON_USEDEP}] + >=dev-python/jiter-0.10.0[${PYTHON_USEDEP}] + >=dev-python/pydantic-1.9.0[${PYTHON_USEDEP}] + dev-python/sniffio[${PYTHON_USEDEP}] + >=dev-python/tqdm-4.0[${PYTHON_USEDEP}] + >=dev-python/typing-extensions-4.14[${PYTHON_USEDEP}] +" + +BDEPEND=" + dev-python/hatch-fancy-pypi-readme[${PYTHON_USEDEP}] + test? ( + dev-python/distro[${PYTHON_USEDEP}] + dev-python/httpx-aiohttp[${PYTHON_USEDEP}] + net-libs/nodejs[npm] + net-misc/curl + ) +" + +EPYTEST_PLUGINS=( + inline-snapshot + nest-asyncio + pytest-{asyncio,xdist} + respx + time-machine +) +distutils_enable_tests pytest + +src_unpack() { + unpack "${MY_PN}-${PV}.gh.tar.gz" +} + +src_test() { + einfo "Assembling npm cache..." + + local -x npm_config_cache="${WORKDIR}/npm-cache" + mkdir -p "${npm_config_cache}" || die + + for distfile in ${A}; do + if [[ "${distfile}" == npm-* ]]; then + npm cache add "${DISTDIR}/${distfile}" &>/dev/null || die + fi + done + + einfo "Installing mock server..." + + local mock_dir="${WORKDIR}/mock-server" + mkdir -p "${mock_dir}" || die + + cp "${FILESDIR}/${PN}-2.29.0-mock-server-package.json" \ + "${mock_dir}/package.json" || die + cp "${FILESDIR}/${PN}-2.29.0-mock-server-package-lock.json" \ + "${mock_dir}/package-lock.json" || die + + local mock_dir="${WORKDIR}/mock-server" + local mock="${mock_dir}/node_modules/.bin/steady" + + pushd "${mock_dir}" >/dev/null || die + + npm ci &>/dev/null || die + + einfo "Starting mock server..." + + # Replicate the logic from scripts/mock --daemon + "${mock}" --host 127.0.0.1 -p 4010 \ + --validator-form-array-format=brackets \ + --validator-query-array-format=brackets \ + --validator-form-object-format=brackets \ + --validator-query-object-format=brackets \ + "${DISTDIR}/${API_SPEC}" &> .stdy.log & + local mock_pid=$! + + is_mock_running() { + local -a args + readarray -d '' args < "/proc/${mock_pid}/cmdline" 2>/dev/null || return 1 + [[ "${args[1]}" == "${mock}" ]] + } + + local attempts=0 + while ! curl -sf "http://127.0.0.1:4010/_x-steady/health" &>/dev/null; do + if ! is_mock_running; then + cat .stdy.log + die "Mock server failed to start" + fi + attempts=$((attempts + 1)) + if (( attempts >= 300 )); then + cat .stdy.log + die "Timed out waiting for mock server to start" + fi + sleep 0.1 + done + + # Oops; connected to another Steady instance running on 4010 + is_mock_running || die + + popd >/dev/null || die + + nonfatal distutils-r1_src_test + local ret=${?} + + if is_mock_running; then + einfo "Stopping mock server..." + kill "${mock_pid}" || die + fi + + [[ ${ret} -ne 0 ]] && die +} + +python_test() { + epytest -o asyncio_mode=auto +} diff --git a/dev-python/orjson/Manifest b/dev-python/orjson/Manifest index b0e8a7cc477e..ea01de64506d 100644 --- a/dev-python/orjson/Manifest +++ b/dev-python/orjson/Manifest @@ -4,3 +4,5 @@ DIST orjson-3.11.6.tar.gz 6175856 BLAKE2B 7b3d09f34585435c0f5c39ff6dab0f4efd2980 DIST orjson-3.11.6.tar.gz.provenance 9077 BLAKE2B 74f745bd234ec4af00e725a4ee9c4315f76b392b8e2b9411012ee8cd28f59f8d4cb5b833505c912ba1ad12e964e5e5b0c033c647085b4b164b52b5b6f8b3814a SHA512 d74028efa4585a807f535b03869b5471804f01a3730a29f18000f80eec9bd2e745f46a47ab81eeb17a92e5a4cf30948afe873f139a97677e64f1d54a0a896cdc DIST orjson-3.11.7.tar.gz 6144992 BLAKE2B 4cadb14cd0504307fc6d8b03a90243ddff1ecae8cd8f25508f77164646092186cb87740e553d4a6eca9cfe37fcef39c6aa8d0b3e3f01902c114255ec27f68f38 SHA512 af68ed5b9d1f4fd3880299863375ff3f709a7470ca539060444d14e9b1798a520ec353694461d905877bc09c7fe48bf8120ddc487c6bbaec2e3f851915f2283f DIST orjson-3.11.7.tar.gz.provenance 9492 BLAKE2B 18af3805807e5e4874dc0f5e6796bcafe5757239b713b2550ebb36b560a6b6401012f2b1afa2275f14ccc7dd7f974cce10082dacad6ca2e662cdc07a46696bfd SHA512 f77b2a7406d5c2bbc9ecf1e941a03e7f1b63e84e168250e62d92c83eb727a3233808b2c6292d3a9d87e1de4a113070696f1afedaaaa039d264d67a7fb754294c +DIST orjson-3.11.8.tar.gz 5603832 BLAKE2B 895154266572e55004dc967c856557ce2608759f4a1311b0f4ee5b3b4aeabb9dd8b60d51775f976b4a2d9fbd0547362d818c42ef592a74e8d0efc17bf8c4e4fe SHA512 cf270039908494c33dbed06b2b1614bca5ef9bb43a002aa8bd009f78c99d1103638619a5eae3e171791ceae8cf11061290641729eea774c647bc3f4fb105c7c1 +DIST orjson-3.11.8.tar.gz.provenance 9132 BLAKE2B 6a70c30ec7df624644df3ab7c001bcf84f88f6a0ac695fcf89131d54ac3187ec3e2d519ebf62c72f7e6b81d388b22e5fa1ef2437e13c9af82df029afac76968d SHA512 40537e6d82dd17ca8b09f5b7ba7c04bdd96b39203ed3ae834b173f11316de151e63b8cb85d830c811d629c05ffa642183fa845534cc073f16242ee75991e17be diff --git a/dev-python/orjson/orjson-3.11.8.ebuild b/dev-python/orjson/orjson-3.11.8.ebuild new file mode 100644 index 000000000000..248fface63f8 --- /dev/null +++ b/dev-python/orjson/orjson-3.11.8.ebuild @@ -0,0 +1,52 @@ +# Copyright 2023-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=maturin +PYPI_VERIFY_REPO=https://github.com/ijl/orjson +PYTHON_COMPAT=( python3_{10..14} ) + +# upstream is vendoring crates, so we don't need CRATES. +CRATES=" +" +RUST_MIN_VER="1.89.0" + +inherit cargo distutils-r1 pypi + +DESCRIPTION="Fast, correct Python JSON library supporting dataclasses, datetimes, and numpy" +HOMEPAGE=" + https://github.com/ijl/orjson/ + https://pypi.org/project/orjson/ +" + +LICENSE="|| ( Apache-2.0 MIT )" +# Dependent crate licenses +LICENSE+=" + Apache-2.0-with-LLVM-exceptions BSD Boost-1.0 MIT Unicode-3.0 +" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +BDEPEND=" + >=dev-util/maturin-1.7.8[${PYTHON_USEDEP}] + test? ( + dev-python/arrow[${PYTHON_USEDEP}] + dev-python/numpy[${PYTHON_USEDEP}] + dev-python/psutil[${PYTHON_USEDEP}] + dev-python/pytz[${PYTHON_USEDEP}] + ) +" + +QA_FLAGS_IGNORED=".*" + +EPYTEST_PLUGINS=() +distutils_enable_tests pytest + +src_unpack() { + pypi_src_unpack + + # https://github.com/ijl/orjson/issues/613 + cargo_gen_config +} diff --git a/dev-python/prefab-ui/Manifest b/dev-python/prefab-ui/Manifest new file mode 100644 index 000000000000..51ce0a14123b --- /dev/null +++ b/dev-python/prefab-ui/Manifest @@ -0,0 +1,3 @@ +DIST prefab_ui-0.14.1.tar.gz 3897953 BLAKE2B 7a873dbe6a592d9a37eea6b393e44abb1e30e08599099dfb712ab422955455f4c0a69fe1b6c81b6e8bfd82ac2917bcd32b88b4622142dc8cfaeadbf9860b149a SHA512 f31063972d65d3f7b3c3ab6fe66b40a037712cf5cdd7c553f2d8c2a7ee61d4da74b1b1885664438202c50cb7aa595a29e973f4ab39215a4f2cd883f1bbbc0aac +DIST prefab_ui-pyodide-v2026.03.28.sha256 437 BLAKE2B d314f804ae6b0b099f4336cc3adbe1df7951015dbaac2f12aa07d9308361f7a2a419169d4d0544fa439b755dd0f79b6234b4918d49328e7a3266ff1f577506b7 SHA512 4f3fec7775aecba2a1d67b0a9b4961ee9f09e95dd945c4e65cdb1786a97bb763337b4340e0734a7ef7f1c89394d5c6e73171068fc3504f867018d1baf59909a8 +DIST prefab_ui-sandbox-v2026.03.28.tar.xz 6024436 BLAKE2B 27d83d72cf356715d96bce53853399624cef59a215e8a2ca42a54e79586e2a7c8ffd8fa9585236ec4be99eb0617ea725fc6b45302d3420633fc72f6aa8d4ab8a SHA512 c10e0ce3bc2f7052b17767054037ba97cf8faab0b6eab0d1099fb2a2cff43053bcbaa032b76e1da966dbf14e8715bc1152e063f62df71e9945978d23f0425ea8 diff --git a/dev-python/prefab-ui/metadata.xml b/dev-python/prefab-ui/metadata.xml new file mode 100644 index 000000000000..a2cf3f904da1 --- /dev/null +++ b/dev-python/prefab-ui/metadata.xml @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>falbrechtskirchinger@gmail.com</email> + <name>Florian Albrechtskirchinger</name> + </maintainer> + + <origin>gentoo-guru-overlay</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-python/prefab-ui/prefab-ui-0.14.1.ebuild b/dev-python/prefab-ui/prefab-ui-0.14.1.ebuild new file mode 100644 index 000000000000..e5619c7070aa --- /dev/null +++ b/dev-python/prefab-ui/prefab-ui-0.14.1.ebuild @@ -0,0 +1,102 @@ +# Copyright 2026 Gentoo Authors +# Distributed under the terms of the Apache License 2.0 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..14} ) +DISTUTILS_USE_PEP517=hatchling +inherit distutils-r1 pypi + +DESCRIPTION="The agentic frontend framework that even humans can use" +HOMEPAGE=" + https://prefab.prefect.io/ + https://github.com/PrefectHQ/prefab + https://pypi.org/project/prefab-ui/ +" + +# prefab-ui uses Pyodide (Wasm CPython) within Deno for its sandbox. +# We vendor both the Deno runtime dependencies and the Wasm Python wheels +# to allow the test suite to execute inside the Portage network sandbox. +# +# Sandbox vendor tarball contents and checksums generated via: +# src/prefab_ui/sandbox $ deno cache --vendor --lock=deno.lock runner.js +# ... and: +# $ u="https://cdn.jsdelivr.net/pyodide/v0.27.4/full"; \ +# mkdir pyodide_packages && cd pyodide_packages && wget -q "$u/pyodide-lock.json" && \ +# python -c 'import json, sys; pkgs=set(sys.argv[1].split()); f=sys.stderr; \ +# [(print(v["file_name"]), f.write(v["sha256"] + " " + v["file_name"] + "\n")) \ +# for k, v in json.load(sys.stdin)["packages"].items() if k in pkgs]' \ +# "annotated-types pydantic pydantic-core typing-extensions" \ +# <pyodide-lock.json 2>../checksums.sha256 | xargs -I {} wget -q "$u/{}" + +# Vendored test dependencies +VD_TAG=2026.03.28.0 +VD_BASE_URI="https://github.com/falbrechtskirchinger/overlay-assets/releases/download" +SRC_URI+=" + test? ( + ${VD_BASE_URI}/v${VD_TAG}/${PN//-/_}-sandbox-v${VD_TAG%.*}.tar.xz + ${VD_BASE_URI}/v${VD_TAG}/${PN//-/_}-pyodide-v${VD_TAG%.*}.sha256 + ) +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm64" + +RDEPEND=" + dev-lang/deno-bin + >=dev-python/pydantic-2.11[${PYTHON_USEDEP}] + >=dev-python/cyclopts-4[${PYTHON_USEDEP}] + >=dev-python/rich-13[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/jsonschema[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=( pytest-{asyncio,timeout} ) +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +src_test() { + local -x DENO_NO_REMOTE=1 + + # Check cache completness + pushd ..>/dev/null || die + echo '{"vendor": true}' >deno.json || die + deno cache --lock=deno.lock --frozen \ + "${S}/src/prefab_ui/sandbox/runner.js" || die + popd >/dev/null || die + + # Verify vendored wheels + pushd "${WORKDIR}/pyodide_packages" >/dev/null || die + sha256sum -c "${DISTDIR}/${PN//-/_}-pyodide-v${VD_TAG%.*}.sha256" || die + popd >/dev/null || die + + distutils-r1_src_test +} + +python_test() { + cp -a "${BUILD_DIR}"/{install,test} || die + local -x PATH=${BUILD_DIR}/test/usr/bin:${PATH} + + local base_dir="${BUILD_DIR}/test/usr/lib/${EPYTHON}" + local sandbox_dir="${base_dir}/site-packages/prefab_ui/sandbox" + + cp -a "${S}/skills" "${base_dir}" || die + + # Copy vendored Deno dependencies + cp -a \ + "${WORKDIR}/deno."{lock,json} \ + "${WORKDIR}/node_modules" \ + "${WORKDIR}/vendor" "${sandbox_dir}/" || die + # Copy vendored wheels + cp -a "${WORKDIR}/pyodide_packages/"* "${sandbox_dir}/node_modules/pyodide/" || die + + # Show full error messages from Pyodide + sed -i 's/err\[-1000:\]/err/' "${sandbox_dir}/_pyodide.py" || die + + local -x DENO_NO_REMOTE=1 + epytest +} diff --git a/dev-python/pydantic/Manifest b/dev-python/pydantic/Manifest index 08d66d8632ba..f48150f7244c 100644 --- a/dev-python/pydantic/Manifest +++ b/dev-python/pydantic/Manifest @@ -33,7 +33,6 @@ DIST idna-1.1.0.crate 148747 BLAKE2B 89c6bec54cc2717741ddb5cff2939c08823189a490b DIST idna_adapter-1.2.0.crate 8206 BLAKE2B 5e8d7dbfea699584542cde53039df9d8c3dd408efa2534f11fce7086f679872c45d9905d6b2cfe523148eda3bb0cd4820a7b14317f91725f3d9cdb475aafbd57 SHA512 1d8b54c19878645749a1bae768dacf353b07d266f2cb3bfa1071a7afb56ca68f534dc1d54cae277b777bc97e5986f297cbe2051a82e14f553ea73cd723d9da7e DIST indoc-2.0.5.crate 14396 BLAKE2B fe838c6a855d6ff7396675a3fe9b2e0b06a93cfd4013b0b843d24d2fb81f6566528bfd1753c649646f06cb7e59262bd6ec3ed79d4e6f01d740cf0682355f2e5a SHA512 095fb56a3d87946c42a63065a8b276c2d4b9b835800014b400bb987593bf56701bad9f55d947f090740fdb7641a4f3c87fe8bfa5724709e95254d1e8e2e3616f DIST itoa-1.0.11.crate 10563 BLAKE2B 94da07e0f7f2535d0b1491b3a3c64905274b315ffd35ec8e9a3e36e26cd7211733b462eefb5208963e388345f65be9694804c344a6132b2b595b0bc716c0b328 SHA512 7e22dffac34c9c9f432daef395e0ec710ed658164bc9cd9fc6445c9f984c912a10bac556214a026bcddbe27a3197b35b0c87d6709fd605062637d086b2d20311 -DIST jiter-0.11.0.crate 154537 BLAKE2B 040f3881f6e02e77b759675055d35423f129ec18d3e5f6b8d85a553c473a9f1587fc595f43dae25f0321fc8003b6f2f1f52029de253b027e009f88fab0641f6f SHA512 6882a950f7c084a5fa48dcd75a912f90c2c8990683cbf878a95e122ccb4ce99a0f9dbf30dc49bc2de9b7ab2d9f81e61b256dbd657036bdee5953a5d8d6d78f6b DIST jiter-0.11.1.crate 154396 BLAKE2B 5e510ad85739de9965c6f802df761252bcd2e57467adcee5a8ddcb41819d785463f0edce379ae243fc4b00e7d6f9016f8eb247d92ad5fb53239219fb4b0b1708 SHA512 977d20ba5ea1d770cf27434eefba328a36768160b2673b516eadc6fdc09654482967d9561515e6295b6892c65dcc0316b9bb1c5123b140eb10438dd88282e8a2 DIST jiter-0.13.0.crate 154087 BLAKE2B 6d43652729056d95805bfd38cebb5d9c0724369494989a95fd286c6e4e129725b58acaf08363a6205205ae6618783d14e6e6e928418f6a5ec6748483b3fdcd59 SHA512 7c9bc52c49811c96c0beaefc96a990d979811e717f002693fb19313c1a10764f7483d3e6f7648cf89a675d75c02f8dc1be13bee00109b51828e95a5825bcea8d DIST js-sys-0.3.77.crate 55538 BLAKE2B 8a4c04a8e93bf5dab63784a24320a314cc5cb629df788e116c452857b8c049c6bf357f3bf8f35086eaa81bc2d7f0954001addfd0577d845844871ee138e81bc6 SHA512 d9370ed6ea892bd51ea181630ca661c348f82d575381aa4c8b529113dfcab6687f4d19bceecad7e1b28ebaca74d405862150a5b5ee2d5d55efdaf98eed1ab255 @@ -50,25 +49,19 @@ DIST num-bigint-0.4.6.crate 102801 BLAKE2B 0460e7dfdbd44b6c68fc8ead6bff4353e5491 DIST num-integer-0.1.46.crate 22331 BLAKE2B d88c9f84e5d803a3aa8f44dfc1bd6d9b5e336e7cbf47231cb3a7de30dfe263c41c62c586d31f0029459c8c240475cd329b3fce79f355be7643bdccf8d56dcbba SHA512 e27986d91f6c6dc3d5a0900defe28ab5f47905cde3f84d0914b7acee076dca8fec6fdb7b631ac94d3a31eb01ecbc5854e51afc3187cd1abfa21e1bfafdc700ae DIST num-traits-0.2.19.crate 51631 BLAKE2B 78637360cbf32d172510a62bd9442708af9730c0296a2bb4ebd200c08facd49bc31bf8ddd58967e0df7273a938832b620265d9f8f4d26ad16049bf6dac1cb4e5 SHA512 180018a5eceb45085e4e8d103ff21bb4d5079cea874c42a0ad4c76c99d275d434bbc1cc289f0cdec172866daa89dbfe0871410b2cc3407233fe1129786905956 DIST once_cell-1.21.3.crate 34534 BLAKE2B 3578aaef305cad2fdffdc40c392775a3540bfab3f3aeafd22466d9507bf8346b9fcc200929d48525b051070c0aaa423ecbcaa12868b34dca007991effb224166 SHA512 32a87506c6f4598f3ca2c88556014ef2093d5db9a08602335e847caa537a866492fa74c894e7e1da2e4289a1d3dbffcb90a9e37a4a1453203832f434b8206990 -DIST percent-encoding-2.3.1.crate 10235 BLAKE2B cf8e2fd7b359a05b7bdaf731f9ae84c7fe6f468a53482eb2db7f93dfdaab64ac812b3664899db260055a93449462e6d219c695942fc5b030517b197b4df9b95f SHA512 5951ea8315e52cf3acfbaa023cb9e13a136b114c54a7da0bd44619ae24cd2159d4a96469d7572a2fdabd94e19513a033387117d7ca81d0eb409fb383e4acda44 DIST percent-encoding-2.3.2.crate 11583 BLAKE2B 58925243b23a6a1decc3d92c4ce17d06af5206844ad283b49e69e523ac0db2c36c3f4407af4104ab92c029c2581c228bdf416a054a2531191a9e912448ba4408 SHA512 495b4aac88a7a46420811671d6bd82817e4eb2fe51d5068d11c5b50d0d927895d54c855cb07d4f4ad5a2d42b22f9419ad0183c14781dbfa240804fd49761035a DIST portable-atomic-1.6.0.crate 140689 BLAKE2B c91d06e04a87c9a207233d8a850859aa1f5cc43dda8aed34511c3fe9641c27412796539ed045a58e649d2a0c7d71100b6b2d78a0c662fc061fd961a652ae8722 SHA512 b27cf57655a2f1e2d6ea7b45d80b4f9920a836e462f132c50dc1e4d314e162444309de1baecf45dad2defc7a5b99759165e54da9fe759b24092f8cb8755c515c DIST proc-macro2-1.0.86.crate 48958 BLAKE2B 4b89e07f23af8328dbb34fe2b3f1b202f1e6a3885a6269740a23359b41bb4099ac2484565d3b2b0936261689ca525785ac620c766997234fd8d0f409e80e5ea3 SHA512 1cdb7e22a35ae231d880c9420784c9acf97bda2db258b3d34aae5061dc1858449defe19a49e12c6a4173906aa72a4115059ac2db0fc760205fd2ab8b5b414434 -DIST pydantic-2.11.10.tar.gz 788494 BLAKE2B 0fad8fa9baf40869df8ccb2715dc314ff64f7c21c20328be6b8c7387f4efbab92e681bc11660cdb321e12b462e1cd908bd0ae4c9c91b1d9a9ee6b072512badc7 SHA512 7bebff22b441bf0708457ed6b93909b4e2faaa7ff168323646bc61722fddc4497ceff8fc1759b9237a57a223f08c8ef450a0c9e062cee54e97c6ebc5f396b59a DIST pydantic-2.11.7.tar.gz 788350 BLAKE2B 4767f593beb649fe3139f3b22e3814a9f56793494dc17428cf70952451e9112d03b275c0af979f0f0159b25deae2e2794bfdb1392e2c3499220ad3cd67945414 SHA512 54ee1a49d5a429cad31928425c197139ae3cce004d8f3530835ce39897be9afa6aea35e639af1d6290bace7148e1369ce66840e26bced329bc2e7d93b3dad6e5 -DIST pydantic-2.12.3.tar.gz 819383 BLAKE2B 77e7242c478ad0cb686334207737d93e7381e6cd91117859e7755460d1adb05e73af1ace2733a3a4e8fca37bd5f063a643841a190c5d04c4519087e0d2d82549 SHA512 46af1777b4fa11d5e24ef8de93bad0eef3e0250150bdfdbd75be21d139925a58c32f526053675c1c022a229641763d7de6fa8f7ef81f86553572c366bd5cc341 -DIST pydantic-2.12.3.tar.gz.provenance 9153 BLAKE2B 9e7de239ba62592cf420a77a85cd64e7ace52d7cc8eb8069af6b0d811e6ce740602df7ec6af97086659437b400d5faece4ed9190ba9fa590eab747c766c14cf2 SHA512 1c3cf685838846b350f309b2ec71f7794490277bcfd799031decc53bf4ccb2eb634952103b37148b3a3cd14b5f009845bb40f97047f865d24f23b26136c9bf38 -DIST pydantic-2.12.4.tar.gz 821038 BLAKE2B c756e980c65af58785d39233d4d3adb4f738d2f7072df1b11525fc1fd150bf10eaf7ce81e1922eaf860ed1011c830bcdf87b5285b3f36c06b21ea621098b9aa8 SHA512 50eb4ac28a9990a2005f82caf1d363dc9d3c19592d734228f6ade2556f252a6551f99c628d144df8b3aa18dc8054348dd0b8d77008c407f62ac85633dc2cf917 -DIST pydantic-2.12.4.tar.gz.provenance 9243 BLAKE2B f81fd238a3ec0e86520578046d4921166dfd2cce5a65317704d9fdc3a73f478388fa8ba0ce53800842895e8af40b9f8427c470317f9b79f008db914140799484 SHA512 bd3cc6a5cccb1ec88dd7eaf3b3347acae56fc4b396dff2a38a5913dc5205866591bd7bdfab25fbb15107e8162ca0aef3b0fa0c214266c30d962c41df6ddc5f2d DIST pydantic-2.12.5.tar.gz 821591 BLAKE2B 7b139db92fc103cc5e0e5820a3541af8ffaa850ecca9d0136f09768bf5f51ceddb933b12434ea3428b9e2f10e587d9227ec22ced9609b83759765446e6a9cb9d SHA512 93968bf402ba1b2ea48375be021f8e2cfc61bee2cb39a7ec470bf445d752f1bfd638dd951b34f443ddb6a853aa81f1860b11cc6478eb20c142e48347c80ec827 DIST pydantic-2.12.5.tar.gz.provenance 9274 BLAKE2B 9796b665fbb38345b99cbe1ca5890c14a1bbdc2f1995f69685aab53590aaabdc841544d4cacb0e723414bfc8cc18b0368ae958d486b84bfdd201537c78eab3a4 SHA512 e95f64e35c6fbc35d3d6fee2b1104b0a48df5fc0376d95dc4102961f957eed6ebbcb51903cd51e7a61dbd97e6f0e0b5c1d50e26a352018e4a1079169e34a249a -DIST pydantic-2.13.0b1.tar.gz 835120 BLAKE2B ff5e4bdf486d86c5fb19da5f176dcdf1936bf2524425c31501dbeeab49c2de7e93dca3dda085096ddf2b402efca561ce1fd1b924de6870c034c079464f4a1330 SHA512 0651c7488042ca70ea1d5c48cd31aaf2bdc9640e5cae284ea8993a181e5aeb404ea8ca6035f108583576eeba537d30da82e528f195e6a19b9320fb0d0ceb4076 -DIST pydantic-2.13.0b1.tar.gz.provenance 9273 BLAKE2B 29dd13e0e7924dffdbb65f348b469e8935607ffbbb97355a6b0d2ca79e9618e29727b01bb0cd08978d449c45842966f6fa4d40a0d9a7faccb4e644ae546ee1dd SHA512 776ee18e62a1beac1bcac9fd124953b8fce830dfa9e8b535e1db078e58bff3ccf0239643f5da4a0cb3cd9c183c80d52b9dbe64827534d5d65e689cf4d25d1d3b DIST pydantic-2.13.0b2.tar.gz 835671 BLAKE2B 5cf34c0687e6ad7882b560eb8402d7fb6e0c003a837472e0ae96b4d8190715a3c759c02123ca1f827addbebaadffaf10e202f954fad33257535ea5a9abd50fc1 SHA512 b3d0b0ae3bffb30a5a455c20365a376369b682c8fe7151573be8a1b9529760142b1998ed039b927aebbb99bbe764fcb44b64a4d8b101a80b8fa5d133d30cee78 DIST pydantic-2.13.0b2.tar.gz.provenance 9426 BLAKE2B cbca4ef38c7739b920d70f7068f7bd41cc6844eb439759e63b086a5cff4ef752be1e83d2c711e193beb2e6fb21711e383b0afc28ee94dca4e3a411c72b1d6152 SHA512 bf833efb2c89eb463beb6fda43425c38d7627ff745216c90a2ac672b64212d6dabd092d7378ddac0e329dc5059800a1b90bf6b8f37c558bec1fdf45455b5ac6a -DIST pydantic_core-2.41.4.tar.gz 457557 BLAKE2B ebff295fe3a735fe29fd1c2384eb54c44f783413e849848392eff23e317f3e6650567211a284c2f5df5318827e447ff4ab457f7d63984e3a618698f3b9bfc243 SHA512 aced59b149d48956220407ff42001167c7fa98f3ae7539bab0b16011bf9a38d9c1e8994770db7bb0426114d3322316cb3ce12cb1961d54f6a4798d8b00d1ee85 +DIST pydantic-2.13.0b3.tar.gz 841035 BLAKE2B 8abe85c8bf03d89621b5230c55a5e5ca65ab4429d91cbdefa95bdc2d2385f8906f24d03e9c8e8769ecdcad5111b378fcaebe2241dca4eb614980f2edea944b9d SHA512 f16a630e7311b37d54be9558bfafbd988d476bc6a120aba004d91733fe9722788c732953d9670df40bb3222c07641940f5684264d9998dda788f1bf6b9c2609d +DIST pydantic-2.13.0b3.tar.gz.provenance 9430 BLAKE2B 63fa74fe50a3b879841580cd28606eeac0b9a55bcab651bd2504e66336c10ff557ff2efe86e21106beaf3e4927c4f787674a8863e3ef0698c868b20a25e967b7 SHA512 ac4d225bbb6b0b1cd94b497d121df3b9865748e7e7cba63754756056c1a27cf8bc03c824404c7a906b5fefa8d4dbe385ee4e56397a5176246d443445c52a5687 DIST pydantic_core-2.41.5.tar.gz 460952 BLAKE2B dd7d45acdc5f3093668cb57813c0c4e40e5916d04f75ef8f06308ec00243c9b0469cba5ffd2eb8449e11279d28c12ccc039dc03ed108cdb879da675d9f61aebe SHA512 1447f257efdbad0f70b490569c073696f8bdcdbd0baccac40e843520eb3cabfd23d499dca31afdc67581dd6a690cc138b882f393a91f57afcc309c800b9620c3 DIST pydantic_core-2.42.0.tar.gz 471009 BLAKE2B e82f44d368fd2a8e15307061d3e9a5fa52a0f638fd36c42ea7d7ff1e36e9b672cebb1b065702da8e5f26794c2c928e392fd615c55315e6a05acbb224f71d23ea SHA512 f8f15c258cb0240c73c5f070715d2a1893866c2fe07a4d8a6b96feade9f9ab11103aaa73a6fe349a0bf644806b2f8e9b335b8dd4eb6f733ce1fd023b393a6e20 +DIST pydantic_core-2.45.0.tar.gz 471391 BLAKE2B bd88e8d2b6683d7275bae392a42ee207aed60022acd46137b3ffe5bef48b6d7a3ca0a76388b1849a3e08e2bd6a5041029b0777dfba5cbf1cf3b44d468761f098 SHA512 dd9ad080637dbe2f9150cb32b691873544301b5d9bde16aa394f8b3e5fe99a6bbb2df49241849b0f19cf90316160358e2b0b8c18b6861cf78d37e5b9205299f5 DIST pyo3-0.26.0.crate 1151579 BLAKE2B bcc8236785502928bf4a0b7a320e0a8f3d6140c562de4351a52d015aaebb8dd6b4d68fe607c8ea13ec66941c8f01d2c18c4249adfacb521355d4bf158667f3a3 SHA512 e073a4d893f88aa0301ef0ead78048137515edd93c490e6dccbc301ff65a208534c65c1d216b04639d4b1ec1e4b69bc87bd34974e5d0659134c28dcce589c194 DIST pyo3-0.28.2.crate 1202843 BLAKE2B 18158e22631ab35348eab1f117f16b311932de832d910f37a71cf481ec04ced03c37baaf63f1c8afc7ecccef039fc8f9072cbe0dd5109a74e7fb9f6b3ddb18a4 SHA512 fd4a03eb1cdfa40c1ed67b588cd4da31c90972f95c669b20a1099fb9304cd9506337f674e0bc9efd1d22a453162aac79a36ab18ca97eaca3515d640e2e9b923f DIST pyo3-build-config-0.26.0.crate 34309 BLAKE2B 5ea8b51da2f425674cd3bfcc1090ffdd08da01d2161dc66b08995c20cc859422f9f84077c545e5a0580182910aeb9dbba97838915148a82b86948d1cca3c8722 SHA512 a982d0a0baa4af58c2cef7c0c4b2671e3f559ca7f30586eda9fbd05e842efa2bfea0089ddbc729225b848871f6a25f85e86576e1dff519192ba289cd92c6aa8b @@ -84,9 +77,8 @@ DIST quote-1.0.36.crate 28507 BLAKE2B b93495163ed205e33543ed45f084870240d479071d DIST quote-1.0.44.crate 31629 BLAKE2B 6e34e4121b7a37fd7492fc22d652c44ff90b8b3391b5cfa320a606871a43a4494beca15c1d4416c342bf511adb6442afa5513821514c52376175e2f8a98b7293 SHA512 6c1e9b31e0c8bd13cd865e6846dc243d88f2c057adeb8e674117bdcb46947219a6a352a6a50be1132c483f55331e6556275ac514513dbf017825c64e5d96010d DIST r-efi-5.2.0.crate 64764 BLAKE2B ee17fae983b2c39137cb75698062a3bf8edb4bc680b04900797730618b54298e2f1d13ceab6b660f7a1799f6fc4113ca15d4320b1b95fc42913e0930f3aa16f8 SHA512 80f89d467b482297ec2c13cb0dc8e310442495483e25c33bb523f1cb66d6ce01fee4a57b36880a4f51c0e9f20eb3f993a5bc0a13224d52693dbc81b97c630158 DIST radium-0.7.0.crate 10906 BLAKE2B d576e0ea5c5287bcb6740cee3a3838b6ae4dfdef0ef05d34634b96dba5159e48260233db57a767c9e032fa5d9a5798361335cb19f7844f450113ece30ffbc51d SHA512 51e23cf52997b46c0018a94b0259b29d7bf33ddba19f6db406ca57ee5b1417d7e5f27dda3bb487d0099886011a97f238e8b3dd4d6c86e8464c0b471c1a7622a0 -DIST regex-1.11.3.crate 163275 BLAKE2B a46ebf656ced6e349262900eb714b75e70e8dec66745723b200b76f0bf1b72aeb4c8104309d3312b84d946d52b1cccc7ec05bd3d31c918db9b565dbd9b4c8c4e SHA512 8a814d7d75fed7bc271409611e5491c2766c9c3781f8913152c956579e5cd278b26e08b3c1088890e7e70a352da1bc3d3765e5a6f1906d366dad6b5001ad68b2 DIST regex-1.12.2.crate 163843 BLAKE2B 4e36124886e35c2e06ecf3310c32f45bb80fff978a99509abd7d7eb6378f81123819470c227d5c234fd6e3bc7a8e7baa331ee0ed3137f9256c76cb32413ecb7f SHA512 c459657944679350369462c3c7686dcdf412597f75bc13c450a131bfceebfe2cd1e1d7f95f0f55b4aa16bfc1acb5c777f344fcfd6a5927aa76b8a2d7aa954d3c -DIST regex-automata-0.4.11.crate 622880 BLAKE2B 13353ae363d139bd890c3a1f46f5169ee136f4b0ccb119fc297b8937acafb0126f421eb2e3c28ce69a8b5e2f9374a50649c5417c69a23ad2a1933bd4c9ee2f5c SHA512 676dff6e44efe92d8c384573a9047f670337e80f73c49715d61e85fa1d6ac4604933c5588204ca85efd7d14f4f24b0509cbd1da0c4137d8dff965103a7113ec2 +DIST regex-1.12.3.crate 153392 BLAKE2B 30f272fc2cda1e36219dfccf0338edacceb5bfada7ac81dd01429661b01b0fa72f6bb343e753e2388251aa0aadc0b5cf61e07670020c9ab351f418c23653ad47 SHA512 73ea9581c861490ad4c8c767c09f1f39be525f4298f5b19ba7b658dfade4c91f7ffd170214382ef4694855c0a48a4db57c39b75d8fa6a9312b07409170c66000 DIST regex-automata-0.4.13.crate 625250 BLAKE2B e8682eff5df93737430a783cd913265dd45a9692fc4623a956557cd7d6553f34eff731f6f3ec5fed5c0dc6b7f8f31236203ad9f459a998fede053d990d9faea6 SHA512 f76939dc573a88d17b4cf37fedfcdf95202171ca8607374a5c2bcdc515abd1ef9231376175c6cf11cc567eddda34e0c5f90ed1c592f2c5efbd1dee883954a932 DIST regex-syntax-0.8.5.crate 357541 BLAKE2B fc6d125f7a8574c37d81c75cbfd447cbcff736f2d9991b19814ffc1a414ebc5b76e84fb8fd36c983b38e8e391d165cdd9047832b0d9100f0e1ba7085484b7db5 SHA512 549d8d130fea9ec0d5806126f57f31d433f50e9328c5532ad417c44bb5488ec0d20acb0983dbe54dabaa0b453cbea4533cf7baac7144df119e8f78dfe55c5ab8 DIST rustversion-1.0.17.crate 17621 BLAKE2B 1f077ca6fd90333724d1ea9df7f5b178f37f895b71a7b2814e9ba8618bffcd2307f9cb4ac2eea25d461a6686a4b5b51eebb80f1b1ccc773d4da1948c47fe8abe SHA512 0565cddecaedae17e7cd99bc34f54cda242d4c29cd4269f8e3b178ff91d49f3682e7ffe66e436bbb138299736c8e55cc143fefb74c076911fefcc41ba98064f3 @@ -116,6 +108,7 @@ DIST utf16_iter-1.0.5.crate 9736 BLAKE2B edcd9776113d4d2b267a9cbd58cab11c5497ff1 DIST utf8_iter-1.0.4.crate 10437 BLAKE2B 1e7a8b9241ebbb62cb497542b970473780f735010a0af900771a43abceae4e7f362d21d4f79f7c00630e4549400875ea17574b2cbe4f5ea19e8ed428e3b5577d SHA512 a72671995b3eb295581c60dc632e4a25ba257227fb5d58a8bec322428b6d69529bba79a6f02b8e7ee6698b7779d9d6695f5badad73e07c254b00c9d6256c9090 DIST uuid-1.18.1.crate 60468 BLAKE2B 0e70361595e8d0baf8c4c69a09878fd39fee414d404a7b3cb457ad60cd3cd351418a8981090f4c3d507fee42c575eaf6699f494a604da0470573e81b7a56366e SHA512 2a088f752c4dc05291b8563f83ff8efd6534697f55da76baa89d64122ae436a7f0e19fa46a9e615d4e9b013bbc575bbe0f7646c182b37a6c24edcfe24e518400 DIST uuid-1.20.0.crate 60654 BLAKE2B f91ecedf66437f426ff6bb3633fd89f34b5c07898c2c44be02fa6c8217bcbf5dc86848ff882f3881b8f0847ec4dc9b51f4a62c4bf6a0e6577ab3cf9cf58f109f SHA512 16054a7814267ee0032ebc3ff408339d71b361499d7f1a1576ddbe42a605b94ada57578d7969aa9a3a028b38ded6016c2ad368356423154b2f488a38371f19e8 +DIST uuid-1.21.0.crate 62247 BLAKE2B 684b85cdf88f11f2252ec62c0c6d43900b4bd076b47dd90b2d96231ec747713683b59535d0d737f3e81312f278d2c36c6e9666a3c83576d8034e850d37a46fc4 SHA512 af0eccf18ddc91b72e0043ece56e7a4679181d9a85b84d04dd2012f4215d43bbbfcb3114e8b086841aa4512beb6bebad4d43a092cba7f5efdd4771f70317c6e5 DIST version_check-0.9.5.crate 15554 BLAKE2B 131e75cc287518831e142430e2a39b48e4275874f4473780d47a27552294097aa1cddb65c385583e1022478f940b495eb43c24a8b1617b8ac5a24af3340c0d72 SHA512 d11d5a2240ab0c67ea69db56561ce202201edeef9a8e5eda3d9ae7ab7bb5752d8f343fe7f6536d8383de8d55f9024efa84f66a0c21e69563b7a38c4a628014db DIST wasi-0.14.2+wasi-0.2.4.crate 140921 BLAKE2B 6b3ce7cb8ed888ad65053352b02b827bced3b59118d546ba593ffa9de48305bef62419751036e22b0f95c22fe34ea1d7bdf7fee0f6981181026d1eedfacf73d9 SHA512 57e47ba27fb2b66b34f017c85743b99687eb8bcdc1312fb36e30d0c501e670f00dc7d6113730d819364abef5e8ec04d95f0d1150ec2b6049e605fa8bbdaa2cb3 DIST wasm-bindgen-0.2.100.crate 48288 BLAKE2B 8fc4f71c7d6cef15f131a9bdbb50e3eaf9f3894a5b6c1d73876824efb731b46e8c3449947893103f23bc15cad228a1b8bcccd45ada20df53b3f3dde6e419c184 SHA512 2a8ea7ec669efe10f5701dc3b2bf496e33afa70c31dbc65fda5191c9c28ddde54fa38bb168a41b0319a4ff0bb5ccd897ce51ccd7e523e647b3544fb390f8a4e3 diff --git a/dev-python/pydantic/pydantic-2.11.10.ebuild b/dev-python/pydantic/pydantic-2.11.10.ebuild deleted file mode 100644 index bf7e4579dae8..000000000000 --- a/dev-python/pydantic/pydantic-2.11.10.ebuild +++ /dev/null @@ -1,71 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=hatchling -# py3.14: https://github.com/pydantic/pydantic/issues/11613 -PYTHON_COMPAT=( python3_{10..14} ) - -inherit distutils-r1 pypi - -DESCRIPTION="Data parsing and validation using Python type hints" -HOMEPAGE=" - https://github.com/pydantic/pydantic/ - https://pypi.org/project/pydantic/ -" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" - -RDEPEND=" - >=dev-python/annotated-types-0.6.0[${PYTHON_USEDEP}] - ~dev-python/pydantic-core-2.33.2[${PYTHON_USEDEP}] - >=dev-python/typing-extensions-4.12.2[${PYTHON_USEDEP}] - >=dev-python/typing-inspection-0.4.0[${PYTHON_USEDEP}] - dev-python/tzdata[${PYTHON_USEDEP}] -" -BDEPEND=" - >=dev-python/hatch-fancy-pypi-readme-22.5.0[${PYTHON_USEDEP}] - test? ( - $(python_gen_cond_dep ' - dev-python/cloudpickle[${PYTHON_USEDEP}] - ' 'python3*') - dev-python/dirty-equals[${PYTHON_USEDEP}] - >=dev-python/email-validator-2.0.0[${PYTHON_USEDEP}] - >=dev-python/faker-18.13.0[${PYTHON_USEDEP}] - >=dev-python/jsonschema-4.23.0[${PYTHON_USEDEP}] - dev-python/pytz[${PYTHON_USEDEP}] - dev-python/rich[${PYTHON_USEDEP}] - ) -" - -EPYTEST_PLUGINS=( pytest-mock ) -distutils_enable_tests pytest - -src_prepare() { - sed -i -e '/benchmark/d' pyproject.toml || die - distutils-r1_src_prepare -} - -python_test() { - local EPYTEST_DESELECT=( - # -Werror, sigh - tests/test_types_typeddict.py::test_readonly_qualifier_warning - ) - local EPYTEST_IGNORE=( - # require pytest-examples - tests/test_docs.py - # benchmarks - tests/benchmarks - ) - - if ! has_version "dev-python/cloudpickle[${PYTHON_USEDEP}]"; then - EPYTEST_IGNORE+=( - tests/test_pickle.py - ) - fi - - epytest -} diff --git a/dev-python/pydantic/pydantic-2.12.3.ebuild b/dev-python/pydantic/pydantic-2.12.3.ebuild deleted file mode 100644 index 3b1e60563257..000000000000 --- a/dev-python/pydantic/pydantic-2.12.3.ebuild +++ /dev/null @@ -1,231 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=hatchling -# no provenance for pydantic-core: -# https://github.com/pydantic/pydantic-core/issues/1842 -PYPI_VERIFY_REPO=https://github.com/pydantic/pydantic -PYTHON_COMPAT=( python3_{10..14} ) - -PYDANTIC_CORE_PV=2.41.4 -RUST_MIN_VER="1.75.0" -CRATES=" - ahash@0.8.12 - aho-corasick@1.1.3 - autocfg@1.3.0 - base64@0.22.1 - bitflags@2.9.1 - bitvec@1.0.1 - bumpalo@3.19.0 - cc@1.0.101 - cfg-if@1.0.0 - displaydoc@0.2.5 - enum_dispatch@0.3.13 - form_urlencoded@1.2.1 - funty@2.0.0 - getrandom@0.3.3 - heck@0.5.0 - hex@0.4.3 - icu_collections@1.5.0 - icu_locid@1.5.0 - icu_locid_transform@1.5.0 - icu_locid_transform_data@1.5.0 - icu_normalizer@1.5.0 - icu_normalizer_data@1.5.0 - icu_properties@1.5.1 - icu_properties_data@1.5.0 - icu_provider@1.5.0 - icu_provider_macros@1.5.0 - idna@1.1.0 - idna_adapter@1.2.0 - indoc@2.0.5 - itoa@1.0.11 - jiter@0.11.0 - js-sys@0.3.77 - lexical-parse-float@1.0.5 - lexical-parse-integer@1.0.5 - lexical-util@1.0.6 - libc@0.2.155 - litemap@0.7.3 - log@0.4.27 - memchr@2.7.4 - memoffset@0.9.1 - num-bigint@0.4.6 - num-integer@0.1.46 - num-traits@0.2.19 - once_cell@1.21.3 - percent-encoding@2.3.1 - portable-atomic@1.6.0 - proc-macro2@1.0.86 - pyo3-build-config@0.26.0 - pyo3-ffi@0.26.0 - pyo3-macros-backend@0.26.0 - pyo3-macros@0.26.0 - pyo3@0.26.0 - python3-dll-a@0.2.14 - quote@1.0.36 - r-efi@5.2.0 - radium@0.7.0 - regex-automata@0.4.11 - regex-syntax@0.8.5 - regex@1.11.3 - rustversion@1.0.17 - ryu@1.0.18 - serde@1.0.228 - serde_core@1.0.228 - serde_derive@1.0.228 - serde_json@1.0.145 - smallvec@1.15.1 - speedate@0.17.0 - stable_deref_trait@1.2.0 - static_assertions@1.1.0 - strum@0.27.2 - strum_macros@0.27.2 - syn@2.0.82 - synstructure@0.13.1 - tap@1.0.1 - target-lexicon@0.13.2 - tinystr@0.7.6 - unicode-ident@1.0.12 - unindent@0.2.3 - url@2.5.4 - utf16_iter@1.0.5 - utf8_iter@1.0.4 - uuid@1.18.1 - version_check@0.9.5 - wasi@0.14.2+wasi-0.2.4 - wasm-bindgen-backend@0.2.100 - wasm-bindgen-macro-support@0.2.100 - wasm-bindgen-macro@0.2.100 - wasm-bindgen-shared@0.2.100 - wasm-bindgen@0.2.100 - wit-bindgen-rt@0.39.0 - write16@1.0.0 - writeable@0.5.5 - wyz@0.5.1 - yoke-derive@0.7.4 - yoke@0.7.4 - zerocopy-derive@0.8.25 - zerocopy@0.8.25 - zerofrom-derive@0.1.4 - zerofrom@0.1.4 - zerovec-derive@0.10.3 - zerovec@0.10.4 -" - -inherit cargo distutils-r1 pypi - -DESCRIPTION="Data parsing and validation using Python type hints" -HOMEPAGE=" - https://github.com/pydantic/pydantic/ - https://pypi.org/project/pydantic/ -" -# pydantic-core & pydantic have a perfect circular test dep now -SRC_URI+=" - $(pypi_sdist_url pydantic_core "${PYDANTIC_CORE_PV}") - ${CARGO_CRATE_URIS} -" -PYDANTIC_CORE_S=${WORKDIR}/pydantic_core-${PYDANTIC_CORE_PV} - -LICENSE="MIT" -# Dependent crate licenses -LICENSE+=" - Apache-2.0-with-LLVM-exceptions MIT Unicode-3.0 Unicode-DFS-2016 - || ( Apache-2.0 Boost-1.0 ) -" -SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" - -RDEPEND=" - >=dev-python/annotated-types-0.6.0[${PYTHON_USEDEP}] - >=dev-python/typing-extensions-4.14.1[${PYTHON_USEDEP}] - >=dev-python/typing-inspection-0.4.2[${PYTHON_USEDEP}] - dev-python/tzdata[${PYTHON_USEDEP}] - !dev-python/pydantic-core -" -BDEPEND=" - >=dev-python/hatch-fancy-pypi-readme-22.5.0[${PYTHON_USEDEP}] - dev-util/maturin[${PYTHON_USEDEP}] - test? ( - $(python_gen_cond_dep ' - dev-python/cloudpickle[${PYTHON_USEDEP}] - ' 'python3*') - dev-python/dirty-equals[${PYTHON_USEDEP}] - >=dev-python/email-validator-2.0.0[${PYTHON_USEDEP}] - >=dev-python/faker-18.13.0[${PYTHON_USEDEP}] - >=dev-python/jsonschema-4.23.0[${PYTHON_USEDEP}] - dev-python/pytz[${PYTHON_USEDEP}] - dev-python/rich[${PYTHON_USEDEP}] - ) -" -# pydantic-core -BDEPEND+=" - test? ( - >=dev-python/dirty-equals-0.5.0[${PYTHON_USEDEP}] - >=dev-python/inline-snapshot-0.13.3[${PYTHON_USEDEP}] - >=dev-python/typing-inspection-0.4.1[${PYTHON_USEDEP}] - ) -" - -EPYTEST_PLUGINS=( hypothesis pytest-mock ) -distutils_enable_tests pytest - -QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/pydantic_core/_pydantic_core.*.so" - -src_unpack() { - pypi_src_unpack - cargo_src_unpack -} - -src_prepare() { - sed -i -e '/benchmark/d' {.,"${PYDANTIC_CORE_S}"}/pyproject.toml || die - sed -i -e '/^strip/d' "${PYDANTIC_CORE_S}"/Cargo.toml || die - distutils-r1_src_prepare -} - -python_compile() { - distutils-r1_python_compile - - local DISTUTILS_USE_PEP517=maturin - local DISTUTILS_UPSTREAM_PEP517=maturin - cd "${PYDANTIC_CORE_S}" || die - distutils-r1_python_compile - cd - >/dev/null || die -} - -python_test() { - local EPYTEST_DESELECT=( - # == pydantic == - # -Werror, sigh - tests/test_types_typeddict.py::test_readonly_qualifier_warning - - # == pydantic-core == - # TODO: recursion till segfault - tests/serializers/test_functions.py::test_recursive_call - ) - local EPYTEST_IGNORE=( - # require pytest-examples (pydantic) - tests/test_docs.py - # benchmarks (both) - tests/benchmarks - ) - - if ! has_version "dev-python/cloudpickle[${PYTHON_USEDEP}]"; then - EPYTEST_IGNORE+=( - # (pydantic) - tests/test_pickle.py - ) - fi - - cd "${PYDANTIC_CORE_S}" || die - rm -rf pydantic_core || die - # tests link to libpython, so they fail to link on pypy3 - [[ ${EPYTHON} != pypy3* ]] && cargo_src_test - epytest -o xfail_strict=False -o addopts= - cd - 2>/dev/null || die - - epytest -} diff --git a/dev-python/pydantic/pydantic-2.12.4.ebuild b/dev-python/pydantic/pydantic-2.12.4.ebuild deleted file mode 100644 index b2ed3f9671c3..000000000000 --- a/dev-python/pydantic/pydantic-2.12.4.ebuild +++ /dev/null @@ -1,231 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=hatchling -# no provenance for pydantic-core: -# https://github.com/pydantic/pydantic-core/issues/1842 -PYPI_VERIFY_REPO=https://github.com/pydantic/pydantic -PYTHON_COMPAT=( python3_{10..14} ) - -PYDANTIC_CORE_PV=2.41.5 -RUST_MIN_VER="1.75.0" -CRATES=" - ahash@0.8.12 - aho-corasick@1.1.3 - autocfg@1.3.0 - base64@0.22.1 - bitflags@2.9.1 - bitvec@1.0.1 - bumpalo@3.19.0 - cc@1.0.101 - cfg-if@1.0.0 - displaydoc@0.2.5 - enum_dispatch@0.3.13 - form_urlencoded@1.2.1 - funty@2.0.0 - getrandom@0.3.3 - heck@0.5.0 - hex@0.4.3 - icu_collections@1.5.0 - icu_locid@1.5.0 - icu_locid_transform@1.5.0 - icu_locid_transform_data@1.5.0 - icu_normalizer@1.5.0 - icu_normalizer_data@1.5.0 - icu_properties@1.5.1 - icu_properties_data@1.5.0 - icu_provider@1.5.0 - icu_provider_macros@1.5.0 - idna@1.1.0 - idna_adapter@1.2.0 - indoc@2.0.5 - itoa@1.0.11 - jiter@0.11.1 - js-sys@0.3.77 - lexical-parse-float@1.0.5 - lexical-parse-integer@1.0.5 - lexical-util@1.0.6 - libc@0.2.155 - litemap@0.7.3 - log@0.4.27 - memchr@2.7.4 - memoffset@0.9.1 - num-bigint@0.4.6 - num-integer@0.1.46 - num-traits@0.2.19 - once_cell@1.21.3 - percent-encoding@2.3.2 - portable-atomic@1.6.0 - proc-macro2@1.0.86 - pyo3-build-config@0.26.0 - pyo3-ffi@0.26.0 - pyo3-macros-backend@0.26.0 - pyo3-macros@0.26.0 - pyo3@0.26.0 - python3-dll-a@0.2.14 - quote@1.0.36 - r-efi@5.2.0 - radium@0.7.0 - regex-automata@0.4.13 - regex-syntax@0.8.5 - regex@1.12.2 - rustversion@1.0.17 - ryu@1.0.18 - serde@1.0.228 - serde_core@1.0.228 - serde_derive@1.0.228 - serde_json@1.0.145 - smallvec@1.15.1 - speedate@0.17.0 - stable_deref_trait@1.2.0 - static_assertions@1.1.0 - strum@0.27.2 - strum_macros@0.27.2 - syn@2.0.82 - synstructure@0.13.1 - tap@1.0.1 - target-lexicon@0.13.2 - tinystr@0.7.6 - unicode-ident@1.0.12 - unindent@0.2.3 - url@2.5.4 - utf16_iter@1.0.5 - utf8_iter@1.0.4 - uuid@1.18.1 - version_check@0.9.5 - wasi@0.14.2+wasi-0.2.4 - wasm-bindgen-backend@0.2.100 - wasm-bindgen-macro-support@0.2.100 - wasm-bindgen-macro@0.2.100 - wasm-bindgen-shared@0.2.100 - wasm-bindgen@0.2.100 - wit-bindgen-rt@0.39.0 - write16@1.0.0 - writeable@0.5.5 - wyz@0.5.1 - yoke-derive@0.7.4 - yoke@0.7.4 - zerocopy-derive@0.8.25 - zerocopy@0.8.25 - zerofrom-derive@0.1.4 - zerofrom@0.1.4 - zerovec-derive@0.10.3 - zerovec@0.10.4 -" - -inherit cargo distutils-r1 pypi - -DESCRIPTION="Data parsing and validation using Python type hints" -HOMEPAGE=" - https://github.com/pydantic/pydantic/ - https://pypi.org/project/pydantic/ -" -# pydantic-core & pydantic have a perfect circular test dep now -SRC_URI+=" - $(pypi_sdist_url pydantic_core "${PYDANTIC_CORE_PV}") - ${CARGO_CRATE_URIS} -" -PYDANTIC_CORE_S=${WORKDIR}/pydantic_core-${PYDANTIC_CORE_PV} - -LICENSE="MIT" -# Dependent crate licenses -LICENSE+=" - Apache-2.0-with-LLVM-exceptions MIT Unicode-3.0 Unicode-DFS-2016 - || ( Apache-2.0 Boost-1.0 ) -" -SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" - -RDEPEND=" - >=dev-python/annotated-types-0.6.0[${PYTHON_USEDEP}] - >=dev-python/typing-extensions-4.14.1[${PYTHON_USEDEP}] - >=dev-python/typing-inspection-0.4.2[${PYTHON_USEDEP}] - dev-python/tzdata[${PYTHON_USEDEP}] - !dev-python/pydantic-core -" -BDEPEND=" - >=dev-python/hatch-fancy-pypi-readme-22.5.0[${PYTHON_USEDEP}] - dev-util/maturin[${PYTHON_USEDEP}] - test? ( - $(python_gen_cond_dep ' - dev-python/cloudpickle[${PYTHON_USEDEP}] - ' 'python3*') - dev-python/dirty-equals[${PYTHON_USEDEP}] - >=dev-python/email-validator-2.0.0[${PYTHON_USEDEP}] - >=dev-python/faker-18.13.0[${PYTHON_USEDEP}] - >=dev-python/jsonschema-4.23.0[${PYTHON_USEDEP}] - dev-python/pytz[${PYTHON_USEDEP}] - dev-python/rich[${PYTHON_USEDEP}] - ) -" -# pydantic-core -BDEPEND+=" - test? ( - >=dev-python/dirty-equals-0.5.0[${PYTHON_USEDEP}] - >=dev-python/inline-snapshot-0.13.3[${PYTHON_USEDEP}] - >=dev-python/typing-inspection-0.4.1[${PYTHON_USEDEP}] - ) -" - -EPYTEST_PLUGINS=( hypothesis pytest-mock ) -distutils_enable_tests pytest - -QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/pydantic_core/_pydantic_core.*.so" - -src_unpack() { - pypi_src_unpack - cargo_src_unpack -} - -src_prepare() { - sed -i -e '/benchmark/d' {.,"${PYDANTIC_CORE_S}"}/pyproject.toml || die - sed -i -e '/^strip/d' "${PYDANTIC_CORE_S}"/Cargo.toml || die - distutils-r1_src_prepare -} - -python_compile() { - distutils-r1_python_compile - - local DISTUTILS_USE_PEP517=maturin - local DISTUTILS_UPSTREAM_PEP517=maturin - cd "${PYDANTIC_CORE_S}" || die - distutils-r1_python_compile - cd - >/dev/null || die -} - -python_test() { - local EPYTEST_DESELECT=( - # == pydantic == - # -Werror, sigh - tests/test_types_typeddict.py::test_readonly_qualifier_warning - - # == pydantic-core == - # TODO: recursion till segfault - tests/serializers/test_functions.py::test_recursive_call - ) - local EPYTEST_IGNORE=( - # require pytest-examples (pydantic) - tests/test_docs.py - # benchmarks (both) - tests/benchmarks - ) - - if ! has_version "dev-python/cloudpickle[${PYTHON_USEDEP}]"; then - EPYTEST_IGNORE+=( - # (pydantic) - tests/test_pickle.py - ) - fi - - cd "${PYDANTIC_CORE_S}" || die - rm -rf pydantic_core || die - # tests link to libpython, so they fail to link on pypy3 - [[ ${EPYTHON} != pypy3* ]] && cargo_src_test - epytest -o xfail_strict=False -o addopts= - cd - 2>/dev/null || die - - epytest -} diff --git a/dev-python/pydantic/pydantic-2.13.0_beta1.ebuild b/dev-python/pydantic/pydantic-2.13.0_beta3.ebuild index 34047bc8fa2e..b962daccd4dd 100644 --- a/dev-python/pydantic/pydantic-2.13.0_beta1.ebuild +++ b/dev-python/pydantic/pydantic-2.13.0_beta3.ebuild @@ -10,7 +10,7 @@ DISTUTILS_USE_PEP517=hatchling PYPI_VERIFY_REPO=https://github.com/pydantic/pydantic PYTHON_COMPAT=( python3_{10..14} ) -PYDANTIC_CORE_PV=2.42.0 +PYDANTIC_CORE_PV=2.45.0 RUST_MIN_VER="1.88.0" CRATES=" ahash@0.8.12 @@ -74,7 +74,7 @@ CRATES=" radium@0.7.0 regex-automata@0.4.13 regex-syntax@0.8.5 - regex@1.12.2 + regex@1.12.3 rustversion@1.0.17 serde@1.0.228 serde_core@1.0.228 @@ -95,7 +95,7 @@ CRATES=" url@2.5.8 utf16_iter@1.0.5 utf8_iter@1.0.4 - uuid@1.20.0 + uuid@1.21.0 version_check@0.9.5 wasi@0.14.2+wasi-0.2.4 wasm-bindgen-backend@0.2.100 diff --git a/dev-python/pygls/Manifest b/dev-python/pygls/Manifest index b6e4d3f480b1..1f4171e5e9f7 100644 --- a/dev-python/pygls/Manifest +++ b/dev-python/pygls/Manifest @@ -1,2 +1,2 @@ -DIST pygls-2.0.1.gh.tar.gz 382510 BLAKE2B 7205ecdaa5a27aa6c931668fb16d9aed2a5c8ecfe34750c839df20b73ed07ae86398686fb763e8ec2461c5d55dc4548ed5368c1d3fd9ee1558dc4d2ac64d9660 SHA512 381fa5443d4098dec20c1c91469877d4e8e60f37e04f234708d401eed0664c59179ac0bfb347f897c9b9af72bf0bfc81a5bcd3bb2e64c19c2864fa64dabf34f7 DIST pygls-2.1.0.gh.tar.gz 404891 BLAKE2B ad9818993c5ebafd4f6f0293a2e86db53799d92cdad41bf5e85314dfc30f00463999dc48011d5f22c47dc582331cc11ac29f5b6604a0cf2eb06913019c49a39d SHA512 3035381ab1efe44f7c075b656fade4d61e3af8f5944c08296b420740524e2c1111ecc1a3e79b3326e1128973f06c810e6d9b91d2f89c099f344e790139e26299 +DIST pygls-2.1.1.gh.tar.gz 405281 BLAKE2B a7e14cb9dc53fbd1ad4d7938f5a94e573e51bcae96fceac5aabf7ebd997fbe91a45d31744fd098702f9437e79d4eefe6598926deb9da3d2d50421bb6e0bd25c1 SHA512 7d7582cfb5d15b523643a2ba662d3e6b083fd8f9f51b405f74e6491e7bdb6ebf6959b62b689d1368f0934542ccd9d6e7feb29ce28ac6c29f2c254a493e63bb0d diff --git a/dev-python/pygls/pygls-2.0.1.ebuild b/dev-python/pygls/pygls-2.1.1.ebuild index ba8248764408..5c85d6913b0e 100644 --- a/dev-python/pygls/pygls-2.0.1.ebuild +++ b/dev-python/pygls/pygls-2.1.1.ebuild @@ -26,13 +26,19 @@ RDEPEND=" BDEPEND=" test? ( ${RDEPEND} - dev-python/pytest-asyncio[${PYTHON_USEDEP}] dev-python/websockets[${PYTHON_USEDEP}] ) " +EPYTEST_PLUGINS=( pytest-asyncio ) distutils_enable_tests pytest +src_install() { + distutils-r1_src_install + + dodoc LICENSE.txt +} + pkg_postinst() { optfeature "websockets support" dev-python/websockets } diff --git a/dev-python/pynng/Manifest b/dev-python/pynng/Manifest index ad65ff108c41..4a31b26ff5ae 100644 --- a/dev-python/pynng/Manifest +++ b/dev-python/pynng/Manifest @@ -1 +1,2 @@ DIST pynng-0.8.1.tar.gz 6364925 BLAKE2B ae10e9155997474634ca7cf6e1ff01572f877dc8157aea069e11866b29fe92a2ee8343fd1512fad57f25e5c4cbf7297c784ab9fcdc7c262aba889cd65595775d SHA512 b150a83b65169aa67aaf99d963ae43ede29ccf22f1ddc9989a0d999f32dd93412bbf464ad0c3eed7aa645e0f5e2726743d131e48276955dad034e219b23c93c4 +DIST pynng-0.9.0.tar.gz 7211228 BLAKE2B 7b3a867597379b03f287507d8043acae502ca555b162504ed11c49d514e9c13240ab7b5316c7555b6e68879ac8518e96343155f5218913f62f9821c28c524343 SHA512 e3ea42e5910009040d1c9125e8b4ed4d2350d742704b4bb75863cadb6cc0feb58114bb10a6ab9f2f34c47c85d19c5a8c442df539ad051f87c70c5990f213fe48 diff --git a/dev-python/pynng/pynng-0.9.0.ebuild b/dev-python/pynng/pynng-0.9.0.ebuild new file mode 100644 index 000000000000..b5fa41a1abe9 --- /dev/null +++ b/dev-python/pynng/pynng-0.9.0.ebuild @@ -0,0 +1,51 @@ +# 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_{10..14} ) +inherit distutils-r1 pypi + +DESCRIPTION="Ergonomic bindings for nanomsg next generation (nng) in Python" +HOMEPAGE="https://github.com/codypiersall/pynng https://pypi.org/project/pynng" + +LICENSE="MIT" +SLOT=0 +KEYWORDS="~amd64" + +# pynng 0.9.0 bundles nng and mbedtls, building them from source via cmake +RDEPEND=" + dev-python/cffi[${PYTHON_USEDEP}] + dev-python/sniffio[${PYTHON_USEDEP}] +" +BDEPEND=" + dev-python/cffi[${PYTHON_USEDEP}] + dev-python/setuptools[${PYTHON_USEDEP}] + dev-build/cmake + dev-build/ninja + test? ( + dev-python/pytest-asyncio[${PYTHON_USEDEP}] + dev-python/pytest-trio[${PYTHON_USEDEP}] + dev-python/sniffio[${PYTHON_USEDEP}] + dev-python/trio[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +src_prepare() { + # Fix bundled mbedtls build failure with GCC 15: + # -Werror=unterminated-string-initialization on unsigned char arrays + sed -i 's/-Wno-error=array-bounds/-Wno-error=array-bounds -Wno-error=unterminated-string-initialization/' \ + setup.py || die + distutils-r1_src_prepare +} + +python_test() { + # Remove source pynng directory to avoid import conflicts + # Tests must run against the installed C extension module + rm -rf pynng || die + epytest +} diff --git a/dev-python/pytest-cases/pytest-cases-3.9.1-r1.ebuild b/dev-python/pytest-cases/pytest-cases-3.9.1-r1.ebuild index 235e820571a0..1327f027a3cd 100644 --- a/dev-python/pytest-cases/pytest-cases-3.9.1-r1.ebuild +++ b/dev-python/pytest-cases/pytest-cases-3.9.1-r1.ebuild @@ -30,3 +30,8 @@ EPYTEST_PLUGIN_LOAD_VIA_ENV=1 EPYTEST_PLUGINS=( ${PN} pytest-asyncio pytest-harvest pytest-steps pytest-xdist ) distutils_enable_tests pytest + +src_prepare() { + sed "/pkg_resources/d" -i setup.py || die + distutils-r1_src_prepare +} diff --git a/dev-python/sse-starlette/sse-starlette-3.3.2.ebuild b/dev-python/sse-starlette/sse-starlette-3.3.2.ebuild index 7b6a25989672..1154090b431c 100644 --- a/dev-python/sse-starlette/sse-starlette-3.3.2.ebuild +++ b/dev-python/sse-starlette/sse-starlette-3.3.2.ebuild @@ -16,7 +16,7 @@ HOMEPAGE=" LICENSE="BSD" SLOT="0" -KEYWORDS="~amd64" +KEYWORDS="~amd64 ~arm64" RDEPEND=" >=dev-python/starlette-0.49.1[${PYTHON_USEDEP}] diff --git a/dev-python/textual/Manifest b/dev-python/textual/Manifest index 6e28453ebf54..de2b5770e128 100644 --- a/dev-python/textual/Manifest +++ b/dev-python/textual/Manifest @@ -1,2 +1,3 @@ DIST textual-8.1.1.gh.tar.gz 30212024 BLAKE2B 897e3d4714aebaaacfed5a84e298a400c3f13224a74d64e958cb9eda1fd368d3ec00b8b6f350e2d229a68299a9007f893979e86f4b09b4ae2e1c39975e46f26e SHA512 335457e9f9b8e44e73e1d7103f9ffb8dd92adc10be906004066659ac5209069bfdb673f78473c21a251a5d891943d56b26b0544fd7365e5d72d4f3d220c73518 DIST textual-8.2.0.gh.tar.gz 30216630 BLAKE2B 5b68a3c21b93ceac315a38062cf4d3b85d9b36a906fc80684cf6b9645ca7ce02d7216784a8047e502154634375e398ee17918fc4841d29acf88231808c7a152d SHA512 8f4f7f2066fa4baa4dbe84cd0ba73150910423436d1d4cc2536c6bcd8c1f45c826cbc0e567b5497099738b4f35b3790199f4c24e4c2bf17572501661ef3e9488 +DIST textual-8.2.1.gh.tar.gz 30218086 BLAKE2B c5d393abe19a851b354352baf56131436fe25b464df2884397c6cc08b556cbb0bd717171af140d3fc3f84d84161274cba04f6e122e32bf03b932c62433765417 SHA512 0bb1738980f2fe8bd1c9e6541428c0dd847158950b7dc6f00ae930a911448eef0ab4b9be087f4f15d4270afcaa1e1905e2749cac694e40857c78e43effdfdb1c diff --git a/dev-python/textual/textual-8.2.1.ebuild b/dev-python/textual/textual-8.2.1.ebuild new file mode 100644 index 000000000000..416ea220e6aa --- /dev/null +++ b/dev-python/textual/textual-8.2.1.ebuild @@ -0,0 +1,107 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=poetry +PYTHON_COMPAT=( python3_{10..14} ) + +inherit distutils-r1 optfeature + +DESCRIPTION="Modern Text User Interface framework" +HOMEPAGE=" + https://textual.textualize.io/ + https://github.com/Textualize/textual + https://pypi.org/project/textual/ +" +SRC_URI="https://github.com/Textualize/textual/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm64" + +RDEPEND=" + >=dev-python/markdown-it-py-2.1.0[${PYTHON_USEDEP}] + >=dev-python/platformdirs-3.6.0[${PYTHON_USEDEP}] + <dev-python/platformdirs-5[${PYTHON_USEDEP}] + >=dev-python/rich-14.2.0[${PYTHON_USEDEP}] + >=dev-python/typing-extensions-4.4.0[${PYTHON_USEDEP}] + <dev-python/typing-extensions-5[${PYTHON_USEDEP}] +" + +declare -A SYNTAX_LANGS=( + ["bash"]="Bash" + ["c"]="C" + # TODO Missing keyword for ~arm64 in ::gentoo + #["cmake"]="CMake" + ["cpp"]="C++" + ["html"]="HTML" + ["javascript"]="JavaScript" + ["json"]="JSON" + ["lua"]="Lua" + # TODO No Python bindings in ::gentoo + #["markdown"]="Markdown" + ["python"]="Python" + # TODO Missing keyword for ~arm64 in ::gentoo + #["ruby"]="Ruby" + ["rust"]="Rust" + # TODO Many other (common) languages are neither in ::gentoo nor ::guru +) + +BDEPEND=" + test? ( + dev-python/httpx[${PYTHON_USEDEP}] + =dev-python/textual-dev-1.8*[${PYTHON_USEDEP}] + $(printf " dev-libs/tree-sitter-%s[python,${PYTHON_USEDEP}]" "${!SYNTAX_LANGS[@]}") + ) +" + +DOCS+=( {CHANGELOG,README}.md ) + +EPYTEST_PLUGINS=( + syrupy + pytest-{asyncio,textual-snapshot} +) +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +EPYTEST_DESELECT=( + # Require unavailable tree-sitter-*[python] grammar packages (v8.1.1) + "tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[markdown]" + "tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[toml]" + "tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[yaml]" + "tests/text_area/test_languages.py::test_setting_builtin_language_via_constructor" # markdown + "tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[css]" + "tests/text_area/test_languages.py::test_setting_builtin_language_via_attribute" # markdown + "tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[go]" + "tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[regex]" + "tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[sql]" + "tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[java]" + "tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[xml]" + + # These tests do not render correctly per visual inspection of snapshot_report.html (v8.1.1) + # TODO Investigate/ask upstream + "tests/snapshot_tests/test_snapshots.py::test_richlog_width" + "tests/snapshot_tests/test_snapshots.py::test_richlog_min_width" + "tests/snapshot_tests/test_snapshots.py::test_richlog_deferred_render_expand" + "tests/snapshot_tests/test_snapshots.py::test_welcome" + "tests/snapshot_tests/test_snapshots.py::test_text_area_wrapping_and_folding" + + # Likely missed in this PR: (v8.1.1) + # https://github.com/Textualize/textual/pull/6410#issuecomment-4135017177 + "tests/test_arrange.py::test_arrange_dock_left" +) + +python_test() { + # Tests use @pytest.mark.xdist_group + epytest --dist loadgroup +} + +pkg_postinst() { + optfeature_header "Install additional packages for syntax highlighting:" + + local lang + for lang in "${!SYNTAX_LANGS[@]}"; do + optfeature "${SYNTAX_LANGS[${lang}]}" "dev-libs/tree-sitter-${lang}[python]" + done +} |
