From b1e1e45ccf9046389419a754151ee4ef914cb3c3 Mon Sep 17 00:00:00 2001 From: "Liguros - Gitlab CI/CD [develop]" Date: Wed, 3 Dec 2025 07:17:04 +0000 Subject: Adding metadata --- dev-python/ansible-compat/Manifest | 3 +- .../ansible-compat/ansible-compat-25.12.0.ebuild | 67 +++++++ .../ansible-compat/ansible-compat-25.8.1.ebuild | 59 ------ dev-python/aws-sam-translator/Manifest | 1 + .../aws-sam-translator-1.105.0.ebuild | 62 ++++++ dev-python/boto3/Manifest | 1 + dev-python/boto3/boto3-1.42.1.ebuild | 53 ++++++ dev-python/botocore/Manifest | 1 + dev-python/botocore/botocore-1.42.1.ebuild | 67 +++++++ dev-python/django/Manifest | 6 + dev-python/django/django-4.2.27.ebuild | 106 +++++++++++ dev-python/django/django-5.1.15.ebuild | 100 ++++++++++ dev-python/django/django-5.2.9.ebuild | 102 ++++++++++ dev-python/numpydoc/Manifest | 1 + dev-python/numpydoc/numpydoc-1.10.0.ebuild | 49 +++++ dev-python/psycopg/Manifest | 1 + dev-python/psycopg/psycopg-3.3.1.ebuild | 123 ++++++++++++ dev-python/pydyf/Manifest | 2 + dev-python/pydyf/pydyf-0.12.1.ebuild | 30 +++ dev-python/pymongo/Manifest | 5 +- .../pymongo/files/pymongo-4.15.2-backports.patch | 212 --------------------- dev-python/pymongo/pymongo-4.15.0.ebuild | 201 ------------------- dev-python/pymongo/pymongo-4.15.1.ebuild | 201 ------------------- dev-python/pymongo/pymongo-4.15.2-r1.ebuild | 207 -------------------- dev-python/pymongo/pymongo-4.15.2.ebuild | 201 ------------------- dev-python/pymongo/pymongo-4.15.3.ebuild | 201 ------------------- dev-python/pymongo/pymongo-4.15.5.ebuild | 201 +++++++++++++++++++ dev-python/pytest-httpx/Manifest | 1 + dev-python/pytest-httpx/pytest-httpx-0.36.0.ebuild | 39 ++++ dev-python/python-tests/Manifest | 3 + .../python-tests/python-tests-0.3.14.1.ebuild | 73 +++++++ dev-python/python-tests/python-tests-3.14.1.ebuild | 72 +++++++ dev-python/pyzotero/Manifest | 4 +- dev-python/pyzotero/pyzotero-1.7.3.ebuild | 49 ----- dev-python/pyzotero/pyzotero-1.7.6.ebuild | 49 +++++ dev-python/sabctools/Manifest | 1 + dev-python/sabctools/sabctools-9.0.0.ebuild | 40 ++++ dev-python/sphinx-gallery/Manifest | 1 + .../sphinx-gallery/sphinx-gallery-0.20.0.ebuild | 52 +++++ dev-python/sqlglot/Manifest | 2 +- dev-python/sqlglot/sqlglot-27.28.1.ebuild | 93 --------- dev-python/sqlglot/sqlglot-28.1.0.ebuild | 93 +++++++++ dev-python/sybil/Manifest | 2 +- dev-python/sybil/sybil-9.1.0.ebuild | 42 ---- dev-python/sybil/sybil-9.2.0.ebuild | 38 ---- dev-python/sybil/sybil-9.3.0.ebuild | 38 ++++ dev-python/urwid/Manifest | 2 +- dev-python/urwid/urwid-3.0.2.ebuild | 40 ---- dev-python/urwid/urwid-3.0.4.ebuild | 40 ++++ dev-python/uv-build/Manifest | 1 + dev-python/uv-build/uv-build-0.9.15.ebuild | 99 ++++++++++ dev-python/uv/Manifest | 2 + dev-python/uv/uv-0.9.15.ebuild | 167 ++++++++++++++++ dev-python/weasyprint/Manifest | 2 + dev-python/weasyprint/weasyprint-67.0.ebuild | 45 +++++ 55 files changed, 1799 insertions(+), 1554 deletions(-) create mode 100644 dev-python/ansible-compat/ansible-compat-25.12.0.ebuild delete mode 100644 dev-python/ansible-compat/ansible-compat-25.8.1.ebuild create mode 100644 dev-python/aws-sam-translator/aws-sam-translator-1.105.0.ebuild create mode 100644 dev-python/boto3/boto3-1.42.1.ebuild create mode 100644 dev-python/botocore/botocore-1.42.1.ebuild create mode 100644 dev-python/django/django-4.2.27.ebuild create mode 100644 dev-python/django/django-5.1.15.ebuild create mode 100644 dev-python/django/django-5.2.9.ebuild create mode 100644 dev-python/numpydoc/numpydoc-1.10.0.ebuild create mode 100644 dev-python/psycopg/psycopg-3.3.1.ebuild create mode 100644 dev-python/pydyf/pydyf-0.12.1.ebuild delete mode 100644 dev-python/pymongo/files/pymongo-4.15.2-backports.patch delete mode 100644 dev-python/pymongo/pymongo-4.15.0.ebuild delete mode 100644 dev-python/pymongo/pymongo-4.15.1.ebuild delete mode 100644 dev-python/pymongo/pymongo-4.15.2-r1.ebuild delete mode 100644 dev-python/pymongo/pymongo-4.15.2.ebuild delete mode 100644 dev-python/pymongo/pymongo-4.15.3.ebuild create mode 100644 dev-python/pymongo/pymongo-4.15.5.ebuild create mode 100644 dev-python/pytest-httpx/pytest-httpx-0.36.0.ebuild create mode 100644 dev-python/python-tests/python-tests-0.3.14.1.ebuild create mode 100644 dev-python/python-tests/python-tests-3.14.1.ebuild delete mode 100644 dev-python/pyzotero/pyzotero-1.7.3.ebuild create mode 100644 dev-python/pyzotero/pyzotero-1.7.6.ebuild create mode 100644 dev-python/sabctools/sabctools-9.0.0.ebuild create mode 100644 dev-python/sphinx-gallery/sphinx-gallery-0.20.0.ebuild delete mode 100644 dev-python/sqlglot/sqlglot-27.28.1.ebuild create mode 100644 dev-python/sqlglot/sqlglot-28.1.0.ebuild delete mode 100644 dev-python/sybil/sybil-9.1.0.ebuild delete mode 100644 dev-python/sybil/sybil-9.2.0.ebuild create mode 100644 dev-python/sybil/sybil-9.3.0.ebuild delete mode 100644 dev-python/urwid/urwid-3.0.2.ebuild create mode 100644 dev-python/urwid/urwid-3.0.4.ebuild create mode 100644 dev-python/uv-build/uv-build-0.9.15.ebuild create mode 100644 dev-python/uv/uv-0.9.15.ebuild create mode 100644 dev-python/weasyprint/weasyprint-67.0.ebuild (limited to 'dev-python') diff --git a/dev-python/ansible-compat/Manifest b/dev-python/ansible-compat/Manifest index 889a29485ac2..1f8e61eb8806 100644 --- a/dev-python/ansible-compat/Manifest +++ b/dev-python/ansible-compat/Manifest @@ -1,4 +1,5 @@ DIST ansible_compat-25.11.0.tar.gz 193024 BLAKE2B d4e802582911f04429823e4f5e66c0fa40a6ebd9c6a8cbaff6a56728ef772bb0ed558584d9b6ffcafa78e7d06070f6574b66cfc75aacd975d7fe9834deb04a5d SHA512 e8af788d69ef9aa532c0b2f5f6401df1c61a4bd1d90e269c8d7d1418048e5f6d78bbc116d704fb875dada7e2389d25b57385dae90af0cbaceeedd37c7d3d9665 DIST ansible_compat-25.11.0.tar.gz.provenance 9485 BLAKE2B be19bf3dced5710bfd76a09c59ab05029c676a79c09325840f5ce3af98c120578177320ede09f45025279d10ca190d3d3e74d4d18f8633903957be416e30384c SHA512 db70483ecf37cdd29287e7cf5d6a37455537ce40ea0bcca1ad30b48d8eabdd9f384197862b50017a35a829028c1d1c56229e30ebf3b6d0d265d386303c8760db -DIST ansible_compat-25.8.1.tar.gz 90142 BLAKE2B 39c98e2e4f7fe9da00543b1ba2fce24e303c25aa269c1a4f86ed96a7e29ebb9f31fa40516fba78017e940ddcea5f6fba95bf0b4eccebc77fd0c13d282bf6df97 SHA512 b0bc8ef6f614e7c41becba6090ebd4a5c09bb9ac957a56652eb59d18eb2d03398e149af21071883a7b236e0ee724b354322a043f8d45c23b4db6d1864f871130 +DIST ansible_compat-25.12.0.tar.gz 193698 BLAKE2B f3eb02d8257a2a3136182d1338359cab0d7c0f2e3a7f77ee26d52e3e3af8105445a3937e836821b4eedaa203f25230625ff0ff779e8c4e78eb8d85a498794be3 SHA512 a2ecf54a3c3324f5be8c10475aca1b528ee186ac402f841be6d7a8ae379019ae3d3486fcec7e433744f9d2053471ae219c0977c93073dc67029cad3f44868229 +DIST ansible_compat-25.12.0.tar.gz.provenance 9250 BLAKE2B ebe215a01b27030246fcda815e286d827b8bc148e4c6095a76f233628fbd77512b1f9cbdc88f65998c2431a915b7ccc78b35862e2d23147f6af73d416ef450de SHA512 f6097b1f729c67e5129366a8bd2c79386234622a91108ffe1d5f71a7b7b215e726893ba6237e121e43f9b90970c5b0ad61094fcb8a13eca88c76e95a2eb95a06 DIST ansible_compat-25.8.2.tar.gz 190581 BLAKE2B a20ebf6b595a8933d02b88c1f9f8efae8e7ffac3378bed3c50fd8fbf74a73663c5406fde7f05f0a923ba7ce75d920f3bf58e347cb7650cec77cb974ed805e45c SHA512 78beb54d3ad65e02e7009834b5690b118c6743274fa5fd31941e63a7f99d3b7ac2fcbce0fa80d45212a6bcf4365628e731cb139a6af14360c0552e9a759d6336 diff --git a/dev-python/ansible-compat/ansible-compat-25.12.0.ebuild b/dev-python/ansible-compat/ansible-compat-25.12.0.ebuild new file mode 100644 index 000000000000..ec21a6d2eb43 --- /dev/null +++ b/dev-python/ansible-compat/ansible-compat-25.12.0.ebuild @@ -0,0 +1,67 @@ +# Copyright 1999-2025 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,plus} ) +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/ansible-compat/ansible-compat-25.8.1.ebuild b/dev-python/ansible-compat/ansible-compat-25.8.1.ebuild deleted file mode 100644 index 93644af8c775..000000000000 --- a/dev-python/ansible-compat/ansible-compat-25.8.1.ebuild +++ /dev/null @@ -1,59 +0,0 @@ -# Copyright 1999-2025 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 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[${PYTHON_USEDEP}] - dev-python/pyyaml[${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,plus} ) -distutils_enable_tests pytest - -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/aws-sam-translator/Manifest b/dev-python/aws-sam-translator/Manifest index d6c82644fc47..6b7a66f4631e 100644 --- a/dev-python/aws-sam-translator/Manifest +++ b/dev-python/aws-sam-translator/Manifest @@ -2,3 +2,4 @@ DIST serverless-application-model-1.101.0.gh.tar.gz 6002271 BLAKE2B 726fd5a91a8a DIST serverless-application-model-1.102.0.gh.tar.gz 6025703 BLAKE2B 1ef7603694263999375a8291d39461abf796433a3eab5178b4a5ee10d8d811b244ffc3e4a4036a47d888220415e84c382afb11b28d180fcc2b6216bda290beb4 SHA512 354c307f45efedb3e3fc7b7df881c147a619c9ab90cf5e34106b60a517def82d1cda669dcdefac39e0be2ec8d47ea40868108c6a97c88cc27baeb9d2e1c5bc2c DIST serverless-application-model-1.103.0.gh.tar.gz 6035870 BLAKE2B c6822f8e16639f2a28bafc964420f79617732662b03b9a3af712c043ba143ad6e5b3291732a1a6827a7823a71ae40fd48869574eaa775e77830c40bda59fc6d7 SHA512 fa468c3878a7c74558c75befa50c13aac93bae9af6150a5bb44e8ec3ea3c29a5d51c8d0dc403630f7aa239652b74f6a491fb2a342d58b08356629cf4e4f3afa2 DIST serverless-application-model-1.104.0.gh.tar.gz 6073035 BLAKE2B 765e94ebf8c0d3da9e660a5fda573075f07961e7bd8f89b9302b76d83f7071386ebca1cccf0d2baea6dbe4f8e00e3231fca2cb3343e3a09b17d6e67c3423baf0 SHA512 30d51690bdef7d39e631f13a7ba8cffa425fd9e8f9cc718a1bdd331ab1cea91c5f48648bb42b290b1f7fa4b9434840da90bc372cbdfc12d36ca2f0cf3afb3a68 +DIST serverless-application-model-1.105.0.gh.tar.gz 6074585 BLAKE2B c63f374f3e9a4b159316864c10e3888e38c8908e0364d3b6d6e08c5c05189fc3a6a9ef6ce348f98269b929134df84704b4c9ffbb374f870926ec4abb1bcd08c3 SHA512 36d9a56c618b30c6ab90c29fb090997439d01bd240c51c03d9acd70e87dc34d2a5659767d4062e8bf5b8fab5bf99d32fb7cb934090f128c7fe850883987f72d4 diff --git a/dev-python/aws-sam-translator/aws-sam-translator-1.105.0.ebuild b/dev-python/aws-sam-translator/aws-sam-translator-1.105.0.ebuild new file mode 100644 index 000000000000..5093c4c1db44 --- /dev/null +++ b/dev-python/aws-sam-translator/aws-sam-translator-1.105.0.ebuild @@ -0,0 +1,62 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +# py3.14: https://github.com/aws/serverless-application-model/issues/3831 +PYTHON_COMPAT=( python3_{10..14} ) + +inherit distutils-r1 + +MY_P=serverless-application-model-${PV} +DESCRIPTION="A library that transform SAM templates into AWS CloudFormation templates" +HOMEPAGE=" + https://github.com/aws/serverless-application-model/ + https://pypi.org/project/aws-sam-translator/ +" +SRC_URI=" + https://github.com/aws/serverless-application-model/archive/v${PV}.tar.gz + -> ${MY_P}.gh.tar.gz +" +S=${WORKDIR}/${MY_P} + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux" + +RDEPEND=" + =dev-python/boto3-1.34.0[${PYTHON_USEDEP}] + >=dev-python/jsonschema-3.2[${PYTHON_USEDEP}] + =dev-python/pydantic-1.8[${PYTHON_USEDEP}] + =dev-python/typing-extensions-4.4[${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/mock[${PYTHON_USEDEP}] + dev-python/parameterized[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=() +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +python_prepare_all() { + # so much noise... + sed -i -e '/log_cli/d' pytest.ini || die + + # deps are installed by ebuild, don't try to reinstall them via pip + truncate --size=0 requirements/*.txt || die + + distutils-r1_python_prepare_all +} + +python_test() { + local -x AWS_DEFAULT_REGION=us-east-1 + epytest -o addopts= -o filterwarnings= +} diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest index 7dd8d974c7d9..944a50da528e 100644 --- a/dev-python/boto3/Manifest +++ b/dev-python/boto3/Manifest @@ -4,3 +4,4 @@ DIST boto3-1.40.74.gh.tar.gz 1032058 BLAKE2B c24653bac3279f688d240390f53a9070d51 DIST boto3-1.41.2.gh.tar.gz 1047105 BLAKE2B ac62862f9430604d6056e9ee9c0c6747bc8abd000957365e569d20c96f0672c771c628ce0bd1d644aee6149b22792f455b43f58fce987d5ba00acbfbf56bd7f2 SHA512 98209ea6ded6c1018b98106c89b53d2115fad3de26524f7b9efa0c91f1e4435c9ea2d954c21d8666cb427777ade60bb12a36544d9844dc1d79f925c3206a578f DIST boto3-1.41.5.gh.tar.gz 1047828 BLAKE2B c4ff68f8851f56539998186d6dab74d015e5752aa3e1f29226ff67b7457618f48d04637a6532e73016203970be82ca3fe9f295dbf6fb68c6a126058bfe452999 SHA512 c41c80a42513ae9aa09789aed69798b8946042d9cbf9de67c8541cce254cacc06ee965d53d61b0bd773762e4bf49e533d6c9ca11c5bce390544be317b60a601b DIST boto3-1.42.0.gh.tar.gz 1051896 BLAKE2B 5bc423d834f4baba83b1e332b67fbfbe76b7dc1dc61e12750ebf3d25bde987d76815039980d3b30b5a0c8904c9fd4045900e03a7d593f99f5ec446e83e491279 SHA512 cd204476d704732077f12fa4be1ffb6ed6c535f5997ffdaae188d9b632604d613b60f0644768ccc4454255afefd2fe762f3590a1bbeada1ab53a2eee98421cb1 +DIST boto3-1.42.1.gh.tar.gz 1054688 BLAKE2B 9722ba8fb97df81abfbcc26f5ab5d5c7819a3cd1f265af9938820968ba79232ed453c594db3bc661ac6bed50058638903700e8c8e16613b59c88bc97807ad966 SHA512 961cae734e2e8db1e0511d19f24f5b509b14fbcc9d32327fa39928b21d502516b4dec8a2723c342bdc77649df292086f2b8281b30d54396f9849445b61fff8b7 diff --git a/dev-python/boto3/boto3-1.42.1.ebuild b/dev-python/boto3/boto3-1.42.1.ebuild new file mode 100644 index 000000000000..6f9b5b5d57b1 --- /dev/null +++ b/dev-python/boto3/boto3-1.42.1.ebuild @@ -0,0 +1,53 @@ +# Copyright 1999-2025 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 ~amd64-linux ~x86-linux" + +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 6e7f5cac4ba1..63f9e8f6bffb 100644 --- a/dev-python/botocore/Manifest +++ b/dev-python/botocore/Manifest @@ -4,3 +4,4 @@ DIST botocore-1.40.74.gh.tar.gz 15284643 BLAKE2B 585f072a5ec39c12e3f74a272b0c5ed DIST botocore-1.41.2.gh.tar.gz 15504253 BLAKE2B 3c3967e3876ec2529ed0fbd192594f963ebc75f27f196188456a3f4999187b92072224da7d0d91d3dba44c109a74eb35229062e61f161d30f5fad69fcd6097ae SHA512 47cbae2cd1c729fbe6ef55ef5ad6102f636dfb62dd4b4011ad8d163dfdd038d94201b49e48847fed4130e5523b0279b921eedcb94ee4611f42e6aa102bb3705f DIST botocore-1.41.5.gh.tar.gz 15519699 BLAKE2B 05c9cd0768013d6e3af76ad9daf8b957bb8d6e3f17b3bfb85d4dc73de36ab71ff5da14306d5147375ec1d5a3080f5b25c056e2796c7918f21aba1fafe32deff8 SHA512 8f95ce652ef670129966aca8265022c79544bcb0927504ee0567272412437dc8789df10c7f77696434864ec541b6b17dc39aabb1ec16ee690a22617fe8d7da03 DIST botocore-1.41.6.gh.tar.gz 15619213 BLAKE2B 132f1020643f335793393f34545d7f13c0e69394ccaa4ad047694e681832ea340ee76925879e3bcff45145fda387f6b2a81ca9e69d424fe39b8754e04aee541d SHA512 15ecad28923a7ab80c749856ce9e7b02b14eaf9f2346786f0943b3a450bbe94eacd3b2f8275b8b2e6612d6c1faf53aa8788fb790722471e49c6fdf7c3cc2dd81 +DIST botocore-1.42.1.gh.tar.gz 15695042 BLAKE2B f0587a7e8112d0fd80cb40fb0da6cf88f3c0ec567a803a062f295624ca3541e0adb4cfc6d039e4bfdbcbf0c4ed07ae0117ce1ce691c6e95914bc4767d57324d4 SHA512 627ae08b65839f48fd24b567951e45363bb5d0c1ff566701a5396f6c6b0e5c58ce66143eb5bab64656d80c0751aad22af04a5d1f048d234a854325139c408846 diff --git a/dev-python/botocore/botocore-1.42.1.ebuild b/dev-python/botocore/botocore-1.42.1.ebuild new file mode 100644 index 000000000000..ee8074e67dce --- /dev/null +++ b/dev-python/botocore/botocore-1.42.1.ebuild @@ -0,0 +1,67 @@ +# Copyright 1999-2025 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 ~amd64-linux ~x86-linux" + +RDEPEND=" + =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/django/Manifest b/dev-python/django/Manifest index a72dc6da4103..bf40e3074e7f 100644 --- a/dev-python/django/Manifest +++ b/dev-python/django/Manifest @@ -1,11 +1,17 @@ DIST Django-4.2.26.checksum.txt 2550 BLAKE2B 39602268316a1391e5f97baecf412c4c27c355521a82c99a9d017825f3edbb963e5f8693142889f77bd7352bb954a8cb0eee30701daaa03b128c28c6cb520c4a SHA512 668536de6e8293ea72480e86fbdb42852364e8b81b8d170e2035026ca9f73697f1eb52c6c612a11bb2b2894a9a0de27d7f422fdf255b28152021014704070962 +DIST Django-4.2.27.checksum.txt 2493 BLAKE2B da4638b538a8ce20c4ee211b374299945a4c8b66854dd233986841073a7b8002b25f8280a9fd1916a2f44bfdcff3adc2760de6b0fd53bc0e4b481664d307ccb0 SHA512 ed435a7967679d8f7a4717fe71452522d2a8b18bd59586ccbe3550a84244d2b0098f631459a43519e55ae5b5615c0d10da69c9fda577395c8335cb624e0f8227 DIST Django-5.1.14.checksum.txt 2550 BLAKE2B 73aa763ab3cb61b8de40cd58ea4ef9ca8c570233ab325b3407fa1f08cf6cb485a48a350314e09e01d943ec1091d4bdcd220c9ed4bafccb52c883c539d605aec9 SHA512 9d7f3e1bc290d931ff6285c6553049f687212a60b360fbb4054e76e59b08d51a07de1407cb963fbf551915279233995f049b3196cd3788870f853ec886c17beb +DIST Django-5.1.15.checksum.txt 2493 BLAKE2B ad415c28c9676c39de6fd93976706a7228fbb3a257c6af1151d10ab33cc90b096caebc7150a6ff1f71f2469fcb9053076a29a22d336dd2dee9ed1efac2df6762 SHA512 04504dc22603ff97b0dc5bb1885d22368223d7a047a1a30db225b95376578dd7375b31d4b43036e4ae55e31156cc9d7c01d71f3d46e72bba72e74883a44de36a DIST Django-5.2.8.checksum.txt 2540 BLAKE2B 6ce5b10c1125ac0f8429dd2050d252e4c3a32c00cc71b727cdf48b80add05031cc017bc0976a6e3bd9ee69ac1c1b8e5eb50c793ff48dc2d611a8396e2a0564ee SHA512 b17e87987f0c9d772d4265e10cbfd51db6ef31dc43f25364762df1dd0da1acf9ca5aa0f300110f511d8eb1e8e87bf48ecc19a0710e7a01b19884459f644982a7 +DIST Django-5.2.9.checksum.txt 2483 BLAKE2B b46ad16f6096fb52ad83518d0976fe3cad4b7b21f984be6aa8fd20255306635ccfed7f018ff420052d94ca97d2444dedc4d9a4deacf95fe92718f979aaa7157d SHA512 e72fcd67ebf3542d1f17aed46cc6dcf5efa3e1f39ad6914c50521170a944f08b94ec36caccc254178be8bcf306b76654285d37c02eb4d8c6f0728df53054a3b2 DIST Django-6.0b1.checksum.txt 2540 BLAKE2B 6f045bd743c38698c7c0bbf914aca26d8eca883db60f530456b0261570fa73690755965416bf71c8f78bd6a388c5fd63de255c09a7b882eacc270f805c1c1543 SHA512 b300ba29fa55c523255fb3688079c823873e44c2b3bcd4ce3ef91e67dfac83798b56ac0588ea7487841a2d0b69af038ee563e62ebf570feaf405e0971cb453b5 DIST Django-6.0rc1.checksum.txt 2551 BLAKE2B 0f7837fd757ba1b5845fdace35277516a9372b563623348245150ba875bc1cda4689941e1f188b6e6574a3173f7c3f66fc4cfdefeacc9737ec74ae23308f443a SHA512 92aa1687f370b53b5c69d18e7c9db26ed65d708b51e043e5f9fd32a60d68d6071e5835cedb4a44b774fcc6dbd0a993860a30a596191cf51c91e54388e4d7e023 DIST django-4.2.17-pypy3.patch.xz 5900 BLAKE2B 2a564fc31d8e2f3def5a532d3bca1a4426a496c659192f602d659e0c1a5f5882978baedb384cc3b67fda8c836513ce43aece80db1528c8e8b6e9ca420f7572ce SHA512 9c9d935aff6db7230a26931b5e7f5f94f3b5ff4fc8f7d4201178571de9d9c7929a0e1e558cc2d9b54b8ee91f85819a5680d24fad6251620515a4a020e3b2d66d DIST django-4.2.26.tar.gz 10433052 BLAKE2B 5c6cd5cafcca047970b5bd9d4d6f6dedb0fdc51ff27421b409d3f08ec87422e4c33542c299389f315e2390b38498da4a0b8b934f24ececb0f3f9de729fc3975c SHA512 49fc2d3796719b201567bcd1d68d4a018a62ffbd5aef3c609cbeb4e415f6508e383908949dba45fc3c2c9ca6d53f88c80598cf72ea29bf7b9fbd7d237dcc5077 +DIST django-4.2.27.tar.gz 10432781 BLAKE2B 1a5864841d86881f245f4e8a11db290aa76753b713f3584aa1a2334131191c472839c2c5ae98bbb2c9e5ed85d99e558f08844a6d38fa87c716092efcd5fcc0b8 SHA512 8bb5e63ef13066aa8ee051ba2b7914f3c848f9c7406f2f53dd1fbaedf1ad752d342ea670485d81969d2b60a42dea2c6064065431e1415e408a7da026785e8ff1 DIST django-5.1.14.tar.gz 10720998 BLAKE2B 83bc02c1375a75b83678a9fe86362077e96b34c6fd2c451072c7be3b343c6fe2754deb107ffa34d949ab5ff0f406acfc967ef3cd52cd5147255d09a4ac5828c3 SHA512 29e2d4746df664a129a940ba9ba35d5b5e5f7104477e3055b02628f66c761def7d601b0f917c7e16988795c36c749d7c093e53da8ad90983a9d7f478adb41781 +DIST django-5.1.15.tar.gz 10719662 BLAKE2B fd8a78384b04cf1e0fa7553ebd7db77078450227c6f66e63f5f251efc2c7a7f71a48d1235c179e2f316efe5666681622a1608a129c0aab40c1d2ca4bf0f3879a SHA512 050a3ded3566e378cb273cb95fa1720632f1920aa86993c998758236df5041628ada7a5fb6bd3056720a5becbb45e358c70a2ca7c230b28606a1fd954771c070 DIST django-5.2.8.tar.gz 10849032 BLAKE2B c24bed7d303ef60d468b898e8b5f09eea21ff98ddc1ee5f44f6c796c47b645cddcd877d0a64817e7c993023c8ed6cc8211ac72470ad4c500c8e54918e4a75a44 SHA512 e360b69d45841c5c6068e96560621155cba5450901c0f598da226bc6fb9ea89c5a909f5568e4b492aa852006e7b00ab3528aa8f5ff6d97baa6227e7dcf8c068c +DIST django-5.2.9.tar.gz 10848762 BLAKE2B 45dc5c96153e57622a1ec52d93db358c3ca6100a82fd95d26f451d44a2792e78948c89c4e90fb0db8c48cbce8e6aad8d0dedc54fa13bf74fa623e6f85251a98a SHA512 669bb4e21b2073fd7a59971efa6d662c5bbfc05284867b562f93b6e56039b06f843726a1a964a4763458c211e238b21d1f91e70cda394d78031a2324bbf35d7f DIST django-6.0b1.tar.gz 11172994 BLAKE2B 03f52be511d9e3509402ff2ec8a5f582a0c199503d41f395e3e34ad37f3aadcadd7f5c4c134bc2685186a833342c0a15e734468316d4241ae3ffc8e8b886b5e8 SHA512 5007fee32b7af26afa4f9aaa506d2cb552a38ba5ac221775c12511f4fed815fae1901352ff9c35bfed48b766ee01f323a0773dcdf5e2924793612ae565c300a0 DIST django-6.0rc1.tar.gz 10921876 BLAKE2B 35d3010cfd9aed79b8df2e50d34d731c056c86a31f0148a4b5c737f268f44353d5a5fe672ee2b5b352e25a90a08adc0f98de9c2ff820d55658aaab517b2fd9e4 SHA512 ebee0f89719992f28e49ee15ec4543fe5f65caefcf624a96146e3bb2ec327cc4646d3228d127384d97a72e0e197d636741fdb753d0291fc9fd888e496e742ea5 diff --git a/dev-python/django/django-4.2.27.ebuild b/dev-python/django/django-4.2.27.ebuild new file mode 100644 index 000000000000..1fe26958d1ed --- /dev/null +++ b/dev-python/django/django-4.2.27.ebuild @@ -0,0 +1,106 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{10..14} ) +PYTHON_REQ_USE='sqlite?,threads(+)' + +inherit bash-completion-r1 distutils-r1 multiprocessing optfeature verify-sig + +DESCRIPTION="High-level Python web framework" +HOMEPAGE=" + https://www.djangoproject.com/ + https://github.com/django/django/ + https://pypi.org/project/Django/ +" +SRC_URI=" + https://media.djangoproject.com/releases/$(ver_cut 1-2)/${P}.tar.gz + https://dev.gentoo.org/~mgorny/dist/python/django-4.2.17-pypy3.patch.xz + verify-sig? ( https://media.djangoproject.com/pgp/${P^}.checksum.txt ) +" + +LICENSE="BSD" +# admin fonts: Roboto (media-fonts/roboto) +LICENSE+=" Apache-2.0" +# admin icons, jquery, xregexp.js +LICENSE+=" MIT" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos" +IUSE="doc sqlite test" +RESTRICT="!test? ( test )" + +RDEPEND=" + =dev-python/asgiref-3.6.0[${PYTHON_USEDEP}] + >=dev-python/sqlparse-0.3.1[${PYTHON_USEDEP}] + sys-libs/timezone-data +" +BDEPEND=" + test? ( + $(python_gen_impl_dep sqlite) + ${RDEPEND} + dev-python/docutils[${PYTHON_USEDEP}] + dev-python/jinja2[${PYTHON_USEDEP}] + dev-python/numpy[${PYTHON_USEDEP}] + dev-python/pillow[webp,${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] + dev-python/selenium[${PYTHON_USEDEP}] + dev-python/tblib[${PYTHON_USEDEP}] + sys-devel/gettext + ) + verify-sig? ( >=sec-keys/openpgp-keys-django-20241002 ) +" + +PATCHES=( + "${FILESDIR}"/django-4.0-bashcomp.patch + "${WORKDIR}"/django-4.2.17-pypy3.patch + # https://code.djangoproject.com/ticket/35661 + "${FILESDIR}"/django-5.1-more-pypy3.patch + # https://code.djangoproject.com/ticket/34900 + "${FILESDIR}"/django-4.2.21-py313.patch + # upstream hardcodes fixed versions, we backported the fixes + "${FILESDIR}"/django-4.2.24-htmlparser.patch +) + +distutils_enable_sphinx docs --no-autodoc + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/django.asc + +src_unpack() { + if use verify-sig; then + cd "${DISTDIR}" || die + verify-sig_verify_signed_checksums \ + "${P^}.checksum.txt" sha256 "${P}.tar.gz" + cd "${WORKDIR}" || die + fi + + default +} + +python_test() { + # Tests have non-standard assumptions about PYTHONPATH, + # and don't work with ${BUILD_DIR}/lib. + PYTHONPATH=. "${EPYTHON}" tests/runtests.py --settings=test_sqlite \ + -v2 --parallel="${EPYTEST_JOBS:-$(makeopts_jobs)}" || + die "Tests fail with ${EPYTHON}" +} + +python_install_all() { + newbashcomp extras/django_bash_completion ${PN}-admin + bashcomp_alias ${PN}-admin django-admin.py + + distutils-r1_python_install_all +} + +pkg_postinst() { + optfeature_header "Additional Backend support can be enabled via:" + optfeature "MySQL backend support" dev-python/mysqlclient + optfeature "PostgreSQL backend support" dev-python/psycopg:0 + optfeature_header + optfeature "GEO Django" "sci-libs/gdal[geos]" + optfeature "Memcached support" dev-python/pylibmc dev-python/python-memcached + optfeature "ImageField Support" dev-python/pillow + optfeature "Password encryption" dev-python/bcrypt +} diff --git a/dev-python/django/django-5.1.15.ebuild b/dev-python/django/django-5.1.15.ebuild new file mode 100644 index 000000000000..032f4b6465a2 --- /dev/null +++ b/dev-python/django/django-5.1.15.ebuild @@ -0,0 +1,100 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{10..14} ) +PYTHON_REQ_USE='sqlite?,threads(+)' + +inherit bash-completion-r1 distutils-r1 multiprocessing optfeature verify-sig + +DESCRIPTION="High-level Python web framework" +HOMEPAGE=" + https://www.djangoproject.com/ + https://github.com/django/django/ + https://pypi.org/project/Django/ +" +SRC_URI=" + https://media.djangoproject.com/releases/$(ver_cut 1-2)/${P}.tar.gz + verify-sig? ( https://media.djangoproject.com/pgp/${P^}.checksum.txt ) +" + +LICENSE="BSD" +# admin fonts: Roboto (media-fonts/roboto) +LICENSE+=" Apache-2.0" +# admin icons, jquery, xregexp.js +LICENSE+=" MIT" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos" +IUSE="doc sqlite test" +RESTRICT="!test? ( test )" + +RDEPEND=" + =dev-python/asgiref-3.8.1[${PYTHON_USEDEP}] + >=dev-python/sqlparse-0.3.1[${PYTHON_USEDEP}] + sys-libs/timezone-data +" +BDEPEND=" + test? ( + $(python_gen_impl_dep sqlite) + ${RDEPEND} + >=dev-python/docutils-0.19[${PYTHON_USEDEP}] + >=dev-python/jinja2-2.11.0[${PYTHON_USEDEP}] + dev-python/numpy[${PYTHON_USEDEP}] + dev-python/pillow[webp,${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] + >=dev-python/selenium-4.8.0[${PYTHON_USEDEP}] + >=dev-python/tblib-1.5.0[${PYTHON_USEDEP}] + sys-devel/gettext + ) + verify-sig? ( >=sec-keys/openpgp-keys-django-20241002 ) +" + +PATCHES=( + "${FILESDIR}"/django-4.0-bashcomp.patch + # upstream hardcodes fixed versions, we backported the fixes + "${FILESDIR}"/django-5.2.6-htmlparser.patch +) + +distutils_enable_sphinx docs --no-autodoc + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/django.asc + +src_unpack() { + if use verify-sig; then + cd "${DISTDIR}" || die + verify-sig_verify_signed_checksums \ + "${P^}.checksum.txt" sha256 "${P}.tar.gz" + cd "${WORKDIR}" || die + fi + + default +} + +python_test() { + # Tests have non-standard assumptions about PYTHONPATH, + # and don't work with ${BUILD_DIR}/lib. + PYTHONPATH=. "${EPYTHON}" tests/runtests.py --settings=test_sqlite \ + -v2 --parallel="${EPYTEST_JOBS:-$(makeopts_jobs)}" || + die "Tests fail with ${EPYTHON}" +} + +python_install_all() { + newbashcomp extras/django_bash_completion ${PN}-admin + bashcomp_alias ${PN}-admin django-admin.py + + distutils-r1_python_install_all +} + +pkg_postinst() { + optfeature_header "Additional Backend support can be enabled via:" + optfeature "MySQL backend support" dev-python/mysqlclient + optfeature "PostgreSQL backend support" dev-python/psycopg:0 + optfeature_header + optfeature "GEO Django" "sci-libs/gdal[geos]" + optfeature "Memcached support" dev-python/pylibmc dev-python/python-memcached + optfeature "ImageField Support" dev-python/pillow + optfeature "Password encryption" dev-python/bcrypt +} diff --git a/dev-python/django/django-5.2.9.ebuild b/dev-python/django/django-5.2.9.ebuild new file mode 100644 index 000000000000..5ba0d191f4b2 --- /dev/null +++ b/dev-python/django/django-5.2.9.ebuild @@ -0,0 +1,102 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{10..14} ) +PYTHON_REQ_USE='sqlite?,threads(+)' + +inherit bash-completion-r1 distutils-r1 multiprocessing optfeature verify-sig + +DESCRIPTION="High-level Python web framework" +HOMEPAGE=" + https://www.djangoproject.com/ + https://github.com/django/django/ + https://pypi.org/project/Django/ +" +SRC_URI=" + https://media.djangoproject.com/releases/$(ver_cut 1-2)/${P}.tar.gz + verify-sig? ( https://media.djangoproject.com/pgp/${P^}.checksum.txt ) +" + +LICENSE="BSD" +# admin fonts: Roboto (media-fonts/roboto) +LICENSE+=" Apache-2.0" +# admin icons, jquery, xregexp.js +LICENSE+=" MIT" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos" +IUSE="doc sqlite test" +RESTRICT="!test? ( test )" + +RDEPEND=" + =dev-python/asgiref-3.8.1[${PYTHON_USEDEP}] + >=dev-python/sqlparse-0.3.1[${PYTHON_USEDEP}] + sys-libs/timezone-data +" +BDEPEND=" + test? ( + $(python_gen_impl_dep sqlite) + ${RDEPEND} + >=dev-python/docutils-0.19[${PYTHON_USEDEP}] + >=dev-python/jinja2-2.11.0[${PYTHON_USEDEP}] + dev-python/numpy[${PYTHON_USEDEP}] + dev-python/pillow[webp,${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] + >=dev-python/selenium-4.8.0[${PYTHON_USEDEP}] + >=dev-python/tblib-1.5.0[${PYTHON_USEDEP}] + sys-devel/gettext + ) + verify-sig? ( >=sec-keys/openpgp-keys-django-20241002 ) +" + +PATCHES=( + "${FILESDIR}"/django-4.0-bashcomp.patch + # upstream hardcodes fixed versions, we backported the fixes + "${FILESDIR}"/django-5.2.6-htmlparser.patch + # d55979334dcefdb11626220000bec97ade09df07 + "${FILESDIR}"/django-5.2.7-py314.patch +) + +distutils_enable_sphinx docs --no-autodoc + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/django.asc + +src_unpack() { + if use verify-sig; then + cd "${DISTDIR}" || die + verify-sig_verify_signed_checksums \ + "${P^}.checksum.txt" sha256 "${P}.tar.gz" + cd "${WORKDIR}" || die + fi + + default +} + +python_test() { + # Tests have non-standard assumptions about PYTHONPATH, + # and don't work with ${BUILD_DIR}/lib. + PYTHONPATH=. "${EPYTHON}" tests/runtests.py --settings=test_sqlite \ + -v2 --parallel="${EPYTEST_JOBS:-$(makeopts_jobs)}" || + die "Tests fail with ${EPYTHON}" +} + +python_install_all() { + newbashcomp extras/django_bash_completion ${PN}-admin + bashcomp_alias ${PN}-admin django-admin.py + + distutils-r1_python_install_all +} + +pkg_postinst() { + optfeature_header "Additional Backend support can be enabled via:" + optfeature "MySQL backend support" dev-python/mysqlclient + optfeature "PostgreSQL backend support" dev-python/psycopg:0 + optfeature_header + optfeature "GEO Django" "sci-libs/gdal[geos]" + optfeature "Memcached support" dev-python/pylibmc dev-python/python-memcached + optfeature "ImageField Support" dev-python/pillow + optfeature "Password encryption" dev-python/bcrypt +} diff --git a/dev-python/numpydoc/Manifest b/dev-python/numpydoc/Manifest index b38581c8596c..05582ed4e732 100644 --- a/dev-python/numpydoc/Manifest +++ b/dev-python/numpydoc/Manifest @@ -1 +1,2 @@ +DIST numpydoc-1.10.0.gh.tar.gz 94037 BLAKE2B 356004e4e30634048f9e4adb2b560fde574feac973c59d9becf6bd4bbd4d502c79ca6eaadb21322d13db0882a596e88e89f87d32565a003253b88bc6439c3446 SHA512 bd8becb71fe45f7a0e11bbd3f804c9855b1192ff22acbc0291380c462c493facd2efd6d59e560111ae56132925502d37abc90643db217358f3a8c1138ce7c693 DIST numpydoc-1.9.0.gh.tar.gz 91390 BLAKE2B a864a4ebddc7ddab11a4ab6ea949b96a6c2447f6e726867ed0f49aba09a29c51cb130d5b565feeaaa3fb3de8b4e24748fa604e77ff3def7ba0f17d601d8563ff SHA512 7ae73a5bbce11e674fe8ca16e8ddce7914498f97dc8ebe85c26ae0cf240299596c20a6915e3a547a394e0e3f9ae6e9ac0694a2de7baa34918df98f523a8bfdf0 diff --git a/dev-python/numpydoc/numpydoc-1.10.0.ebuild b/dev-python/numpydoc/numpydoc-1.10.0.ebuild new file mode 100644 index 000000000000..13f8214d3aac --- /dev/null +++ b/dev-python/numpydoc/numpydoc-1.10.0.ebuild @@ -0,0 +1,49 @@ +# Copyright 1999-2025 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 + +MY_P=${P/_} +DESCRIPTION="Sphinx extension to support docstrings in Numpy format" +HOMEPAGE=" + https://numpydoc.readthedocs.io/en/latest/ + https://github.com/numpy/numpydoc/ + https://pypi.org/project/numpydoc/ +" +SRC_URI=" + https://github.com/numpy/numpydoc/archive/v${PV/_}.tar.gz + -> ${MY_P}.gh.tar.gz +" +S=${WORKDIR}/${MY_P} + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos" + +RDEPEND=" + >=dev-python/sphinx-6[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + >=dev-python/matplotlib-3.2.1[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=() +distutils_enable_tests pytest + +python_test() { + local EPYTEST_DESELECT=( + # these require Internet (intersphinx) + numpydoc/tests/test_full.py::test_MyClass + numpydoc/tests/test_full.py::test_my_function + # TODO + numpydoc/tests/test_validate.py::test_extract_ignore_validation_comments + ) + epytest -o addopts= --pyargs numpydoc +} diff --git a/dev-python/psycopg/Manifest b/dev-python/psycopg/Manifest index 2b204ffa557a..09721d36820c 100644 --- a/dev-python/psycopg/Manifest +++ b/dev-python/psycopg/Manifest @@ -4,5 +4,6 @@ DIST psycopg-3.2.12.gh.tar.gz 582058 BLAKE2B be6732c9d8c0395e8875c0fcd679628b35b DIST psycopg-3.2.13.gh.tar.gz 585567 BLAKE2B 244c9b51ae88dfafb235c65cec69b556ab624d6185680813548afa704916cabbf12129ba574079a98ee59f3621cf86d5a36aa2f61681b2819dc853043a9966c3 SHA512 db657b2fcf25a7dddcb30db154de97be164e48c9f88d9b7a4407f8e8e4f12d02efd0fb1ff2c3e6d0576d4ec06b8e1442c0dcc1734c88ca3171043060fafef68b DIST psycopg-3.2.9.gh.tar.gz 565735 BLAKE2B 5b9b16e5e310214bdbf12198a7b8d9d86ed7b7e947a33c7333fe79bca946b76f09c60ea25960d3cf3f99423598a65ce33b53bd6dc10a9c68a930a46068b54fd6 SHA512 3e455852dd19c9639a8ee18773486295ea76f9a16146997be9dd4f3f6350257440e0d8fff9494acb79e95f04e74c0c14ec7968694fe329abeb74edcfb297d4dd DIST psycopg-3.3.0.gh.tar.gz 607828 BLAKE2B 494ce84ffaaecafccb353697198077d7bb60f9ed17171bb3946f5501c8e67d1e240fa08f228bdc9f61988c9c6487930df49112be7f658d1b8e3146c8aa95f729 SHA512 48a184e2629d7317c9a6b80addf5405feac4ba0f477c12c5ee9bc826bc132c8874020b62c28df9ba92e2655edf15daa2a619c9961cbe71dd2ad7d5b9580c6389 +DIST psycopg-3.3.1.gh.tar.gz 607864 BLAKE2B 6cc1ead0c0fc612dd15ba24f067c80b4b6efff73fa3cfe193d617b34f1e2d7f3aa4e793f264703d1ded48da376599e3ee7e045f87420abe024aeca27c80ba19d SHA512 abd7c49e1607a0262434f4f506af71a0c4aea30093ed1f63b5919a5d7bc81e2c82aa933f345c3bbe2b15e92a300246bb3378d0cca72aec189b4a26818d35d4ff DIST psycopg2-2.9.10.tar.gz 385672 BLAKE2B 4a3ad64f406c427b785ffeb85f6520aa67ed04de2d1749eb22d8275146b71ba451f7c04c9ead401d6f7a273781492cd6a5a36beba68b36b1e5203ee75f7df503 SHA512 d0916f6a645b5e87f89f2463dc22fad78340a85fbff320d099bf429a42557f40d3a4eebdc670768469aef1e9fcee60123767bfe49e1186e8574f95bfd6f46900 DIST psycopg2-2.9.11.tar.gz 379598 BLAKE2B 78608a2b4a9b1db9ba9873ce01b84f898489de8ff6db5522ecc2fa68606b0ef8cdab7f137c86cf840509c9161b329a2efc1e1aadc494b565226099e8651372ab SHA512 44f7b03d958dc62822be8a8c38d738c4016c3a1f860c824158b78ba0a23f04ca63377171b22a14e38b76df868458ede25f29e4643197912adb2f1a1db8c0d5c0 diff --git a/dev-python/psycopg/psycopg-3.3.1.ebuild b/dev-python/psycopg/psycopg-3.3.1.ebuild new file mode 100644 index 000000000000..a140998eddd6 --- /dev/null +++ b/dev-python/psycopg/psycopg-3.3.1.ebuild @@ -0,0 +1,123 @@ +# Copyright 1999-2025 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 + +DESCRIPTION="PostgreSQL database adapter for Python" +HOMEPAGE=" + https://www.psycopg.org/psycopg3/ + https://github.com/psycopg/psycopg/ + https://pypi.org/project/psycopg/ +" +SRC_URI=" + https://github.com/psycopg/psycopg/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="LGPL-3" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" +IUSE="+native-extensions" + +DEPEND=" + native-extensions? ( + >=dev-db/postgresql-8.1:= + ) + !native-extensions? ( + >=dev-db/postgresql-8.1:* + ) +" +RDEPEND=" + ${DEPEND} + $(python_gen_cond_dep ' + >=dev-python/typing-extensions-4.4[${PYTHON_USEDEP}] + ' 3.11 3.12) +" +BDEPEND=" + native-extensions? ( + dev-python/cython[${PYTHON_USEDEP}] + ) + test? ( + >=dev-db/postgresql-8.1[server] + >=dev-python/dnspython-2.1[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=( anyio ) +distutils_enable_tests pytest + +python_compile() { + # Python code + ctypes backend + cd psycopg || die + distutils-r1_python_compile + + # optional C backend + if use native-extensions && [[ ${EPYTHON} != pypy3* ]]; then + local DISTUTILS_USE_PEP517=standalone + cd ../psycopg_c || die + distutils-r1_python_compile + fi + cd .. || die +} + +src_test() { + rm -r psycopg{,_c} || die + + initdb -D "${T}"/pgsql || die + # TODO: random port + pg_ctl -w -D "${T}"/pgsql start \ + -o "-h '' -k '${T}'" || die + createdb -h "${T}" test || die + + local -x PSYCOPG_TEST_DSN="host=${T} dbname=test" + distutils-r1_src_test + + pg_ctl -w -D "${T}"/pgsql stop || die +} + +python_test() { + local EPYTEST_DESELECT=( + # tests for the psycopg_pool package + tests/pool + # some broken mypy magic + tests/test_module.py::test_version + tests/test_module.py::test_version_c + tests/test_typing.py + tests/crdb/test_typing.py + # TODO, relying on undefined ordering in Python? + tests/test_dns_srv.py::test_srv + # requires pproxy? + tests/test_waiting.py::test_remote_closed + tests/test_waiting.py::test_wait_remote_closed + tests/test_waiting_async.py::test_remote_closed + tests/test_waiting_async.py::test_wait_remote_closed + ) + + case ${ARCH} in + arm|x86) + EPYTEST_DESELECT+=( + # TODO + tests/types/test_numpy.py::test_classes_identities + ) + ;; + esac + + local impls=( python ) + if use native-extensions && [[ ${EPYTHON} != pypy3* ]]; then + impls+=( c ) + fi + + local -x PSYCOPG_IMPL + for PSYCOPG_IMPL in "${impls[@]}"; do + einfo "Testing with ${PSYCOPG_IMPL} implementation ..." + # leak and timing tests are fragile whereas slow tests are slow + epytest -k "not leak" \ + -m "not timing and not slow and not flakey" + done +} diff --git a/dev-python/pydyf/Manifest b/dev-python/pydyf/Manifest index 989183dbdac5..6f31e316fc4e 100644 --- a/dev-python/pydyf/Manifest +++ b/dev-python/pydyf/Manifest @@ -1 +1,3 @@ DIST pydyf-0.11.0.tar.gz 17769 BLAKE2B 5fa6d597592104a505267a29ad99cf0c06e84e165a407438563982d45f3d77d9c2a0c45ffda2c16fe6f8656ca406f3bff8ad7dc19f011132334130fcb0c5bc1d SHA512 f02021d1d6bb59557a5b1c1a7f71551b1efe0f8019b2d2e28a84fb126b0d4b701e884971376b8a7b654a51f1831b3fab319a0212e9cb444a392304fc244133d1 +DIST pydyf-0.12.1.tar.gz 17716 BLAKE2B fb87f69be503f2bcc92a98315212a6ebd238e541cee0cc47bca68faefb9e417a8574498f94e0dc514c0d2ced12e318af9a40e2d4876d534bc6f32ed63f751f6d SHA512 c241096c8e1674d80c62be40b02d7c28dfb59cb8e82e6029c6b246a65d2863be236fb1a45f3369adc6e055143a891e9aa170b9ea0dd06ac3483c92a2b86bb984 +DIST pydyf-0.12.1.tar.gz.provenance 9574 BLAKE2B ec9ba4e745079c2db636ecadd99b03ef8799aec79bec946d1ab5f14dcc69910752f5cb46f39117343d7c909ba7ac06710a2d00ea65be945e744db13bbf090f86 SHA512 11b700c1447ac3b92ac7a61738c789543c338459d82a6beef4b8c0043e8ece57b6fd77f7796ff55fde8cc3b296dc9c692b304afd9d1fe45f51325b1ef321bb12 diff --git a/dev-python/pydyf/pydyf-0.12.1.ebuild b/dev-python/pydyf/pydyf-0.12.1.ebuild new file mode 100644 index 000000000000..7b89ebf74e94 --- /dev/null +++ b/dev-python/pydyf/pydyf-0.12.1.ebuild @@ -0,0 +1,30 @@ +# Copyright 2021-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=flit +PYPI_VERIFY_REPO=https://github.com/CourtBouillon/pydyf +PYTHON_COMPAT=( python3_{10..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="A low-level PDF generator" +HOMEPAGE=" + https://pypi.org/project/pydyf/ + https://github.com/CourtBouillon/pydyf/ +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +BDEPEND=" + test? ( + app-text/ghostscript-gpl + dev-python/pillow[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=() +distutils_enable_tests pytest diff --git a/dev-python/pymongo/Manifest b/dev-python/pymongo/Manifest index f17539612368..eff8293fe126 100644 --- a/dev-python/pymongo/Manifest +++ b/dev-python/pymongo/Manifest @@ -1,8 +1,5 @@ DIST mongo-python-driver-4.13.1.gh.tar.gz 2225917 BLAKE2B 2c02e608f54c68abebb69cd61f16c79c8388301e6ebe77a73959ba3dbe086c878b3afd1523f6943ddfca228e1115cbaade49c29c2e5bb620feab9214dcbfba11 SHA512 8baf5548d5772fa62fef2a4ac2fa7dc83bcf7fda178410e9bf675679ea77976f72548a0794ced6856ea538d02403a3c522a66cbf2e37f506b4546489a689ce92 DIST mongo-python-driver-4.13.2.gh.tar.gz 2227437 BLAKE2B 3aa6d0feedc6a33eb4e9299d85eeab2a9638bf713cfadf9f4018f6bd668758d3afd5b9b4b71dec037fb3f99e89cc34e299e1d9b4521c8ace9da9ce50ae95142b SHA512 845cf92e702a9970f2ef1b5085fffcca96021e0f2fc5133e24b2860482dafabe7770d9421922659d0c6008aac1d5a70834ee4f1728a648fd83e6d33bc33568b0 DIST mongo-python-driver-4.14.1.gh.tar.gz 2271379 BLAKE2B 5a1ce13c5275657ee3d64fc0450a20e9c6c3bbfd91bfde6e6e3e8f143b95ea63d18b5cf2b8ba3b707f642eea900894a56889d6bf1d7d9f11f6cfa556a9b7b10b SHA512 087c0450ee1d261cdcb8558d75b4749395058773a33849d94824e2fca0157d0eb4c3f5545a4ddfc0b1bc645a52988f515a90be978f4f88c6a3db4dffa2f9ff9e -DIST mongo-python-driver-4.15.0.gh.tar.gz 2535131 BLAKE2B 6d8915d0fc2f2aff41a085d11d64d761cbf6d8edf7636200fefd1e8e8060b14f6f3cdc2e437b0328f586bd575ad1ea8b212e415279162e47c590de95508752c8 SHA512 a1c3674f4abf09ee1e97fb0a5acfa00c7be111a75457ca50d777c949bb09e4e6f0b11bc718c8d416e72710107812efbeb4302f46b679a73514348a8cfcc69f1a -DIST mongo-python-driver-4.15.1.gh.tar.gz 2536890 BLAKE2B 6edab82aae4a01e13e7ac81149176c083bac83c274a382d3cd2f2e7e26775ab60d83866b3b183329467275294d1244cc0c784b29aa5b94e0c5ed4850a0dcdd98 SHA512 807ad85313f8ff56e60cb95d6fe35c9f897a57ba413740321a015736d6a61d48f7ec704705843e444628d5844525e64b217a898b502e7d36545421c47542de78 -DIST mongo-python-driver-4.15.2.gh.tar.gz 2536862 BLAKE2B 91ba6ce4b15711e8d503b0ec3d6a9267bb812ba539bfc340774d8cfb6446bbc7e3cc0db47ba697bcc264da753625143a55b76607be871606fa739295e148da04 SHA512 e69815b11eb16f39e66494469e2b0c598ab4d0726a746ff0c488547c4c4c41c6feaccc973f936682b868a0eccbc0e76855e92ca2f95e5823c11432619bd2e9aa -DIST mongo-python-driver-4.15.3.gh.tar.gz 2536990 BLAKE2B 4df18671a3e366fad3fc8ee2dcdbb23c8496fbf4e8bee8d1f81cffb05884f4bb0a38491cc2dc141a4bd4e7a51e182c3fb215cafbf57a3543e59a7c3b1f33a572 SHA512 5d0c58797268535e097eee30e89dabfbdf0c5dc82ef9ab527d62eeea66c64fed514c19c81607147fb773d498516d4198c64f5ba403b083aef6d94af5bc800b3a DIST mongo-python-driver-4.15.4.gh.tar.gz 2537291 BLAKE2B 3c269b75156714f8f36cc46ad1c58b11b027ac7fa9ac352240362224e8eeec54cddeeead4446e1e869b4de55a8c5f250b3000f8a64328020f9c4109aaff5f333 SHA512 ee91f55b8d8203aac5be6cf573143778a0250384fb2dd751ccceb8fdaf32923ce55165ee4ab5b9d0aecefd4230a59dbbc0c7c4a890672445115aaf15a5a2c926 +DIST mongo-python-driver-4.15.5.gh.tar.gz 2537732 BLAKE2B db699b91c89d6252c265abbc9d65f9b4733258f8a407ff98d3d24aa67989bf66c4879c8b44c0b59cddcd6da05c5fbf3d43fa222a8b3e1a63d27824513f6146d5 SHA512 bc627cf7d2fbbfc64f27c84ff620bf4c2d6d3abba72db0ba25a2158d4a020785a9539c4e3f3b383e75cba4d7150e7d84ec08faf94dfb109d68debbf190cae6e6 diff --git a/dev-python/pymongo/files/pymongo-4.15.2-backports.patch b/dev-python/pymongo/files/pymongo-4.15.2-backports.patch deleted file mode 100644 index 0bc1a4c49256..000000000000 --- a/dev-python/pymongo/files/pymongo-4.15.2-backports.patch +++ /dev/null @@ -1,212 +0,0 @@ -diff --git a/bson/__init__.py b/bson/__init__.py -index b655e30c2c..6b2ba293a6 100644 ---- a/bson/__init__.py -+++ b/bson/__init__.py -@@ -1009,7 +1009,7 @@ def _dict_to_bson( - try: - elements.append(_element_to_bson(key, value, check_keys, opts)) - except InvalidDocument as err: -- raise InvalidDocument(f"Invalid document {doc} | {err}") from err -+ raise InvalidDocument(f"Invalid document: {err}", doc) from err - except AttributeError: - raise TypeError(f"encoder expected a mapping type but got: {doc!r}") from None - -diff --git a/bson/_cbsonmodule.c b/bson/_cbsonmodule.c -index be91e41734..bee7198567 100644 ---- a/bson/_cbsonmodule.c -+++ b/bson/_cbsonmodule.c -@@ -1645,11 +1645,11 @@ static int write_raw_doc(buffer_t buffer, PyObject* raw, PyObject* _raw_str) { - } - - --/* Update Invalid Document error message to include doc. -+/* Update Invalid Document error to include doc as a property. - */ - void handle_invalid_doc_error(PyObject* dict) { - PyObject *etype = NULL, *evalue = NULL, *etrace = NULL; -- PyObject *msg = NULL, *dict_str = NULL, *new_msg = NULL; -+ PyObject *msg = NULL, *new_msg = NULL, *new_evalue = NULL; - PyErr_Fetch(&etype, &evalue, &etrace); - PyObject *InvalidDocument = _error("InvalidDocument"); - if (InvalidDocument == NULL) { -@@ -1659,26 +1659,22 @@ void handle_invalid_doc_error(PyObject* dict) { - if (evalue && PyErr_GivenExceptionMatches(etype, InvalidDocument)) { - PyObject *msg = PyObject_Str(evalue); - if (msg) { -- // Prepend doc to the existing message -- PyObject *dict_str = PyObject_Str(dict); -- if (dict_str == NULL) { -- goto cleanup; -- } -- const char * dict_str_utf8 = PyUnicode_AsUTF8(dict_str); -- if (dict_str_utf8 == NULL) { -- goto cleanup; -- } - const char * msg_utf8 = PyUnicode_AsUTF8(msg); - if (msg_utf8 == NULL) { - goto cleanup; - } -- PyObject *new_msg = PyUnicode_FromFormat("Invalid document %s | %s", dict_str_utf8, msg_utf8); -+ PyObject *new_msg = PyUnicode_FromFormat("Invalid document: %s", msg_utf8); -+ if (new_msg == NULL) { -+ goto cleanup; -+ } -+ // Add doc to the error instance as a property. -+ PyObject *new_evalue = PyObject_CallFunctionObjArgs(InvalidDocument, new_msg, dict, NULL); - Py_DECREF(evalue); - Py_DECREF(etype); - etype = InvalidDocument; - InvalidDocument = NULL; -- if (new_msg) { -- evalue = new_msg; -+ if (new_evalue) { -+ evalue = new_evalue; - } else { - evalue = msg; - } -@@ -1689,7 +1685,7 @@ void handle_invalid_doc_error(PyObject* dict) { - PyErr_Restore(etype, evalue, etrace); - Py_XDECREF(msg); - Py_XDECREF(InvalidDocument); -- Py_XDECREF(dict_str); -+ Py_XDECREF(new_evalue); - Py_XDECREF(new_msg); - } - -diff --git a/bson/errors.py b/bson/errors.py -index a3699e704c..ffc117f7ac 100644 ---- a/bson/errors.py -+++ b/bson/errors.py -@@ -15,6 +15,8 @@ - """Exceptions raised by the BSON package.""" - from __future__ import annotations - -+from typing import Any, Optional -+ - - class BSONError(Exception): - """Base class for all BSON exceptions.""" -@@ -31,6 +33,17 @@ class InvalidStringData(BSONError): - class InvalidDocument(BSONError): - """Raised when trying to create a BSON object from an invalid document.""" - -+ def __init__(self, message: str, document: Optional[Any] = None) -> None: -+ super().__init__(message) -+ self._document = document -+ -+ @property -+ def document(self) -> Any: -+ """The invalid document that caused the error. -+ -+ ..versionadded:: 4.16""" -+ return self._document -+ - - class InvalidId(BSONError): - """Raised when trying to create an ObjectId from invalid data.""" -diff --git a/doc/changelog.rst b/doc/changelog.rst -index 082c22fafc..7270043d41 100644 ---- a/doc/changelog.rst -+++ b/doc/changelog.rst -@@ -1,6 +1,15 @@ - Changelog - ========= - -+Changes in Version 4.16.0 (XXXX/XX/XX) -+-------------------------------------- -+ -+PyMongo 4.16 brings a number of changes including: -+ -+- Removed invalid documents from :class:`bson.errors.InvalidDocument` error messages as -+ doing so may leak sensitive user data. -+ Instead, invalid documents are stored in :attr:`bson.errors.InvalidDocument.document`. -+ - Changes in Version 4.15.1 (2025/09/16) - -------------------------------------- - -diff --git a/test/test_bson.py b/test/test_bson.py -index e4cf85c46c..f792db1e89 100644 ---- a/test/test_bson.py -+++ b/test/test_bson.py -@@ -1163,7 +1163,7 @@ def __repr__(self): - ): - encode({"t": Wrapper(1)}) - -- def test_doc_in_invalid_document_error_message(self): -+ def test_doc_in_invalid_document_error_as_property(self): - class Wrapper: - def __init__(self, val): - self.val = val -@@ -1173,10 +1173,11 @@ def __repr__(self): - - self.assertEqual("1", repr(Wrapper(1))) - doc = {"t": Wrapper(1)} -- with self.assertRaisesRegex(InvalidDocument, f"Invalid document {doc}"): -+ with self.assertRaisesRegex(InvalidDocument, "Invalid document:") as cm: - encode(doc) -+ self.assertEqual(cm.exception.document, doc) - -- def test_doc_in_invalid_document_error_message_mapping(self): -+ def test_doc_in_invalid_document_error_as_property_mapping(self): - class MyMapping(abc.Mapping): - def keys(self): - return ["t"] -@@ -1192,6 +1193,11 @@ def __len__(self): - def __iter__(self): - return iter(["t"]) - -+ def __eq__(self, other): -+ if isinstance(other, MyMapping): -+ return True -+ return False -+ - class Wrapper: - def __init__(self, val): - self.val = val -@@ -1201,8 +1207,9 @@ def __repr__(self): - - self.assertEqual("1", repr(Wrapper(1))) - doc = MyMapping() -- with self.assertRaisesRegex(InvalidDocument, f"Invalid document {doc}"): -+ with self.assertRaisesRegex(InvalidDocument, "Invalid document:") as cm: - encode(doc) -+ self.assertEqual(cm.exception.document, doc) - - - class TestCodecOptions(unittest.TestCase): -diff --git a/bson/_cbsonmodule.c b/bson/_cbsonmodule.c -index bee7198567..7d184641c5 100644 ---- a/bson/_cbsonmodule.c -+++ b/bson/_cbsonmodule.c -@@ -1657,26 +1657,28 @@ void handle_invalid_doc_error(PyObject* dict) { - } - - if (evalue && PyErr_GivenExceptionMatches(etype, InvalidDocument)) { -- PyObject *msg = PyObject_Str(evalue); -+ msg = PyObject_Str(evalue); - if (msg) { - const char * msg_utf8 = PyUnicode_AsUTF8(msg); - if (msg_utf8 == NULL) { - goto cleanup; - } -- PyObject *new_msg = PyUnicode_FromFormat("Invalid document: %s", msg_utf8); -+ new_msg = PyUnicode_FromFormat("Invalid document: %s", msg_utf8); - if (new_msg == NULL) { - goto cleanup; - } - // Add doc to the error instance as a property. -- PyObject *new_evalue = PyObject_CallFunctionObjArgs(InvalidDocument, new_msg, dict, NULL); -+ new_evalue = PyObject_CallFunctionObjArgs(InvalidDocument, new_msg, dict, NULL); - Py_DECREF(evalue); - Py_DECREF(etype); - etype = InvalidDocument; - InvalidDocument = NULL; - if (new_evalue) { - evalue = new_evalue; -+ new_evalue = NULL; - } else { - evalue = msg; -+ msg = NULL; - } - } - PyErr_NormalizeException(&etype, &evalue, &etrace); diff --git a/dev-python/pymongo/pymongo-4.15.0.ebuild b/dev-python/pymongo/pymongo-4.15.0.ebuild deleted file mode 100644 index efef80cbe26a..000000000000 --- a/dev-python/pymongo/pymongo-4.15.0.ebuild +++ /dev/null @@ -1,201 +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 -PYTHON_COMPAT=( python3_{10..14} ) - -inherit check-reqs distutils-r1 - -MY_P=mongo-python-driver-${PV} -DESCRIPTION="Python driver for MongoDB" -HOMEPAGE=" - https://github.com/mongodb/mongo-python-driver/ - https://pypi.org/project/pymongo/ -" -SRC_URI=" - https://github.com/mongodb/mongo-python-driver/archive/${PV}.tar.gz - -> ${MY_P}.gh.tar.gz -" -S=${WORKDIR}/${MY_P} - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" -IUSE="doc kerberos +native-extensions +test-full" - -RDEPEND=" - =:;s:\.\*::}' pyproject.toml || die +} diff --git a/dev-python/python-tests/Manifest b/dev-python/python-tests/Manifest index 1fbdc25d1594..c4878ea24d8e 100644 --- a/dev-python/python-tests/Manifest +++ b/dev-python/python-tests/Manifest @@ -18,6 +18,8 @@ DIST Python-3.13.9.tar.xz 22681368 BLAKE2B 8fbf9b9e0dcc480a5bac82d5c18d6fdb63076 DIST Python-3.13.9.tar.xz.asc 963 BLAKE2B 7989940e3dfc62c553016f9d2b9aef447e770d63b2508f287e14495ba3e98326279d2bdb3b96bbc65ff2a859253bc43d8ce5387873842f656a66abef8380a3b7 SHA512 c33fba3a6b22dccc08beb7f13bd61a25a30f609a54da7c8dfd3b3b4a3490a7b24c11f9617a835388f22709fb09375d35febc417cf104a18f5bec3b43ec999e82 DIST Python-3.14.0.tar.xz 23595844 BLAKE2B 0fe495d62819c9066240927ceff022dc36920cfd9aa7f80f09fd82a6baf42fe0ef85aed7087418ad9769504e62dc0592cf9c06a542335d83ab65fc6399b5ac76 SHA512 46e9e205c3a084cba68bf7f267ab2fd0862a05430165e0eb713f2d6b3a1a4452f72f563de5de55caea824be9df56f66dd568f4814941667a9bb0954229772c53 DIST Python-3.14.0.tar.xz.sigstore 5374 BLAKE2B 50ed6dada3a7dfcfeb47e0cc55568c0e2ea01a5710f341d6423bb5b0982897b13a7a7c91d8b7c995499f687b17a6cf432fdcd3338b0ac658d19a8ad032438957 SHA512 147bf060a55b9108efb6f6a7f478c0b4dc1e7b1e215b842fb8adfe1b96bbe8d1b49ad352455e047d694638130f8533e3ea1c3a246e9ed0fde0d08e80113a6c44 +DIST Python-3.14.1.tar.xz 23563532 BLAKE2B c75d6048ca6b504217578041a6777b507a783f639736d580e0a2964a7d0411011d025a4562c38f68ffe46ee2f35135426f6c6c5d070c1d9106477421d6f92266 SHA512 b5ec011190536126fedade5c33a4afabc081a133ad5c734f4b872769d376735775219d63a482812d139fdd90c46707927065ab9dc733d0bce2d1ebc59fe705a2 +DIST Python-3.14.1.tar.xz.sigstore 5123 BLAKE2B b20634370ea0915c564c586b7537cfc19b8fb6f032fd6ad5df795fe818eea85e78375a32f3f079afdcd86e9aa4e5c2eae8933a326e0699e5c16ba094c39ddd94 SHA512 5b668deafa301d6eb69a7ffb03627c89d2f5de794be292f34cf44f6a1d81b46778f469282a746147a6ca5767a7b4c093b89d25a3a14fcb8f3b9c3e4f40808b27 DIST python-gentoo-patches-3.11.11.tar.xz 10604 BLAKE2B 6be4c66b0458f7a7085aef976cff3dcb4d114ac0b64fb27327a5693e8d41a77f7eeed718b9c5a1b1961278235ee4cd43497aa3dc27e6e6bed65804b95f667a15 SHA512 ab8113a94949cead34d976179f80c3e0a6686bf2476079a74f97b4d08c24a237500dc7ee09dc3b0ec98d2fbcb138397c73d7e2252e617a957a13999e59115158 DIST python-gentoo-patches-3.11.13_p1.tar.xz 27748 BLAKE2B 26e0b5397d7927711bcc40330f72f54fb16c660c56a2f87166c5336eb2f53ccd4e920b906854ee122d64360b414e11a38a31a410936b4a49f6610626203f4322 SHA512 7c7eca7bf827255925e073c0ed5c69e9036b79e35e8f6ccb2684709bdc41fec80823a1df192c3decf56ba6d53e2c9feaf7fb81f3a214da69773da6a2997ca19b DIST python-gentoo-patches-3.11.14.tar.xz 15968 BLAKE2B 5bd091046feee03afd59a87b72c44b3a0874b23f89eb98020cc057f5651d31857721eb095bd056dae8bef85220dbe5aff2900cf8411dceb14e8775a4a2f09a93 SHA512 760df16f98c1a91164b43c13eb36073c74169321569791125fdad8682419b818736fe02e40c1aa1232a11081b1007c923a8fd2afd002eb4fdff0800da92d03e2 @@ -33,3 +35,4 @@ DIST python-gentoo-patches-3.13.9.tar.xz 8952 BLAKE2B 9941b3dd241adcdde64b38bdc3 DIST python-gentoo-patches-3.14.0.tar.xz 7992 BLAKE2B 8faff97c198abc1549d7c871c82ff649bbdbe18f9cfdad31aa7b6535391fff8e6adc387a120a6298ede8842421bc103cfae27da807e651c9898d4edb192f4fd7 SHA512 7bc425a89d0f3ebbdab4f52ce1300e16512bda4f08968222e8e68f22d3a794fc7d32a00644f4949810ebb41da0ffd4a5a962dcbee86c7660cd4214406ad16b01 DIST python-gentoo-patches-3.14.0_p1.tar.xz 8952 BLAKE2B d53c5a055be72e3f92a63e18cf75d2f6eb1e352a7529f7ce8256aaf0fa5ac92443646fe07bdbc707a28c1ed395c4c2edd29db0b8fc591679c7602aedfc968489 SHA512 ec03a259281d675063ad82dfd9c0fcb08402120663b9c2a56e37de45bb03e678fccd0c3723b6deffc4f5b8ea4ad17492040a98c7434853da2007f31cdb549bdd DIST python-gentoo-patches-3.14.0b1.tar.xz 5680 BLAKE2B 514b3edc3025e5bf675d371b5ada17dea426856edf1fb6095c2ee400eae95bd4265ef81fe593ae9338e801e7d0a25b1d5ba2d05ca563fd9dd020114b13575746 SHA512 74289e42cf532b54bb1b66a283ec19156f8a36ba38764209c133842314c9efb2ce2ebcba5aa9213bcf7fc0c8a5ca9b6e7adbd5dbfa4397233136d7cd55f53ee7 +DIST python-gentoo-patches-3.14.1.tar.xz 8008 BLAKE2B 52b47d49126a9e93ccc8425322fb3055337cacd8b913104cfec320acae267d44140286b8be720fa5a98b146257e4847b8df46a6f9124d8e81368a1ad24194c0e SHA512 28f6a746dd5e06e432a79eef33fc80faa8ac589f1d328e4e86fdd9e6aa5012f248c81e47204c1fe64ed16cc15038eafef27d6fffb947dbbc4705b559d5639b13 diff --git a/dev-python/python-tests/python-tests-0.3.14.1.ebuild b/dev-python/python-tests/python-tests-0.3.14.1.ebuild new file mode 100644 index 000000000000..2a767ce8401e --- /dev/null +++ b/dev-python/python-tests/python-tests-0.3.14.1.ebuild @@ -0,0 +1,73 @@ +# Copyright 2024-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..14} ) +VERIFY_SIG_METHOD=sigstore + +inherit python-r1 verify-sig + +REAL_PV=${PV#0.} +MY_PV=${REAL_PV/_/} +MY_P="Python-${MY_PV%_p*}" +PYVER=$(ver_cut 2-3)t +PATCHSET="python-gentoo-patches-${MY_PV}" + +DESCRIPTION="Test modules from dev-lang/python" +HOMEPAGE=" + https://www.python.org/ + https://github.com/python/cpython/ +" +SRC_URI=" + https://www.python.org/ftp/python/${REAL_PV%%_*}/${MY_P}.tar.xz + https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz + verify-sig? ( + https://www.python.org/ftp/python/${REAL_PV%%_*}/${MY_P}.tar.xz.sigstore + ) +" +S="${WORKDIR}/${MY_P}/Lib" + +LICENSE="PSF-2" +SLOT="${PYVER}" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +# enable by default to help CI handle it (we have no additional deps) +IUSE="+python_targets_${PYTHON_COMPAT[0]}" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +RDEPEND=" + ${PYTHON_DEPS} + ~dev-lang/python-${PV}:${PYVER} +" +BDEPEND=" + ${PYTHON_DEPS} +" + +# https://www.python.org/downloads/metadata/sigstore/ +VERIFY_SIG_CERT_IDENTITY=hugo@python.org +VERIFY_SIG_CERT_OIDC_ISSUER=https://github.com/login/oauth + +src_unpack() { + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.sigstore} + fi + default +} + +src_prepare() { + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + cd .. || die + default +} + +src_install() { + python_setup + # keep in sync with TESTSUBDIRS in Makefile.pre.in + python_moduleinto "/usr/lib/python${PYVER}" + python_domodule test + python_moduleinto "/usr/lib/python${PYVER}/idlelib" + python_domodule idlelib/idle_test +} diff --git a/dev-python/python-tests/python-tests-3.14.1.ebuild b/dev-python/python-tests/python-tests-3.14.1.ebuild new file mode 100644 index 000000000000..28992a8422de --- /dev/null +++ b/dev-python/python-tests/python-tests-3.14.1.ebuild @@ -0,0 +1,72 @@ +# Copyright 2024-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..14} ) +VERIFY_SIG_METHOD=sigstore + +inherit python-r1 verify-sig + +MY_PV=${PV/_/} +MY_P="Python-${MY_PV%_p*}" +PYVER=$(ver_cut 1-2) +PATCHSET="python-gentoo-patches-${MY_PV}" + +DESCRIPTION="Test modules from dev-lang/python" +HOMEPAGE=" + https://www.python.org/ + https://github.com/python/cpython/ +" +SRC_URI=" + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz + https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz + verify-sig? ( + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.sigstore + ) +" +S="${WORKDIR}/${MY_P}/Lib" + +LICENSE="PSF-2" +SLOT="${PYVER}" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +# enable by default to help CI handle it (we have no additional deps) +IUSE="+python_targets_${PYTHON_COMPAT[0]}" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +RDEPEND=" + ${PYTHON_DEPS} + ~dev-lang/python-${PV}:${PYVER} +" +BDEPEND=" + ${PYTHON_DEPS} +" + +# https://www.python.org/downloads/metadata/sigstore/ +VERIFY_SIG_CERT_IDENTITY=hugo@python.org +VERIFY_SIG_CERT_OIDC_ISSUER=https://github.com/login/oauth + +src_unpack() { + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.sigstore} + fi + default +} + +src_prepare() { + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + cd .. || die + default +} + +src_install() { + python_setup + # keep in sync with TESTSUBDIRS in Makefile.pre.in + python_moduleinto "/usr/lib/python${PYVER}" + python_domodule test + python_moduleinto "/usr/lib/python${PYVER}/idlelib" + python_domodule idlelib/idle_test +} diff --git a/dev-python/pyzotero/Manifest b/dev-python/pyzotero/Manifest index f417edc87f41..f3ef2ac9a08b 100644 --- a/dev-python/pyzotero/Manifest +++ b/dev-python/pyzotero/Manifest @@ -1,4 +1,4 @@ -DIST pyzotero-1.7.3.tar.gz 532004 BLAKE2B e516a4052c5553710cf7b215f41d010a7c5f4d39dd7dd384206861bd75fcc48bee6c3ac3a3bba3c7e3b22f9335ec5aae9128796591faaadce44bb7afc35f1423 SHA512 cc20277fedc9426c939bdf3193f26cf4ba591be559381894b67492d7d43ca9fa6f4cd7493d67f405d5d23253e3a02f1b6d4f345169deae15f49498637db5ccab -DIST pyzotero-1.7.3.tar.gz.provenance 9152 BLAKE2B de20fce045bcef374fb9d921dfa9f5309a70fe3df2e32bc5a6cdfc106708fe2f6cfd030e4eee13f7b94a2ccb0b03146a566cb3fe7d2032dc10ae393b5080db62 SHA512 9e15c7cf299f2c13564353a0dc5bf45f6cb4b6db945cf060ea4fe7506e3e3f383d31c03adfaf7bc964a1d758d2e19e7e4136a05b06747c959bb5d28f743528d5 DIST pyzotero-1.7.5.tar.gz 532915 BLAKE2B a7ead5ed0764885535ab73aed707b577ce23c17571c3dcba6e54321ce919bde05cd6eb45b901e4947762a9a04aa376749c416af0c29caf9fce66f958e54f9912 SHA512 5317bd314333c9d3fadcd7c604f1372060547f045e770b9706af5b16e34944ec01f5325188c822b248a75179d591a81004e8a7f78ba5247a005e892d66082f0a DIST pyzotero-1.7.5.tar.gz.provenance 9019 BLAKE2B fedb0d6fdc6b3600d2110a85e9fe27156c42e04e4fa6e714cd64252ec9fd5f3beec812c7f85f548b738e08cc52f3a6ecd3c9fd9179c8f9dd1565edf2d953cfb1 SHA512 7770b38118f98aec8a938a824cc0f949b6019e20100f9f3936830992e363791d8599f8efa23e98ad493b7a735f80ba1e53afc56d7c17b1a9014a47a50b577533 +DIST pyzotero-1.7.6.tar.gz 533398 BLAKE2B 5b7d4f78a2160ede771ad5b47cdcffc30b0d9410099ce63deaac92e24a0e6dc9c5eb9f587218e372c6f7ca550f00e302a4cf9c70bde19e01f442be8f636bd20f SHA512 d5644dc5d3bbcc9c86aa07fc909dccd0b4b3c38dedec3e3a9603ea8154a5fa908af27faa8e0e49128f2bcf3268a85179f7d562eb4e0d2a4f2c787f545d2afb1a +DIST pyzotero-1.7.6.tar.gz.provenance 9254 BLAKE2B 45d666a961f334c179b163e65a6e1db84b2180b4947dc832a528031488e67e6187a3b7333d7520514d8acba4cb4bb445780c7f0c25f66d69673fcddf9f89d5cc SHA512 bf78192e411c615db1daac105ebce11eb4bab2900ff8c1f57b9562a1e078987754688b248b55fc37e87894e80d39c0766d2c087db80cee6cef9cb9a24fb2d20b diff --git a/dev-python/pyzotero/pyzotero-1.7.3.ebuild b/dev-python/pyzotero/pyzotero-1.7.3.ebuild deleted file mode 100644 index 375eb6a672e6..000000000000 --- a/dev-python/pyzotero/pyzotero-1.7.3.ebuild +++ /dev/null @@ -1,49 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=uv-build -PYPI_VERIFY_REPO=https://github.com/urschrei/pyzotero -PYTHON_COMPAT=( python3_{10..14} ) - -inherit distutils-r1 pypi - -DESCRIPTION="A Python client for the Zotero API" -HOMEPAGE=" - https://github.com/urschrei/pyzotero/ - https://pypi.org/project/pyzotero/ -" - -LICENSE="BlueOak-1.0.0" -SLOT="0" -KEYWORDS="~amd64" - -RDEPEND=" - app-text/zotero-bin - =dev-python/bibtexparser-1.4.3[${PYTHON_USEDEP}] - >=dev-python/feedparser-6.0.12[${PYTHON_USEDEP}] - >=dev-python/httpx-0.28.1[${PYTHON_USEDEP}] - >=dev-python/whenever-0.8.8[${PYTHON_USEDEP}] -" - -BDEPEND=" - >=dev-python/trove-classifiers-2024.7.2[${PYTHON_USEDEP}] - test? ( - >=dev-python/httpretty-1.1.4[${PYTHON_USEDEP}] - dev-python/ipython[${PYTHON_USEDEP}] - >=dev-python/pytz-2025.2[${PYTHON_USEDEP}] - dev-python/python-dateutil[${PYTHON_USEDEP}] - >=dev-python/tzdata-2025.2[${PYTHON_USEDEP}] - ) -" - -distutils_enable_sphinx doc \ - dev-python/sphinx-rtd-theme -EPYTEST_PLUGINS=( pytest-asyncio ) -distutils_enable_tests pytest - -python_test() { - epytest -o addopts= -} diff --git a/dev-python/pyzotero/pyzotero-1.7.6.ebuild b/dev-python/pyzotero/pyzotero-1.7.6.ebuild new file mode 100644 index 000000000000..375eb6a672e6 --- /dev/null +++ b/dev-python/pyzotero/pyzotero-1.7.6.ebuild @@ -0,0 +1,49 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=uv-build +PYPI_VERIFY_REPO=https://github.com/urschrei/pyzotero +PYTHON_COMPAT=( python3_{10..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="A Python client for the Zotero API" +HOMEPAGE=" + https://github.com/urschrei/pyzotero/ + https://pypi.org/project/pyzotero/ +" + +LICENSE="BlueOak-1.0.0" +SLOT="0" +KEYWORDS="~amd64" + +RDEPEND=" + app-text/zotero-bin + =dev-python/bibtexparser-1.4.3[${PYTHON_USEDEP}] + >=dev-python/feedparser-6.0.12[${PYTHON_USEDEP}] + >=dev-python/httpx-0.28.1[${PYTHON_USEDEP}] + >=dev-python/whenever-0.8.8[${PYTHON_USEDEP}] +" + +BDEPEND=" + >=dev-python/trove-classifiers-2024.7.2[${PYTHON_USEDEP}] + test? ( + >=dev-python/httpretty-1.1.4[${PYTHON_USEDEP}] + dev-python/ipython[${PYTHON_USEDEP}] + >=dev-python/pytz-2025.2[${PYTHON_USEDEP}] + dev-python/python-dateutil[${PYTHON_USEDEP}] + >=dev-python/tzdata-2025.2[${PYTHON_USEDEP}] + ) +" + +distutils_enable_sphinx doc \ + dev-python/sphinx-rtd-theme +EPYTEST_PLUGINS=( pytest-asyncio ) +distutils_enable_tests pytest + +python_test() { + epytest -o addopts= +} diff --git a/dev-python/sabctools/Manifest b/dev-python/sabctools/Manifest index b7e7d1f7072f..47f64db6a19d 100644 --- a/dev-python/sabctools/Manifest +++ b/dev-python/sabctools/Manifest @@ -1,2 +1,3 @@ DIST sabctools-8.2.5.gh.tar.gz 8974284 BLAKE2B acc5dcbeaa20e916a8fc8691bd389c8f60c9a9d2eca9dff2fb7dd4da4abee9ad7dcd9003eeb5f37b51f3ec5c7041517ebf60679373bd101b9546d0de7de2ac0e SHA512 8e3ed65ca4cb8879e07a48033bc6b7efd6bbd4f5a7df43db8fa28719dde194aa55a53709c9d4c29ac273369ceeb845188f1b8a0cde6904962148e6352acb40fa DIST sabctools-8.2.6.gh.tar.gz 8974199 BLAKE2B cefafb57802e7d9b32b99de16b7df2745276c4602c7aa2f9f750bf2c741224b3a9180c2a9dd6d0e807c5297e2a70dbfb3784e546618536e7fa8d6273bc5d3684 SHA512 230a3c78a11d459703bb79d765ac5bf3e21ae239731ada73103e641af64c0cccd6f8e82d4a8a6016585c9935c93f9535cb5a0ead951f4f536a038fc2ebf056db +DIST sabctools-9.0.0.gh.tar.gz 9731189 BLAKE2B 59f200041c2555cf1aa2ef3adeefc5f46181a0fa673101475f4f45631282efe4b0cc39f3eec258430abe36a24f1d23926a076e22dfbfe5c566ba7866ffd8327d SHA512 f1a37a785c9b4e61f5febc2a782df9bf096c0408289c993307c4c448ef660051b0450ca7a047d771381a288aa246a5aad28f42b4d40986a3f0ec7ee0a1c1166f diff --git a/dev-python/sabctools/sabctools-9.0.0.ebuild b/dev-python/sabctools/sabctools-9.0.0.ebuild new file mode 100644 index 000000000000..d9816a9ddfe8 --- /dev/null +++ b/dev-python/sabctools/sabctools-9.0.0.ebuild @@ -0,0 +1,40 @@ +# Copyright 1999-2025 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 + +MY_PN="sabctools" +MY_P="${MY_PN}-${PV}" + +DESCRIPTION="Module providing raw yEnc encoding/decoding for SABnzbd" +HOMEPAGE=" + https://github.com/sabnzbd/sabctools/ + https://pypi.org/project/sabctools/ +" +SRC_URI=" + https://github.com/sabnzbd/${MY_PN}/archive/v${PV}.tar.gz + -> ${MY_P}.gh.tar.gz +" +S="${WORKDIR}/${MY_P}" + +LICENSE="LGPL-3" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +BDEPEND=" + test? ( + dev-python/chardet[${PYTHON_USEDEP}] + dev-python/portend[${PYTHON_USEDEP}] + ) +" + +DOCS=( README.md doc/yenc-draft.1.3.txt ) + +EPYTEST_PLUGINS=() +distutils_enable_tests pytest diff --git a/dev-python/sphinx-gallery/Manifest b/dev-python/sphinx-gallery/Manifest index 935032bcb9c6..d85fcb974282 100644 --- a/dev-python/sphinx-gallery/Manifest +++ b/dev-python/sphinx-gallery/Manifest @@ -1 +1,2 @@ DIST sphinx_gallery-0.19.0.tar.gz 471479 BLAKE2B 335d976be4786c522693d5a5c08bbcf29aea6c571187fef77d582b827c4958e34bf1a86fec7012fc6af921600b925f46c25924522c0c5c96519331cb42a30c16 SHA512 90ed1aafa718937ee9bd5c8f52937c5a65058ca5a2138606f48f41637dae8a1d3c22cfcbed2eef3aaf3180ee137d943cfbde72ba2625c23f6d7d8e911f3f374f +DIST sphinx_gallery-0.20.0.tar.gz 473502 BLAKE2B eced250cbd7b5c86a748ee68f0d0c9d2fc02c526b1c9f83b74f6c82f2df9cd4e0571edf0650392f2b9b33a8c33c6c22e700c82f87e2bd63b2bbb94905bdc940d SHA512 571ae48d7aba2b7807b68cdab7d73a538fe8cfb72436c80f85cd3c309d4ded6a5368400485f7684e607a980b1679438be4148ca9681c75a80f754ca084a716b3 diff --git a/dev-python/sphinx-gallery/sphinx-gallery-0.20.0.ebuild b/dev-python/sphinx-gallery/sphinx-gallery-0.20.0.ebuild new file mode 100644 index 000000000000..07e095586239 --- /dev/null +++ b/dev-python/sphinx-gallery/sphinx-gallery-0.20.0.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=setuptools +PYTHON_COMPAT=( python3_{10..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Sphinx extension to automatically generate an examples gallery" +HOMEPAGE=" + https://github.com/sphinx-gallery/sphinx-gallery/ + https://sphinx-gallery.github.io/ + https://pypi.org/project/sphinx-gallery/ +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux" + +RDEPEND=" + dev-python/matplotlib[${PYTHON_USEDEP}] + dev-python/pillow[${PYTHON_USEDEP}] + >=dev-python/sphinx-5[${PYTHON_USEDEP}] +" +BDEPEND=" + dev-python/setuptools-scm[${PYTHON_USEDEP}] + test? ( + dev-python/joblib[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=() +distutils_enable_tests pytest + +python_test() { + local EPYTEST_DESELECT=( + # Internet + sphinx_gallery/tests/test_docs_resolv.py::test_embed_code_links_get_data + sphinx_gallery/tests/test_full.py::test_run_sphinx + sphinx_gallery/tests/test_full.py::test_embed_links_and_styles + # require jupyterlite_sphinx + sphinx_gallery/tests/test_full.py + sphinx_gallery/tests/test_full_noexec.py + sphinx_gallery/tests/test_gen_gallery.py::test_create_jupyterlite_contents + sphinx_gallery/tests/test_gen_gallery.py::test_create_jupyterlite_contents_non_default_contents + sphinx_gallery/tests/test_gen_gallery.py::test_create_jupyterlite_contents_with_jupyterlite_disabled_via_config + ) + + epytest -o addopts= +} diff --git a/dev-python/sqlglot/Manifest b/dev-python/sqlglot/Manifest index 325db66b0bdb..b29490957b79 100644 --- a/dev-python/sqlglot/Manifest +++ b/dev-python/sqlglot/Manifest @@ -1,6 +1,6 @@ DIST sqlglot-26.33.0-crates.tar.xz 8859792 BLAKE2B abb2051b392c53dc3caa705ddd8df7076819a26dcdaa89fa3760559a79578db01e86943c2d0ffb8006263c2dca3aa50d20023eae9d772f8ebd12a8a2d3266cdd SHA512 7cca439a06433a62bcd4a2af33d240f46e9b5240cc158edbc654efb37a464aa0f1ebbe9749b2fc6352127b4809b63af2341fac6240050c414e578ae99444ba5d DIST sqlglot-26.33.0.tar.gz 5353340 BLAKE2B 18ace866ec89ced24911803497e8cb5c55fc6c157bf62b893e90df914b8be3360403ffff67f196080cdef9b9b9078b86d471494ae9768e7947a8b4d5d39e49af SHA512 df38e899d59bdd07aca0e5370833133308f9c5be4d0c990bf8112a48776fae034b622938aba968769aa5dc5e2957d56da48c89045b91b2d33783e6e25acc4a7b DIST sqlglot-27.24.2-crates.tar.xz 8973180 BLAKE2B f893ebe4b94d4c2ab94f8fa902e51066e861511f698b24660d5becd31a98837c5a7f23a3d80c0716e8017012ae61f7202440c0092e1417e5f61b62e2e9f4260b SHA512 6a92b1ba2fbb51eac170db7a927927f8a06f184ebf820107a813c9cfa4dcdbea794199090a33986b48f5f00b3f43b404b7e1d26f5bf9663c53cb2b8f134d69af -DIST sqlglot-27.28.1.tar.gz 5498876 BLAKE2B 7adc2c5fe063f3ba98ad9f37471c2a0d4eed36c4a110cfde2531783dc17118f495d111f0f27eb37f6562c6db7e8b5eb20689d25b71d01edafa51c3bf265ece16 SHA512 e8d2d43622906510dc003c62c074336e19631c679b7c77f7afd527115744a0076c14cf179bf1d3929a15bd8af5e26d125e34cb286274ee047f8b4da19fb0859a DIST sqlglot-27.29.0.tar.gz 5503507 BLAKE2B f9c92b8f287ca4c99c792d005e62846afd669ba27b5d09042de06c8c3fa5e46b21abdf5134cc81ae3ae2cb13d0a5997c56ac07c14e5fb938544d5dbc08c70632 SHA512 5fc7a8a81b39a2dba007b501f1f5c2de9fa1e74b39d44e1bea706491db1ead0329aa2fbfb7c4997a50458137af70d259a227a8662ac26ba2904dde2b66922bb1 DIST sqlglot-28.0.0.tar.gz 5520798 BLAKE2B 3dffa572e58380437e03b9cca2a7e0d3bdab70f4543cb7bbec37306143db2ea8abb2dd85771b2833ffd92172b4a962861060e9f8c64c58d53d5d0433bac1817c SHA512 6e39af720b56a5d0ee617d96f5dabc89b0638f04ca9a2d92138e6ca833b73e88016e6d94f19726540bcb55a60290d37a4fcd26f59589f46697a110177d48ae20 +DIST sqlglot-28.1.0.tar.gz 5546281 BLAKE2B 67b6ae2e3e2fef3a4df6759c12e4a028fc561ce3ad6befff9cc05f022273f5b3c076d75a727742c5ccf259425376318548655be2700491eed8d89429d45e6ce6 SHA512 2e4bba3ca9a2165c8d5b9341851828bb386c77b4721a2217e99345d7b0f0d5d98c657771b35de6d108f68aa96eff10a641f5627912342e57a4231162bcb7152d diff --git a/dev-python/sqlglot/sqlglot-27.28.1.ebuild b/dev-python/sqlglot/sqlglot-27.28.1.ebuild deleted file mode 100644 index 994fd0fba3eb..000000000000 --- a/dev-python/sqlglot/sqlglot-27.28.1.ebuild +++ /dev/null @@ -1,93 +0,0 @@ -# Copyright 2023-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CRATES=" -" - -CARGO_OPTIONAL=1 -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{10..14} ) -CRATE_PV=27.24.2 - -inherit cargo distutils-r1 pypi optfeature - -DESCRIPTION="An easily customizable SQL parser and transpiler" -HOMEPAGE=" - https://sqlglot.com/ - https://github.com/tobymao/sqlglot/ - https://pypi.org/project/sqlglot/ -" -SRC_URI+=" - native-extensions? ( - https://github.com/gentoo-crate-dist/sqlglot/releases/download/v${CRATE_PV}/sqlglot-${CRATE_PV}-crates.tar.xz - ) -" - -LICENSE="MIT" -LICENSE+=" native-extensions? (" -# Dependent crate licenses -LICENSE+=" - Apache-2.0 Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016 -" -LICENSE+=" )" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" -IUSE="+native-extensions" - -BDEPEND=" - native-extensions? ( - ${RUST_DEPEND} - dev-util/maturin[${PYTHON_USEDEP}] - ) - test? ( - dev-python/pytz[${PYTHON_USEDEP}] - ) -" - -EPYTEST_PLUGINS=() -distutils_enable_tests pytest - -QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/sqlglotrs/sqlglotrs.*.so" - -pkg_setup() { - use native-extensions && rust_pkg_setup -} - -src_unpack() { - cargo_src_unpack -} - -python_compile() { - distutils-r1_python_compile - - if use native-extensions; then - local DISTUTILS_USE_PEP517=maturin - cd sqlglotrs || die - distutils-r1_python_compile - cd - >/dev/null || die - fi -} - -python_test() { - local EPYTEST_IGNORE=( - # Tests require pyspark or duckdb which aren't in the tree. - # Pandas would be a requirement normally, but it gets ignored by proxy. - "tests/dataframe/integration/test_dataframe.py" - "tests/dataframe/integration/test_grouped_data.py" - "tests/dataframe/integration/test_session.py" - "tests/test_executor.py" - "tests/test_optimizer.py" - ) - - # make sure not to use an earlier installed version - local -x SQLGLOTRS_TOKENIZER=$(usex native-extensions 1 0) - rm -rf sqlglotrs || die - epytest -} - -pkg_postinst() { - optfeature "simplifying timedelta expressions" dev-python/python-dateutil -} diff --git a/dev-python/sqlglot/sqlglot-28.1.0.ebuild b/dev-python/sqlglot/sqlglot-28.1.0.ebuild new file mode 100644 index 000000000000..994fd0fba3eb --- /dev/null +++ b/dev-python/sqlglot/sqlglot-28.1.0.ebuild @@ -0,0 +1,93 @@ +# Copyright 2023-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" +" + +CARGO_OPTIONAL=1 +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{10..14} ) +CRATE_PV=27.24.2 + +inherit cargo distutils-r1 pypi optfeature + +DESCRIPTION="An easily customizable SQL parser and transpiler" +HOMEPAGE=" + https://sqlglot.com/ + https://github.com/tobymao/sqlglot/ + https://pypi.org/project/sqlglot/ +" +SRC_URI+=" + native-extensions? ( + https://github.com/gentoo-crate-dist/sqlglot/releases/download/v${CRATE_PV}/sqlglot-${CRATE_PV}-crates.tar.xz + ) +" + +LICENSE="MIT" +LICENSE+=" native-extensions? (" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016 +" +LICENSE+=" )" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" +IUSE="+native-extensions" + +BDEPEND=" + native-extensions? ( + ${RUST_DEPEND} + dev-util/maturin[${PYTHON_USEDEP}] + ) + test? ( + dev-python/pytz[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=() +distutils_enable_tests pytest + +QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/sqlglotrs/sqlglotrs.*.so" + +pkg_setup() { + use native-extensions && rust_pkg_setup +} + +src_unpack() { + cargo_src_unpack +} + +python_compile() { + distutils-r1_python_compile + + if use native-extensions; then + local DISTUTILS_USE_PEP517=maturin + cd sqlglotrs || die + distutils-r1_python_compile + cd - >/dev/null || die + fi +} + +python_test() { + local EPYTEST_IGNORE=( + # Tests require pyspark or duckdb which aren't in the tree. + # Pandas would be a requirement normally, but it gets ignored by proxy. + "tests/dataframe/integration/test_dataframe.py" + "tests/dataframe/integration/test_grouped_data.py" + "tests/dataframe/integration/test_session.py" + "tests/test_executor.py" + "tests/test_optimizer.py" + ) + + # make sure not to use an earlier installed version + local -x SQLGLOTRS_TOKENIZER=$(usex native-extensions 1 0) + rm -rf sqlglotrs || die + epytest +} + +pkg_postinst() { + optfeature "simplifying timedelta expressions" dev-python/python-dateutil +} diff --git a/dev-python/sybil/Manifest b/dev-python/sybil/Manifest index 8a4799d70a7c..c55c9041e018 100644 --- a/dev-python/sybil/Manifest +++ b/dev-python/sybil/Manifest @@ -1,2 +1,2 @@ -DIST sybil-9.1.0.gh.tar.gz 75369 BLAKE2B db9397d212042ea230b6357f8003d620a45e9b8332f7f326cbc7d6dbc188c9c72bac105871a2b56b51e28d6149535aa86c732fbb28ff63f6d265c3751f129e11 SHA512 1b0498ed14114398d0580eb35f3a6c693bc2bbef9cec47beb7084581e82487b15b6fd5266c2cb8927ea412624e3c1a66c65f14f6007196ab7aa9dcd0668cd3d8 DIST sybil-9.2.0.gh.tar.gz 77600 BLAKE2B 1890c40653e21d116adac30d2623c0626b49bd56c0d7c162d765455ad11f45e769948d34ab3db20d73d62d79384b31598955a568b64672350245471e6a0a57a9 SHA512 0c9188f7c98a1c562b773e7a0f1de430d5ecb98738911b5bda5e3e01ac5a2ce4186d1765d7559711b6b9c819497529ac1196eeec27eb2946730b9913105a8e1e +DIST sybil-9.3.0.gh.tar.gz 79832 BLAKE2B e3dfe125fa678ab6cfd1c4c7af59def3d9b02c506f193e0f7035dd074a1c949e6a30926155a41de8f05766a0c709d03cd3463e84def165cb1ac1526b0c95b553 SHA512 2ea4bc51c8b87cdc034c2d6b4d6016c9b1333d613de9ca49b67fca25b7d3aa800ef790b220db9973e70996f692cb9736dd3dadaf3c0275430f73471e95d96caa diff --git a/dev-python/sybil/sybil-9.1.0.ebuild b/dev-python/sybil/sybil-9.1.0.ebuild deleted file mode 100644 index 21cbbb19f0a2..000000000000 --- a/dev-python/sybil/sybil-9.1.0.ebuild +++ /dev/null @@ -1,42 +0,0 @@ -# Copyright 2019-2025 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="Automated testing for the examples in your documentation" -HOMEPAGE=" - https://github.com/simplistix/sybil/ - https://pypi.org/project/sybil/ -" -# tests are missing in sdist, as of 5.0.1 -SRC_URI=" - https://github.com/simplistix/sybil/archive/${PV}.tar.gz - -> ${P}.gh.tar.gz -" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv ~sparc x86" - -RDEPEND=" - >=dev-python/pytest-8[${PYTHON_USEDEP}] -" -BDEPEND=" - test? ( - dev-python/myst-parser[${PYTHON_USEDEP}] - dev-python/seedir[${PYTHON_USEDEP}] - dev-python/testfixtures[${PYTHON_USEDEP}] - ) -" - -distutils_enable_tests pytest - -python_test() { - local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 - epytest -} diff --git a/dev-python/sybil/sybil-9.2.0.ebuild b/dev-python/sybil/sybil-9.2.0.ebuild deleted file mode 100644 index 9fbd6d512dce..000000000000 --- a/dev-python/sybil/sybil-9.2.0.ebuild +++ /dev/null @@ -1,38 +0,0 @@ -# Copyright 2019-2025 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="Automated testing for the examples in your documentation" -HOMEPAGE=" - https://github.com/simplistix/sybil/ - https://pypi.org/project/sybil/ -" -# tests are missing in sdist, as of 5.0.1 -SRC_URI=" - https://github.com/simplistix/sybil/archive/${PV}.tar.gz - -> ${P}.gh.tar.gz -" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv ~sparc x86" - -RDEPEND=" - >=dev-python/pytest-8[${PYTHON_USEDEP}] -" -BDEPEND=" - test? ( - dev-python/myst-parser[${PYTHON_USEDEP}] - dev-python/seedir[${PYTHON_USEDEP}] - dev-python/testfixtures[${PYTHON_USEDEP}] - ) -" - -EPYTEST_PLUGINS=() -distutils_enable_tests pytest diff --git a/dev-python/sybil/sybil-9.3.0.ebuild b/dev-python/sybil/sybil-9.3.0.ebuild new file mode 100644 index 000000000000..63d2991d5a62 --- /dev/null +++ b/dev-python/sybil/sybil-9.3.0.ebuild @@ -0,0 +1,38 @@ +# Copyright 2019-2025 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="Automated testing for the examples in your documentation" +HOMEPAGE=" + https://github.com/simplistix/sybil/ + https://pypi.org/project/sybil/ +" +# tests are missing in sdist, as of 5.0.1 +SRC_URI=" + https://github.com/simplistix/sybil/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" + +RDEPEND=" + >=dev-python/pytest-8[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/myst-parser[${PYTHON_USEDEP}] + dev-python/seedir[${PYTHON_USEDEP}] + dev-python/testfixtures[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=() +distutils_enable_tests pytest diff --git a/dev-python/urwid/Manifest b/dev-python/urwid/Manifest index 2756c583203f..ca961e96fc4d 100644 --- a/dev-python/urwid/Manifest +++ b/dev-python/urwid/Manifest @@ -1,2 +1,2 @@ -DIST urwid-3.0.2.tar.gz 855353 BLAKE2B cc1cf1611d1c9c4702880953b723445cb7972ae0ebedd369c881608cfe4c80873e3ed5ba6c7055466e967d954a8d7e3e7c34a1d31a617866e74907fef99ab4c2 SHA512 60f3a911d85907953c8b791458602a271bdbdebddec0905e02bc424340fef542eadd4a2b8d8ec1883238b794565c96ae1f0396abb0b39ed4d3d5dd66c62140f6 DIST urwid-3.0.3.tar.gz 855817 BLAKE2B 069ebcda9a79192bc098e87f8a0cc2bbc66a53a3482262e7be77017ba0a1b73e3794160f3cc51b8f1916252fffa6d6401bebd2a6268071de2b5bb646d79c73f7 SHA512 4c8ced00f399509225b7b287704a6d00f05b80411b9381355dcf384243e36f200a3efdf01e3ea6f7c9fbeed4c1105595d4dd99220c80e8fd3ddfebdaf1fcf5eb +DIST urwid-3.0.4.tar.gz 855817 BLAKE2B abf8fa38b2ef4b62878d4473588b95277e9fd88dc8d70c9444e5a6a5ca50d9ad78065e66acb3253e55a5af6ede8feb8c2abd825176136adb01afcc023492b575 SHA512 02e7e089f8a4b90a61e2dd7988a7c1b89caf11174f27c8d8fe423f4688853e25210f6eec0d299570676cc0d106641fb6aebcdfab17c9d4bab91a69234cb8dce0 diff --git a/dev-python/urwid/urwid-3.0.2.ebuild b/dev-python/urwid/urwid-3.0.2.ebuild deleted file mode 100644 index e16c1ccd8464..000000000000 --- a/dev-python/urwid/urwid-3.0.2.ebuild +++ /dev/null @@ -1,40 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{10..14} ) -PYTHON_REQ_USE="ncurses" - -inherit distutils-r1 optfeature pypi - -DESCRIPTION="Curses-based user interface library for Python" -HOMEPAGE=" - https://urwid.org/ - https://pypi.org/project/urwid/ - https://github.com/urwid/urwid/ -" - -LICENSE="LGPL-2.1" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux" -IUSE="examples" - -RDEPEND=" - dev-python/wcwidth[${PYTHON_USEDEP}] -" -BDEPEND=" - dev-python/setuptools-scm[${PYTHON_USEDEP}] -" - -distutils_enable_tests unittest - -python_install_all() { - use examples && dodoc -r examples - distutils-r1_python_install_all -} - -pkg_postinst() { - optfeature "Trio event loop" "dev-python/trio" -} diff --git a/dev-python/urwid/urwid-3.0.4.ebuild b/dev-python/urwid/urwid-3.0.4.ebuild new file mode 100644 index 000000000000..b8a2bc60a4ab --- /dev/null +++ b/dev-python/urwid/urwid-3.0.4.ebuild @@ -0,0 +1,40 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{10..14} ) +PYTHON_REQ_USE="ncurses" + +inherit distutils-r1 optfeature pypi + +DESCRIPTION="Curses-based user interface library for Python" +HOMEPAGE=" + https://urwid.org/ + https://pypi.org/project/urwid/ + https://github.com/urwid/urwid/ +" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux" +IUSE="examples" + +RDEPEND=" + dev-python/wcwidth[${PYTHON_USEDEP}] +" +BDEPEND=" + dev-python/setuptools-scm[${PYTHON_USEDEP}] +" + +distutils_enable_tests unittest + +python_install_all() { + use examples && dodoc -r examples + distutils-r1_python_install_all +} + +pkg_postinst() { + optfeature "Trio event loop" "dev-python/trio" +} diff --git a/dev-python/uv-build/Manifest b/dev-python/uv-build/Manifest index aa02181c1380..c4a041b4a6de 100644 --- a/dev-python/uv-build/Manifest +++ b/dev-python/uv-build/Manifest @@ -3,6 +3,7 @@ DIST uv_build-0.9.11.tar.gz 336407 BLAKE2B 19177207f53ecab919ee875ae5aecd77f76dc DIST uv_build-0.9.12.tar.gz 338778 BLAKE2B b11a99bcd9f130107a2529a204bfcb64a3bdc7116a5f8dacef285f08db1cc999ad55b8b791c820dd6c16ff9d6941c9090dd9d58ffafb3d97da6031c350a736c8 SHA512 84e5231654e133032909a30375ab6284fcad3770140d9e9b9d14ea0fc261f380b7b60be3785acb51e2f09e3cdee1f9c76c8af38daa9ca42513c9728725d6ff44 DIST uv_build-0.9.13.tar.gz 338831 BLAKE2B ba0b4eca782afc52d7303a51ecb18957073c22c0be1dae90ccc044c59cc2a6502c89ce06a5fa6b4014fdd54f641d97523cdad4ab15f19e9ae97541aa51a7a5ec SHA512 6ef5fe809b2fc80778b33c43b3083fdd4320be031818d88f3bf9e7f2dd4bcf59303ccd7b5398eacedbf9c500ae336bf18c7ed15de858b6f369594e14b005d71d DIST uv_build-0.9.14.tar.gz 339665 BLAKE2B a23fa78e67450d3da7c17ce8828f3c635eddbbe36f2742f7bafa324a140dbf064fd19350263b0a87aec1edba2189a5d219a1e04416659287007598487f678f81 SHA512 ac4d578cf61cfaa4b4b0d38917f6f65de64111d7764bc2e837489fda8c6ce2a18b4256965df9e32b223ce34721bc07fbac7aeef078eaf9cac6d6d3309260180a +DIST uv_build-0.9.15.tar.gz 354021 BLAKE2B a47350ead8d9672d09967bbd7f9ac2f8e231e1dd5afb8c20e59926429792d3872feb1f8e4d7a9318ec447a99ce8add0503dfba0be2b970b2f192f954b472f1a7 SHA512 11fa1ebb1cfc184bd5bedf5e11fb28f14abf118183d94cbe0ac9a1b83f150a69836f0547a671e8cf16527d84ec61dd5b2983efafe5aeccd86e94cda79e1de664 DIST uv_build-0.9.4.tar.gz 332506 BLAKE2B 3b65cc80192cf3abc33bcf01735c8b7f937a12f2dcd0557d0ae255ce8bd4cb7dbb15522e73802be0e17ac10c4acad6f9075f12d5f853bb1881b0c13f1d120b33 SHA512 c3be52cfbc1cf5a229df91d9e1125925a534e3fca3041e29a16edd2334fa28b055c73e21a6bd1a3d1d63924cf8f112645300530e8cb6139fb549499ca672070f DIST uv_build-0.9.6.tar.gz 332253 BLAKE2B 2c3fa23dbe36b0866a3a3194b07ee1212cb00acd785c375646c3eb6c97a63435f28c9e934f56c8d6feeec145aace1aad37550b85ae2a611f521fc25a4c7d3bc1 SHA512 e8d8bbd46c92722261722f3d8865b2b24e695edf52652c1d1310adae3cb437ebef5397feda90e3bf863394ca75cf3024eb90a5f80b2b92af24ede4e2f81b0ce1 DIST uv_build-0.9.7.tar.gz 332992 BLAKE2B 069e615f41e78098b61cc073cb01bc77e0e6778f3054ccfcf36985be3755d7e819cc1bd151e875db109461f423cc855cd336467015ec7103e47346f230564679 SHA512 d61249de00640f6e0ab62ab440a8aae1802acbd6cf8ecb8aca3efe26361d7191d057735ab91c174c5772fc04accf0ae3281f447d010c99e2f458829f4c618abc diff --git a/dev-python/uv-build/uv-build-0.9.15.ebuild b/dev-python/uv-build/uv-build-0.9.15.ebuild new file mode 100644 index 000000000000..fe8e9650d15e --- /dev/null +++ b/dev-python/uv-build/uv-build-0.9.15.ebuild @@ -0,0 +1,99 @@ +# Copyright 2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Maturin compiles uv-build executable for every impl, we do not want +# that, so we use another backend. And since we use another backend, +# why not dogfood it in the first place? +DISTUTILS_USE_PEP517=standalone +PYTHON_COMPAT=( python3_{10..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="PEP517 uv build backend" +HOMEPAGE=" + https://github.com/astral-sh/uv/ + https://pypi.org/project/uv-build/ +" + +LICENSE="|| ( Apache-2.0 MIT )" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" +IUSE="test" +RESTRICT="!test? ( test )" + +RDEPEND=" + >=dev-python/uv-${PV} +" +BDEPEND=" + test? ( + app-arch/unzip + dev-python/build[${PYTHON_USEDEP}] + ) +" + +src_prepare() { + distutils-r1_src_prepare + + # use the executable from dev-python/uv instead of building + # a largely overlapping uv-build executable (at least for now) + sed -i -e '/USE_UV_EXECUTABLE/s:False:True:' python/uv_build/__init__.py || die + + # replace the build-system section + sed -i -e '/\[build-system\]/,$d' pyproject.toml || die + cat >> pyproject.toml <<-EOF || die + [build-system] + requires = ["uv_build<9999"] + build-backend = "uv_build" + backend-path = ["src"] + EOF + + # rename to make uv-build find it + mv python src || die +} + +python_test() { + "${EPYTHON}" -m build -n || die "Self-build failed with ${EPYTHON}" + + local zip_result=$( + unzip -t "dist/uv_build-${PV}-py3-none-any.whl" || die + ) + local zip_expected="\ +Archive: dist/uv_build-${PV}-py3-none-any.whl + testing: uv_build/ OK + testing: uv_build/__init__.py OK + testing: uv_build/__main__.py OK + testing: uv_build/py.typed OK + testing: uv_build-${PV}.dist-info/ OK + testing: uv_build-${PV}.dist-info/WHEEL OK + testing: uv_build-${PV}.dist-info/METADATA OK + testing: uv_build-${PV}.dist-info/RECORD OK +No errors detected in compressed data of dist/uv_build-${PV}-py3-none-any.whl.\ +" + if [[ ${zip_result} != ${zip_expected} ]]; then + eerror ".zip result:\n${zip_result}" + eerror ".zip expected:\n${zip_expected}" + die ".whl result mismatch" + fi + + local tar_result=$( + tar -tf "dist/uv_build-${PV}.tar.gz" || die + ) + local tar_expected="\ +uv_build-${PV}/PKG-INFO +uv_build-${PV}/ +uv_build-${PV}/README.md +uv_build-${PV}/pyproject.toml +uv_build-${PV}/src +uv_build-${PV}/src/uv_build +uv_build-${PV}/src/uv_build/__init__.py +uv_build-${PV}/src/uv_build/__main__.py +uv_build-${PV}/src/uv_build/py.typed\ +" + if [[ ${tar_result} != ${tar_expected} ]]; then + eerror ".tar.gz result:\n${tar_result}" + eerror ".tar.gz expected:\n${tar_expected}" + die ".tar.gz result mismatch" + fi +} diff --git a/dev-python/uv/Manifest b/dev-python/uv/Manifest index 40efbf4a0eec..aea111cce11a 100644 --- a/dev-python/uv/Manifest +++ b/dev-python/uv/Manifest @@ -13,6 +13,8 @@ DIST uv-0.9.13-crates.tar.xz 46463392 BLAKE2B 54b504453381a619537155898ab8c19d33 DIST uv-0.9.13.gh.tar.gz 4856421 BLAKE2B f7b0a2ead03da04b61e9d5c56add88f17a5f314f6a6b8bca4aa9c66d2d3754595c42cff98be8022ccc729c7213d53a1af002c145f091da6b736f7d7a199a1414 SHA512 eb35b243c18c2e7fb7783eecdb3c6d85c277d808117cc02ed4c600246237f56613988a414f66b7486691f770444eb2b2e5f3bee6c2e539e4c4dec305cb022266 DIST uv-0.9.14-crates.tar.xz 46510364 BLAKE2B f39e68e8419d82dab627525288829f81bcdbfad925b278442fc2a579d704c2e66b96033048275b9eb575b310fd99adc3f00d79ebc781ffc9022431d5822ef4a2 SHA512 c670a8cd21a0f617675735dd5444f05288df9589d9344c32ba92df6fb0e8bd94713c71616245fdaba9b0068e21c52d54e23d07a6d948989a4c46f748f58b15b3 DIST uv-0.9.14.gh.tar.gz 4859989 BLAKE2B b4e8cdd35c9fc40a1777b2b625e870bf5d89a585ff722674c94abc75700047a69f32ab6651f8a3953c68feb02f8e86f61120b1b86057ae30b0162824c9e0a231 SHA512 d1cbdcc36fd65111ceb875c6ba4cc54bc7762556f2fb17f8bb130ed42d037782c5a5f0d55d33fdc47f8d17c7cea19e776c302b188b883f7a94df2c4227ab32a3 +DIST uv-0.9.15-crates.tar.xz 46539408 BLAKE2B 57e582f56e12858292d1dfaec10292eb58fb118051618875eab0d2dcd4f55aa89de6f788b3aa5013ce5e03068bb404ef04faae633d5c208f382366ac5ddf70df SHA512 4db7549d6902682db7af385e5099e74bbd82e54aaf45a44fe64416fda91e065f4bf978b9db55ab72f2872f9e8933b49020102b959c1d2bcef4b9a9877ac1e789 +DIST uv-0.9.15.gh.tar.gz 4887603 BLAKE2B 422a3c004abdf052438b145400675010b1adfc8cb8d49979367544e2d381389594188276fe603ffa983f5926be624f5d863053bd79342eeee10caf1260b2a479 SHA512 2605e2e7d5f6fdbb5ec4839363f65c8e71559944ec003cb9c69040be08094eb5c041831151b669e2dbbcf1799e862f484a21a592090524f79686469eac0e3381 DIST uv-0.9.4-crates.tar.xz 46093644 BLAKE2B bdce4b138718b91a67ccb36e6d8839358ab2ddeeedec3017bc245b0717e32d890a41f8c9c831983681ec715ce458efa8d43356c189b9b7457df3e71122924e3f SHA512 7047b68db7e05abb6a399250a4a531499985d42f12eff61ad1557823b37d62576b38b51ccbe39a02bc9a98af6341de728466b262c49bb48dd30abb64eb804660 DIST uv-0.9.4.gh.tar.gz 4749319 BLAKE2B b46d44830f7a2a621f3ab420db85e9d999b7c42ddebc21403ea2f11e819e8295af37049f1529848a3fd83ef87ac0de26ce1e1c03bf4177c3032b9adfd6dfe1e8 SHA512 ae11c1e777e3d0e036f0a665e2edfb9a4b5b50a9e107d795113b626bc16d406d3fca12e8a133185e54279b2a64f8e3d276372cefc9a96b2ac5f1ed0ece2c10b0 DIST uv-0.9.6-crates.tar.xz 45696768 BLAKE2B 96cff52c0e5477c4e9648e3863d32bde4b34a1a46b6d96703c48fe340b655319e951471aa6403c09818c313a59b0e54804467efa7e13a8410de34299a98f077b SHA512 46964460f3404304faefd1758bb07bcddf1d48efbdd2b890ddb0d2623841e1a0c86108ac3c9312ed8e2f8fcaefbf9b022b57cd6074fdb6d52f43c35e3b3c2d32 diff --git a/dev-python/uv/uv-0.9.15.ebuild b/dev-python/uv/uv-0.9.15.ebuild new file mode 100644 index 000000000000..253d1ec065af --- /dev/null +++ b/dev-python/uv/uv-0.9.15.ebuild @@ -0,0 +1,167 @@ +# Copyright 2024-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" +" +RUST_MIN_VER="1.89.0" + +inherit cargo check-reqs + +CRATE_PV=${PV} +DESCRIPTION="A Python package installer and resolver, written in Rust" +HOMEPAGE=" + https://github.com/astral-sh/uv/ + https://pypi.org/project/uv/ +" +# pypi sdist misses scripts/, needed for tests +SRC_URI=" + https://github.com/astral-sh/uv/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz + ${CARGO_CRATE_URIS} +" +if [[ ${PKGBUMPING} != ${PVR} ]]; then + SRC_URI+=" + https://github.com/gentoo-crate-dist/uv/releases/download/${CRATE_PV}/uv-${CRATE_PV}-crates.tar.xz + " +fi + +# most of the code +LICENSE="|| ( Apache-2.0 MIT )" +# crates/pep508-rs is || ( Apache-2.0 BSD-2 ) which is covered below +# Dependent crate licenses +LICENSE+=" + 0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD CC0-1.0 + CDLA-Permissive-2.0 ISC MIT MPL-2.0 Unicode-3.0 Unicode-DFS-2016 + ZLIB +" +# ring crate +LICENSE+=" openssl" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" +IUSE="test" +RESTRICT="test" +PROPERTIES="test_network" + +DEPEND=" + app-arch/bzip2:= + app-arch/xz-utils:= + app-arch/zstd:= +" +RDEPEND=" + ${DEPEND} +" +BDEPEND=" + test? ( + dev-lang/python:3.9 + dev-lang/python:3.10 + dev-lang/python:3.11 + dev-lang/python:3.12 + dev-lang/python:3.13 + !!~dev-python/uv-0.5.0 + ) +" + +QA_FLAGS_IGNORED="usr/bin/.*" + +check_space() { + local CHECKREQS_DISK_BUILD=3G + use debug && CHECKREQS_DISK_BUILD=9G + check-reqs_pkg_setup +} + +pkg_pretend() { + check_space +} + +pkg_setup() { + check_space + rust_pkg_setup +} + +src_prepare() { + default + + # force thin lto, makes build much faster and less memory hungry + # (i.e. makes it possible to actually build uv on 32-bit PPC) + sed -i -e '/lto/s:fat:thin:' Cargo.toml || die + + # enable system libraries where supported + export ZSTD_SYS_USE_PKG_CONFIG=1 + # TODO: unbundle libz-ng-sys, tikv-jemalloc-sys? + + # remove unbundled sources, just in case + find "${ECARGO_VENDOR}"/{bzip2,lzma,zstd}-sys-*/ -name '*.c' -delete || die + + # bzip2-sys requires a pkg-config file + # https://github.com/alexcrichton/bzip2-rs/issues/104 + mkdir "${T}/pkg-config" || die + export PKG_CONFIG_PATH=${T}/pkg-config${PKG_CONFIG_PATH+:${PKG_CONFIG_PATH}} + cat >> "${T}/pkg-config/bzip2.pc" <<-EOF || die + Name: bzip2 + Version: 9999 + Description: + Libs: -lbz2 + EOF +} + +src_configure() { + local myfeatures=( + git + pypi + python + ) + + cargo_src_configure --no-default-features +} + +src_compile() { + cd crates/uv || die + cargo_src_compile +} + +src_test() { + # work around https://github.com/astral-sh/uv/issues/4376 + local -x PATH=${BROOT}/usr/lib/python-exec/python3.12:${PATH} + local -x COLUMNS=100 + local -x PYTHONDONTWRITEBYTECODE= + # fix tests failing because of our config + local -x XDG_CONFIG_DIRS=${T} + + cd crates/uv || die + cargo_src_test --no-fail-fast +} + +src_install() { + cd crates/uv || die + cargo_src_install + + insinto /etc/xdg/uv + newins - uv.toml <<-EOF || die + # These defaults match Fedora, see: + # https://src.fedoraproject.org/rpms/uv/pull-request/18 + + # By default ("automatic"), uv downloads missing Python versions + # automatically and keeps them in the user's home directory. + # Disable that to make downloading opt-in, and especially + # to avoid unnecessarily fetching custom Python when the distro + # package would be preferable. Python builds can still be + # downloaded manually via "uv python install". + # + # https://docs.astral.sh/uv/reference/settings/#python-downloads + python-downloads = "manual" + + # By default ("managed"), uv always prefers self-installed + # Python versions over the system Python, independently + # of versions. Since we generally expect users to use that + # to install old Python versions not in ::gentoo anymore, + # this effectively means that uv would end up preferring very + # old Python versions over the newer ones that are provided + # by the system. Default to using the system versions to avoid + # this counter-intuitive behavior. + # + # https://docs.astral.sh/uv/reference/settings/#python-preference + python-preference = "system" + EOF +} diff --git a/dev-python/weasyprint/Manifest b/dev-python/weasyprint/Manifest index ab403c280cb2..3a5853e53ca2 100644 --- a/dev-python/weasyprint/Manifest +++ b/dev-python/weasyprint/Manifest @@ -1,2 +1,4 @@ DIST weasyprint-66.0.tar.gz 504224 BLAKE2B 2090b07fa06df89c847c4037fa2b7276bde2866b61e7b54b09d94658a2be3f988128619fa645569194f5087531a5403281e6d2bc926f18e8b5fe4f79dddc3ee9 SHA512 850996c6934156f4d4fca12cc052a8346b85aeadf1a3d99763e20a6ddabd2b93a39983615990e0e680a942c63c09563effa9b66abc5bf0c368963737ddf66264 DIST weasyprint-66.0.tar.gz.provenance 9133 BLAKE2B 11ffc967072d8950d35ac3b9057a642a913626331abf7f326c6766f5dd9d6483c79e34ddf221b856e224e7162b76c830db847e9282f5f63d29d0d361eccd887d SHA512 d336e3f6db27ae2b40d39a2ed9108f151afb219746a2e3ba1081e4be6d6c66acf8b168b15bafa8b5298148750f2d999b81b72b516ba33bf334d0a001dfd22364 +DIST weasyprint-67.0.tar.gz 1534152 BLAKE2B 0c966872817c46c96b58a834d2986766eb25f14215e71636f084bcd5bb1fbab1981295ea46bf69806c29606e29ee4412faafa86d7e2f230f26f45ffecff4639d SHA512 e0241507e57aaee18e0f6ae469de12df4ae4930a5e9f7e9ef428fbd6eb59efe40598423e6ce6de5c12d088439d30ec562cc28f342c7720e742ab16d8110380f1 +DIST weasyprint-67.0.tar.gz.provenance 9415 BLAKE2B 058789a472699b87aa695cf91055d27b274cc8ee60aafbe805ec021ec7bd28f45d9468ea64c63f45ff34f133cd18787972906160b089825dd03ab9afdbac559a SHA512 22d29f3be521d868e798dc01bde3b0f38279ae72d58d6bffc7f6792a58ebb22f02bd47f76cf2e79cb1141ee55fd5340d4a3adaca40776c043123fcbc25190bb8 diff --git a/dev-python/weasyprint/weasyprint-67.0.ebuild b/dev-python/weasyprint/weasyprint-67.0.ebuild new file mode 100644 index 000000000000..3e3ac308f7f6 --- /dev/null +++ b/dev-python/weasyprint/weasyprint-67.0.ebuild @@ -0,0 +1,45 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=flit +PYPI_VERIFY_REPO=https://github.com/Kozea/WeasyPrint +PYTHON_COMPAT=( python3_{10..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Visual rendering engine for HTML and CSS that can export to PDF" +HOMEPAGE=" + https://weasyprint.org/ + https://github.com/Kozea/WeasyPrint/ + https://pypi.org/project/weasyprint/ +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +RDEPEND=" + >=dev-python/cffi-0.6:=[${PYTHON_USEDEP}] + >=dev-python/cssselect2-0.8.0[${PYTHON_USEDEP}] + >=dev-python/fonttools-4.59.2[${PYTHON_USEDEP}] + >=dev-python/pillow-9.1.0[jpeg,jpeg2k,${PYTHON_USEDEP}] + >=dev-python/pydyf-0.11.0[${PYTHON_USEDEP}] + >=dev-python/pyphen-0.9.1[${PYTHON_USEDEP}] + >=dev-python/tinycss2-1.5.0[${PYTHON_USEDEP}] + >=dev-python/tinyhtml5-2.0.0[${PYTHON_USEDEP}] + media-fonts/dejavu + x11-libs/pango +" + +BDEPEND=" + test? ( + >=app-text/ghostscript-gpl-9.56.1-r3 + media-fonts/ahem + ) +" + +EPYTEST_PLUGINS=() +EPYTEST_XDIST=1 +distutils_enable_tests pytest -- cgit v1.3