diff options
| author | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2025-05-22 18:58:00 +0000 |
|---|---|---|
| committer | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2025-05-22 18:58:00 +0000 |
| commit | 0de35feac9a2319015ad913e05a104ec4bc12ac2 (patch) | |
| tree | 532c711a381390c3f60d18637577a7bd7316d461 /dev-python | |
| parent | aa60ccb7c9d247fc8f12cfb61f2e2a4a18da8e40 (diff) | |
| download | baldeagleos-repo-0de35feac9a2319015ad913e05a104ec4bc12ac2.tar.gz baldeagleos-repo-0de35feac9a2319015ad913e05a104ec4bc12ac2.tar.xz baldeagleos-repo-0de35feac9a2319015ad913e05a104ec4bc12ac2.zip | |
Adding metadata
Diffstat (limited to 'dev-python')
72 files changed, 1667 insertions, 217 deletions
diff --git a/dev-python/aiohttp/Manifest b/dev-python/aiohttp/Manifest index 51c5ada61144..242725d7abf1 100644 --- a/dev-python/aiohttp/Manifest +++ b/dev-python/aiohttp/Manifest @@ -1,2 +1,3 @@ DIST aiohttp-3.11.14.tar.gz 7676994 BLAKE2B e8e048c01db9600df3bdc7bdc6e5066094b4575d08fef3ec7d0a78763a701cd3501dce435b80d3fbea28d2e7bf4110a5cc9e0ccec2bc3745835cadcb27528404 SHA512 38e51d3640b533d9bd639a59657bf7affbfc0b1a9dc40d77175d6528044e23b1e524589b9a10e0159eb8f9ba29e96b3e67529a9d11f1c53760a70800d813d13f DIST aiohttp-3.11.18.tar.gz 7678653 BLAKE2B 5886778fd0456ef40f1da5abd3d6a3864db03fad01d53755bb34afd77152da338480ba534c5dc1574bd5aa178943ec52814f1ceff736d668868803b19f6c102f SHA512 9b25ad5f9800cd84014c55f6a4f7ac217a788a43e301a83c18667b6f294388adf53c81360fd3219007b10b42ce165331dad1907582dc9d3081fd8585b5bcd042 +DIST aiohttp-3.12.0b0.tar.gz 7742303 BLAKE2B 46d2eb965f37470a7a0178d7433a89abe3b7aff7818ee25b0800de721e5e6d201a11b1baa6262c89cff087ff867051478d6e992cb0a84378f33f393c7036af07 SHA512 44e2f7fb81a8ec9c7683846a07da9cea6da4364bf67164b4ce12b55d59f20d62810fd5561f44c7d88d1e280035fb7218d1fc13787c62f1af4e4c3f021dd1fa8b diff --git a/dev-python/aiohttp/aiohttp-3.12.0_beta0.ebuild b/dev-python/aiohttp/aiohttp-3.12.0_beta0.ebuild new file mode 100644 index 000000000000..6ddf58bbee57 --- /dev/null +++ b/dev-python/aiohttp/aiohttp-3.12.0_beta0.ebuild @@ -0,0 +1,155 @@ +# 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_{9,10,11,12,13} pypy3 ) + +inherit distutils-r1 pypi + +DESCRIPTION="HTTP client/server for asyncio" +HOMEPAGE=" + https://github.com/aio-libs/aiohttp/ + https://pypi.org/project/aiohttp/ +" + +LICENSE="Apache-2.0" +SLOT="0" +IUSE="+native-extensions test-rust" + +DEPEND=" + native-extensions? ( + $(python_gen_cond_dep ' + net-libs/llhttp:= + ' 'python3*') + ) +" +RDEPEND=" + ${DEPEND} + >=dev-python/aiodns-3.3.0[${PYTHON_USEDEP}] + >=dev-python/aiohappyeyeballs-2.5.0[${PYTHON_USEDEP}] + >=dev-python/aiosignal-1.1.2[${PYTHON_USEDEP}] + >=dev-python/attrs-17.3.0[${PYTHON_USEDEP}] + dev-python/brotlicffi[${PYTHON_USEDEP}] + >=dev-python/frozenlist-1.1.1[${PYTHON_USEDEP}] + >=dev-python/multidict-4.5.0[${PYTHON_USEDEP}] + >=dev-python/propcache-0.2.0[${PYTHON_USEDEP}] + >=dev-python/yarl-1.17.0[${PYTHON_USEDEP}] +" +BDEPEND=" + native-extensions? ( + >=dev-python/cython-3.1.1[${PYTHON_USEDEP}] + ) + test? ( + dev-python/blockbuster[${PYTHON_USEDEP}] + dev-python/freezegun[${PYTHON_USEDEP}] + dev-python/isal[${PYTHON_USEDEP}] + dev-python/pytest-mock[${PYTHON_USEDEP}] + dev-python/pytest-rerunfailures[${PYTHON_USEDEP}] + dev-python/pytest-xdist[${PYTHON_USEDEP}] + dev-python/re-assert[${PYTHON_USEDEP}] + $(python_gen_cond_dep ' + dev-python/time-machine[${PYTHON_USEDEP}] + ' 'python3*') + dev-python/zlib-ng[${PYTHON_USEDEP}] + www-servers/gunicorn[${PYTHON_USEDEP}] + test-rust? ( + dev-python/trustme[${PYTHON_USEDEP}] + ) + ) +" + +DOCS=( CHANGES.rst CONTRIBUTORS.txt README.rst ) + +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +src_prepare() { + local PATCHES=( + "${FILESDIR}/${PN}-3.11.17-unbundle-llhttp.patch" + ) + + distutils-r1_src_prepare + + # increase the timeout a little + sed -e '/abs=/s/0.001/0.01/' -i tests/test_helpers.py || die + # xfail_strict fails on py3.10 + sed -i -e '/--cov/d' -e '/pytest_cov/d' -e '/xfail_strict/d' setup.cfg || die + sed -i -e 's:-Werror::' Makefile || die + # remove vendored llhttp + rm -r vendor || die +} + +python_configure() { + # check for .install-cython, so that we do this only once + if [[ ! -f .install-cython && ${EPYTHON} != pypy3 ]] && + use native-extensions + then + # force rehashing first + emake requirements/.hash/cython.txt.hash + > .update-pip || die + > .install-cython || die + emake cythonize + fi +} + +python_compile() { + # implicitly disabled for pypy3 + if ! use native-extensions; then + local -x AIOHTTP_NO_EXTENSIONS=1 + fi + + distutils-r1_python_compile +} + +python_test() { + local EPYTEST_IGNORE=( + # proxy is not packaged + tests/test_proxy_functional.py + # python_on_whales is not packaged + tests/autobahn/test_autobahn.py + # benchmarks + tests/test_benchmarks_client.py + tests/test_benchmarks_client_request.py + tests/test_benchmarks_client_ws.py + tests/test_benchmarks_cookiejar.py + tests/test_benchmarks_http_websocket.py + tests/test_benchmarks_http_writer.py + tests/test_benchmarks_web_fileresponse.py + tests/test_benchmarks_web_middleware.py + tests/test_benchmarks_web_response.py + tests/test_benchmarks_web_urldispatcher.py + ) + + local EPYTEST_DESELECT=( + # Internet + tests/test_client_session.py::test_client_session_timeout_zero + # broken by irrelevant deprecation warnings + tests/test_circular_imports.py::test_no_warnings + ) + + case ${EPYTHON} in + python3.14) + EPYTEST_DESELECT+=( + # TODO + tests/test_cookiejar.py::test_pickle_format + # different exception message + tests/test_client_functional.py::test_aiohttp_request_coroutine + ) + ;; + esac + + # upstream unconditionally blocks building C extensions + # on PyPy3 but the test suite needs an explicit switch + if [[ ${EPYTHON} == pypy3* ]] || ! use native-extensions; then + local -x AIOHTTP_NO_EXTENSIONS=1 + fi + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + local -x PYTEST_PLUGINS=pytest_mock,xdist.plugin + rm -rf aiohttp || die + epytest -m "not internal and not dev_mode" \ + -p rerunfailures --reruns=5 +} diff --git a/dev-python/alembic/Manifest b/dev-python/alembic/Manifest index 32607d4a2855..f591dce93954 100644 --- a/dev-python/alembic/Manifest +++ b/dev-python/alembic/Manifest @@ -1 +1,2 @@ DIST alembic-1.15.2.tar.gz 1925573 BLAKE2B 0711f6132ff3209828896c7efc78e0f4f2d7fd304a3e497b115f4f91521c5c57f852b2a515565e0e18d6695ec05d524b49500e73bf4247d7500f9a74380e0a5a SHA512 2d749123181c58985794f1c51d6f67d5fb11dbd0dd38d696a2b9e28a59560bf8f8d93473b0bce1e95426bbe65c0b24f9b3287a5819e6606dd982d7ecdedbcdab +DIST alembic-1.16.1.tar.gz 1955006 BLAKE2B 69c29af02825c691511075c6cda81a98bb065a35ae07d7b0fc0817148d6c6caeb8c8a126474469991a2b0042cfce95e7b5c863468db95c6bd998f5c0dc850dc2 SHA512 e821ec547686f93cad49468559d68399f4abd8288170491f626b93b160d01370867b7b14a6bf28983189757edfdaae396118f7ab11f7d4e24ff61aee305fab67 diff --git a/dev-python/alembic/alembic-1.16.1.ebuild b/dev-python/alembic/alembic-1.16.1.ebuild new file mode 100644 index 000000000000..70ebc9722605 --- /dev/null +++ b/dev-python/alembic/alembic-1.16.1.ebuild @@ -0,0 +1,46 @@ +# 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_{9,10,11,12,13} pypy3 ) + +inherit distutils-r1 pypi + +DESCRIPTION="Database migrations tool, written by the author of SQLAlchemy" +HOMEPAGE=" + https://github.com/sqlalchemy/alembic/ + https://pypi.org/project/alembic/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~riscv ~x86" +IUSE="doc" + +RDEPEND=" + >=dev-python/sqlalchemy-1.4.0[${PYTHON_USEDEP}] + dev-python/mako[${PYTHON_USEDEP}] + >=dev-python/typing-extensions-4.12[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + sys-libs/timezone-data + ) +" + +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +python_test() { + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + # setup.cfg contains -p no:warnings in addopts which triggers + # datetime.utcfromtimestamp() deprecation warning as an error in py3.12 + epytest -o addopts= +} + +python_install_all() { + use doc && local HTML_DOCS=( docs/. ) + distutils-r1_python_install_all +} diff --git a/dev-python/beartype/Manifest b/dev-python/beartype/Manifest index bd3548b9db1f..5686f89f47bf 100644 --- a/dev-python/beartype/Manifest +++ b/dev-python/beartype/Manifest @@ -1,2 +1,3 @@ DIST beartype-0.20.2.tar.gz 1410390 BLAKE2B fa1ca4000b7a32fe7fae4d3712060ba29f1bb690fe9c4c28dda91962f1a76aacdc906305de104e77c7bd34c9063e927c190c9f38c6f6aa8a4d790dd39401392c SHA512 72bb5f1a71e59f7f9debe6d10cb96de01c2f5a9f10f59d2d7002ef01320e17a9bf47d070c8e17d9cf82140b3917082f08a5eb442b825fd43b2cacf9c0fc65455 +DIST beartype-0.21.0.tar.gz 1437066 BLAKE2B 10c08fc07a87257fc21a85c2ab8c1402044b383051e5ecc919812710f74d277cbe70653a02aeeafc1007da5716bcb78c2024b5debb66b84ab5cdf4c3901fabb4 SHA512 fd3026c15bc1e9fc3985f7c691ad9c4c55532e5148bd3f554f40b7b6a33189af07ce9174c197907b4cd57f41778a436644e6ad610eec942d94c01cabb295c19b DIST beartype-0.21.0rc0.tar.gz 1437966 BLAKE2B 569eac36552c82e24218385478a48a471757e38f157be926b0a524d2c4366a84d1fd615d41b1d29b8b2dcff534e1a5a48a7b20ed894eecc62b2e31413aae9692 SHA512 e3a3ec779eee910741c2e1ac7514d516a05bf800255141a0cbac70c81a87b0bc25028f41e9b0a65396717631e6707164e0ab1cb39cb7d997f1faa3e85743bc73 diff --git a/dev-python/beartype/beartype-0.21.0.ebuild b/dev-python/beartype/beartype-0.21.0.ebuild new file mode 100644 index 000000000000..713b3c05d31f --- /dev/null +++ b/dev-python/beartype/beartype-0.21.0.ebuild @@ -0,0 +1,43 @@ +# Copyright 2022-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +PYTHON_COMPAT=( python3_{9,10,11,12,13} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Unbearably fast runtime type checking in pure Python" +HOMEPAGE=" + https://pypi.org/project/beartype/ + https://github.com/beartype/beartype/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~riscv" + +BDEPEND=" + test? ( + dev-python/click[${PYTHON_USEDEP}] + dev-python/mypy[${PYTHON_USEDEP}] + dev-python/numpy[${PYTHON_USEDEP}] + dev-python/sqlalchemy[${PYTHON_USEDEP}] + dev-python/xarray[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +python_test() { + local EPYTEST_DESELECT=( + # fragile performance test + beartype_test/a00_unit/a70_decor/test_decorwrapper.py::test_wrapper_fail_obj_large + # test for building docs, apparently broken too + beartype_test/a90_func/z90_lib/a00_sphinx + ) + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest +} diff --git a/dev-python/bitarray/Manifest b/dev-python/bitarray/Manifest index bb14362ec529..33e4b9d318f1 100644 --- a/dev-python/bitarray/Manifest +++ b/dev-python/bitarray/Manifest @@ -1,2 +1,3 @@ DIST bitarray-3.3.2.tar.gz 138926 BLAKE2B 35f068220f661bdb0fe2405d770e65bd39d78ae8ca0081aa5ccf58fb3666dec01e39c044901fdd5b3b65aab987768bd683033cd8aaf9d2f7728a8c43493e2101 SHA512 876c16e0a13db40e46ea643bfe82d85bcf33ad7154fb2d0d3c0065507758bdaa556b078e666fb7565402dbd168d591edef3577fa142bca1e53cc60d2aefc5ca0 DIST bitarray-3.4.1.tar.gz 142769 BLAKE2B 6ca3c770cd672f6003f84e5e66a1fb1891ba1d67ee9411bf284efaf5c9e8983be52054c2b6ef82fcfc25c3930ee549f176c152b2fbd6f906b53d90595b4aa11d SHA512 0dff0142feda9d8203cd40b599d74e35d0dee50a07bcf5e7b6bc3bc7c85d0f16b84f8e6f784c4e909fb702d835d859be3aa28d6fdc90833afea506c9a86b916b +DIST bitarray-3.4.2.tar.gz 143756 BLAKE2B a3b6f54d05b5bb9e77d1384202c6ecc869553064bdcbe18d8c135dfc2d5e7ba55abb2f075238ef85a3a2a11da6308eea2bce5d519a94a9de517bd809d4a8facc SHA512 28dc796f1a25833bfc54035bb9e33d923f8e6ea85b5977cbdf0febd5a189cbd561e3295e6dd06a3f2f5df7b55c5bc3a5b8197d8c47af27e6478cbe2f0d8bc876 diff --git a/dev-python/bitarray/bitarray-3.4.2.ebuild b/dev-python/bitarray/bitarray-3.4.2.ebuild new file mode 100644 index 000000000000..a510687dc8fd --- /dev/null +++ b/dev-python/bitarray/bitarray-3.4.2.ebuild @@ -0,0 +1,24 @@ +# 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_{11..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Efficient arrays of booleans -- C extension" +HOMEPAGE=" + https://github.com/ilanschnell/bitarray/ + https://pypi.org/project/bitarray/ +" + +LICENSE="PSF-2" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-linux ~x86-linux" + +python_test() { + "${EPYTHON}" bitarray/test_bitarray.py -v || die "Tests fail with ${EPYTHON}" +} diff --git a/dev-python/blockbuster/Manifest b/dev-python/blockbuster/Manifest new file mode 100644 index 000000000000..a26c71f56aa6 --- /dev/null +++ b/dev-python/blockbuster/Manifest @@ -0,0 +1 @@ +DIST blockbuster-1.5.24.tar.gz 51245 BLAKE2B 6d1e6a66154603d0a485dd77041b24488a35f9b07ec7b833b3ef2893edaada798e1feca158ceed7ba347cfcc738adc52d846991ec90808aa6a523a03403988cd SHA512 f286c1fad7236783aae81111480a43c946819264c7584fe9cdc466cdfff0c63c5076a9c74397e5f37782f5957c68834a1db7640a5aeae2bc0a2961fc472e7824 diff --git a/dev-python/blockbuster/blockbuster-1.5.24.ebuild b/dev-python/blockbuster/blockbuster-1.5.24.ebuild new file mode 100644 index 000000000000..d62cdf19be75 --- /dev/null +++ b/dev-python/blockbuster/blockbuster-1.5.24.ebuild @@ -0,0 +1,61 @@ +# Copyright 2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 ) + +inherit distutils-r1 pypi + +DESCRIPTION="Utility to detect blocking calls in the async event loop" +HOMEPAGE=" + https://github.com/cbornet/blockbuster/ + https://pypi.org/project/blockbuster/ +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64" + +RDEPEND=" + $(python_gen_cond_dep ' + >=dev-python/forbiddenfruit-0.1.4[${PYTHON_USEDEP}] + ' 'python*') +" +BDEPEND=" + test? ( + dev-python/aiofiles[${PYTHON_USEDEP}] + dev-python/pytest-asyncio[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +python_test() { + local EPYTEST_DESELECT=( + # Internet + tests/test_blockbuster.py::test_ssl_socket + ) + + case ${EPYTHON} in + pypy3.11) + EPYTEST_DESELECT+=( + # upstream doesn't care, however that doesn't stop + # people from depending on it... + # https://github.com/cbornet/blockbuster/issues/47 + tests/test_blockbuster.py::test_file_random + tests/test_blockbuster.py::test_file_read_bytes + tests/test_blockbuster.py::test_file_text + tests/test_blockbuster.py::test_file_write_bytes + tests/test_blockbuster.py::test_lock + tests/test_blockbuster.py::test_os_scandir + tests/test_blockbuster.py::test_scanned_modules + ) + ;; + esac + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest -p asyncio +} diff --git a/dev-python/blockbuster/metadata.xml b/dev-python/blockbuster/metadata.xml new file mode 100644 index 000000000000..a0d4c5913ba0 --- /dev/null +++ b/dev-python/blockbuster/metadata.xml @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>python@gentoo.org</email> + </maintainer> + + <origin>gentoo-staging</origin> + <stabilize-allarches/> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest index ca26b202cf40..1c0efda90abf 100644 --- a/dev-python/boto3/Manifest +++ b/dev-python/boto3/Manifest @@ -2,4 +2,5 @@ DIST boto3-1.38.13.gh.tar.gz 939786 BLAKE2B 5c65c92b79ce28f398170950ed0fbce84a00 DIST boto3-1.38.18.gh.tar.gz 943830 BLAKE2B 2605415f7c48efd5322f6a514fb2cf7ede8724b71e8c2f0758c50bf3137a03557c17e12702f628de155e2289e42b912f645a75845921b7674140c8cb49a92d7d SHA512 af9dbf07a2a2dd378fbf5d346b9a4b43d74ccaaf2bc713f738e122ba402529aec6361ca7971101e88a1ed7e39623a69a4d84272505e39fedc5d7a89985cdaf98 DIST boto3-1.38.19.gh.tar.gz 944143 BLAKE2B c9b38196a9207d3fc09c7239490665d422507ab407f62ba0de5dfb570f1543ab5963a6bf60b3342c923969bb3519c29cc33d718bbb9bb3f216ea8a2b6625f60e SHA512 57beda6650f6cac1a3067edf750257f12d729c0232e2af7bee0221f944c66cbdf993670da0fa23de789265361a2aadb198c670c52b72c789ff222418b8ea6309 DIST boto3-1.38.20.gh.tar.gz 944770 BLAKE2B 778e408520e141c2ef2d24ebaaa5b953a2ad699fdceeb72d026db30222a912f53c6a2d16ea088f3e3e598a38dbd8cf37330de2ba5c722e61b963a8a69137eb1e SHA512 3265784e043c85ab7cf7e99796c7540ce8306f6d021a929298b1bcd7fd8075589511ddb797204ffda049e0f40a4d78aa3664866b4e1aca5619c950b45feb1165 +DIST boto3-1.38.21.gh.tar.gz 945368 BLAKE2B 6315c80867363cd55427e6b0a70c87a59ddb492de0c5f1033d31f143738c76f24b55308fb559017a42e38d5c6e3110ad2a3928c8d5a5eeb410cb1dc79a94716e SHA512 060fce9ece5c25411e2b5c299ed5d0139db0c7896299a49a5a787d424843a35fdf8135a2ae08b2e9a156c0d6eb8ece4fe364dac4c80cb4484359ef96b6d00c37 DIST boto3-1.38.8.gh.tar.gz 937130 BLAKE2B 4158573a032957c33f62c6406937a45956f4ccf972be4a223e16a327b0b476402a1e7bf7d9b6a5b83005fc324f6c0062ed73008972cabed9247790225c4d4e5a SHA512 3c3854ed132ad4c81cd868848a370cdc73101ac3c578f8ae70bc53c9a98b1d85dcd364258027adef976b3c6d220aa45f865928c055c9320d3a268e0e29d5af63 diff --git a/dev-python/boto3/boto3-1.38.21.ebuild b/dev-python/boto3/boto3-1.38.21.ebuild new file mode 100644 index 000000000000..b862f479d876 --- /dev/null +++ b/dev-python/boto3/boto3-1.38.21.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_{9,10,11,12,13} ) + +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.12.0[${PYTHON_USEDEP}] +" + +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() { + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest tests/{functional,unit} +} diff --git a/dev-python/botocore/Manifest b/dev-python/botocore/Manifest index b576e65d6a53..ab7ad409c949 100644 --- a/dev-python/botocore/Manifest +++ b/dev-python/botocore/Manifest @@ -2,4 +2,5 @@ DIST botocore-1.38.13.gh.tar.gz 14619576 BLAKE2B 088dfd540934b2c1f20e5a63ffd3aa2 DIST botocore-1.38.18.gh.tar.gz 14648125 BLAKE2B b77da532e815f8cc270b78c5bfab8a9e9532e0909bab901eee68dca266b457e63fb5b5a844ee9c0ffd6cdeae7df570da7dc59ca50f47c19516d4d2578f07cb1d SHA512 59a1235400068b9246273340af5b198c77cffe5d1da1d2856a3bebc0bb5799329a1986a19dad50e2e85f1063cab920039aa00062a2d2250db9dc7ecc6fa63241 DIST botocore-1.38.19.gh.tar.gz 14653643 BLAKE2B 0c570186f0afa3a7b8443d2ce348d1e5cba934ac1a23bfd29c96ccffd8a6fa4fb070b6cbb699114de03d1e08dd74640fb33157b990beb52f53f9ced2ff753065 SHA512 e2fbce315af559eed3280d850e63c7dc5027be24a0f240a6404285e06fd8db043f965e64204a9fadb9e697e3b5480e839396a644dd54b4bc8579594d9e594976 DIST botocore-1.38.20.gh.tar.gz 14638642 BLAKE2B f4dbe0f25d184a633a5c42c20d090e356353086731017eb5d41a5a23f8e0cd8c3aca6f2167f6f5691e19f21216cf0b8e6d6f0683461f3cf37ecd9dfb3e6f280f SHA512 7e5484a76f4c8955227a6e5c4270f97c328f80b40da60611d0ad48dc7120dfc43e415b2dbe2d1880bd070c477ac74c366bdfac586308922f93427baadde2ddc5 +DIST botocore-1.38.21.gh.tar.gz 14647008 BLAKE2B c8e7b78c2091b7bc277c5e1d4d6c8b6ba3943813e92c11ec9c41bb04e8c1faf19e5d8f28dfe37cc92eaafbefe682e5939ec37b518ca0cadfaf9cfbf257c55762 SHA512 965bc9fcfe1763f652a662b8cd72736c066822485312a6552c197abccfcfc9dcf0dabae8cd4d5a463e312ef0f1d616d96c79fd737446ebcf7f33a01248dc3e6f DIST botocore-1.38.8.gh.tar.gz 14606167 BLAKE2B cb92f6014349f5188d62ddeb043e7532c50c7edc984cabae918825cdace981694c37ba656afcbbb64e65e275da4980d5f256a945bbcc63f9609272b08690c3d5 SHA512 bc9096051fde740a908ef0912a0c205595e7df653a349c167f616a788423578ba6b3aed6fe6213f528faa32b1c946abf0ac66dd81afdc05d41d12a4af4f7e818 diff --git a/dev-python/botocore/botocore-1.38.21.ebuild b/dev-python/botocore/botocore-1.38.21.ebuild new file mode 100644 index 000000000000..535354aa3035 --- /dev/null +++ b/dev-python/botocore/botocore-1.38.21.ebuild @@ -0,0 +1,75 @@ +# 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_{11..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/jmespath-2[${PYTHON_USEDEP}] + dev-python/python-dateutil[${PYTHON_USEDEP}] + >=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}] +" +# unbundled packages +RDEPEND+=" + dev-python/requests[${PYTHON_USEDEP}] + dev-python/six[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/jsonschema[${PYTHON_USEDEP}] + ) +" + +EPYTEST_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 + ) + + case ${EPYTHON} in + python3.14) + EPYTEST_DESELECT+=( + tests/unit/test_utils.py::test_lru_cache_weakref + ) + ;; + esac + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest tests/{functional,unit} +} diff --git a/dev-python/build/build-1.2.2_p1-r1.ebuild b/dev-python/build/build-1.2.2_p1-r2.ebuild index f6442c827224..64204410295c 100644 --- a/dev-python/build/build-1.2.2_p1-r1.ebuild +++ b/dev-python/build/build-1.2.2_p1-r2.ebuild @@ -54,6 +54,7 @@ distutils_enable_tests pytest PATCHES=( # https://github.com/pypa/build/pull/861 + # https://github.com/pypa/build/pull/898 "${FILESDIR}/${P}-gentoo-pip.patch" ) diff --git a/dev-python/build/files/build-1.2.2_p1-gentoo-pip.patch b/dev-python/build/files/build-1.2.2_p1-gentoo-pip.patch index 4335500e73a8..262131705776 100644 --- a/dev-python/build/files/build-1.2.2_p1-gentoo-pip.patch +++ b/dev-python/build/files/build-1.2.2_p1-gentoo-pip.patch @@ -1,8 +1,8 @@ diff --git a/src/build/env.py b/src/build/env.py -index b8c7b5f6..f10cf4bf 100644 +index e583e68..ae5177b 100644 --- a/src/build/env.py +++ b/src/build/env.py -@@ -11,6 +11,7 @@ +@@ -11,6 +11,7 @@ import sys import sysconfig import tempfile import typing @@ -10,10 +10,16 @@ index b8c7b5f6..f10cf4bf 100644 from collections.abc import Collection, Mapping -@@ -158,6 +159,15 @@ def _has_valid_outer_pip(self) -> bool | None: +@@ -158,8 +159,21 @@ class _PipBackend(_EnvBackend): This checks for a valid global pip. Returns None if pip is missing, False if pip is too old, and True if it can be used. """ ++ + # Version to have added the `--python` option. +- return _has_dependency('pip', '22.3') ++ if not _has_dependency('pip', '22.3'): # pragma: no cover ++ return False ++ + # `pip install --python` is nonfunctional on Gentoo debundled pip. + # Detect that by checking if pip._vendor` module exists. However, + # searching for pip could yield warnings from _distutils_hack, @@ -23,6 +29,7 @@ index b8c7b5f6..f10cf4bf 100644 + if importlib.util.find_spec('pip._vendor') is None: + return False # pragma: no cover + - # Version to have added the `--python` option. - return _has_dependency('pip', '22.3') ++ return True + @functools.cached_property + def _has_virtualenv(self) -> bool: diff --git a/dev-python/cfn-lint/Manifest b/dev-python/cfn-lint/Manifest index 38c18761186b..4bf97d8de05f 100644 --- a/dev-python/cfn-lint/Manifest +++ b/dev-python/cfn-lint/Manifest @@ -1,2 +1,3 @@ DIST cfn_lint-1.34.2.tar.gz 3180262 BLAKE2B 0e92964da1d661e5a37f9f4c65c46b7eabdf9a23df1cbeeba96e072347b9be32b8067e72179e51ff83fbf8fa5cf810a409fe1819f3c124189a83e0bd9d147e0a SHA512 46d738319c3e0227fa0996e102e753929bf2bd6916136fe1879d757e64cc83554eca9fd1934dba89602301e42854af9f229bf4d41a118e2dea895553cf556b6e DIST cfn_lint-1.35.1.tar.gz 3077415 BLAKE2B 8ef32c6a1b7e6d4db976e8b59b1933814647207a0d690ecadb82ac1dd660bc5ed55e66de2ef21e9936d0c97abcdaa1bdaf8e65a996622e949ddf07afa8588240 SHA512 90c6acec47e9d4fb7344dab7c3ce8170a0ee09875806fe1ea71da91a9ef9e852044a351227b279e9ae0ba42d8f2f1104c6f1460b0aba00aac63ce41d4e147b36 +DIST cfn_lint-1.35.3.tar.gz 3105179 BLAKE2B a1bd9ea3dee0f4ee6ddf88a4572e0900ac099274bf75f37e54a56a6c5d102e9f1d91a14518be38b03a37257999ff3c9539c4a8f08a5042a1689e862259266d50 SHA512 bdd0188bcd7dd327e6a72c60dcc8535643750c3762632e09bb851c62f520b38518d76e0566686f8fe5766beff147abd5eccd94db34701bef5d149e84954a3a48 diff --git a/dev-python/cfn-lint/cfn-lint-1.35.3.ebuild b/dev-python/cfn-lint/cfn-lint-1.35.3.ebuild new file mode 100644 index 000000000000..669286dc533a --- /dev/null +++ b/dev-python/cfn-lint/cfn-lint-1.35.3.ebuild @@ -0,0 +1,61 @@ +# 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_{9,10,11,12,13} ) + +inherit distutils-r1 pypi + +DESCRIPTION="CloudFormation Linter" +HOMEPAGE=" + https://github.com/aws-cloudformation/cfn-lint/ + https://pypi.org/project/cfn-lint/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~riscv ~x86" + +RDEPEND=" + >=dev-python/aws-sam-translator-1.97.0[${PYTHON_USEDEP}] + dev-python/jsonpatch[${PYTHON_USEDEP}] + >=dev-python/jschema-to-python-1.2.3[${PYTHON_USEDEP}] + <dev-python/jsonschema-5[${PYTHON_USEDEP}] + >=dev-python/jsonschema-3.0[${PYTHON_USEDEP}] + dev-python/junit-xml[${PYTHON_USEDEP}] + <dev-python/networkx-4[${PYTHON_USEDEP}] + >dev-python/pyyaml-5.4[${PYTHON_USEDEP}] + >=dev-python/regex-2021.7.1[${PYTHON_USEDEP}] + >=dev-python/sarif-om-1.0.4[${PYTHON_USEDEP}] + >=dev-python/sympy-1.0.0[${PYTHON_USEDEP}] +" +BDEPEND=" + >=dev-python/setuptools-77.0.3[${PYTHON_USEDEP}] + test? ( + dev-python/defusedxml[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +src_prepare() { + # unpin the deps + sed -e 's:~=[0-9.]*::' -i pyproject.toml || die + distutils-r1_src_prepare +} + +python_test() { + local EPYTEST_DESELECT=( + # different line wrapping somehow + test/unit/module/template/test_template.py::TestTemplate::test_build_graph + # requires git repo + test/unit/module/maintenance/test_update_documentation.py::TestUpdateDocumentation::test_update_docs + ) + + # from tox.ini + local -x AWS_DEFAULT_REGION=us-east-1 + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest +} diff --git a/dev-python/coverage/Manifest b/dev-python/coverage/Manifest index 5f6569c318b3..b595cd493292 100644 --- a/dev-python/coverage/Manifest +++ b/dev-python/coverage/Manifest @@ -1 +1,2 @@ DIST coverage-7.8.0.tar.gz 811872 BLAKE2B e2054d58c31fb772b907220d2d8a768242208eb8ab829b579d3a1b081ae9169d8231bf79488e581ef95f53aa22682807fb74200859d8f49a739a3d9ac9859546 SHA512 ccc502d28a2a14ed9fa0b18a87b73ae0a3bd806948ca0887285c388399fa21aa8433d6fa2734ef6c42c92537edb7221406a91aab52b3cfb78bd8b77e6bea394c +DIST coverage-7.8.1.tar.gz 812193 BLAKE2B 09a3cfb3844395e732985b32a36c11d8aac22b994d77097e3fe37690079ca909e2ae8b0f72ac6f179eb4cbd74aeacb44ddb488ca5186c472ae2280abb7ccf4bc SHA512 208585f522a4c720e31b45b5975ea2e91c30a19d91fa0df88e9f36cc16e173bdcb19b5bc7e15da31769a0b3dd693ca951e45faccc7782fa17e8fb27133bcba7d diff --git a/dev-python/coverage/coverage-7.8.1.ebuild b/dev-python/coverage/coverage-7.8.1.ebuild new file mode 100644 index 000000000000..34b649a6eb90 --- /dev/null +++ b/dev-python/coverage/coverage-7.8.1.ebuild @@ -0,0 +1,109 @@ +# 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_{9,10,11,12,13} pypy3 ) +PYTHON_REQ_USE="threads(+),sqlite(+)" + +inherit distutils-r1 pypi + +DESCRIPTION="Code coverage measurement for Python" +HOMEPAGE=" + https://coverage.readthedocs.io/en/latest/ + https://github.com/nedbat/coveragepy/ + https://pypi.org/project/coverage/ +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos" +IUSE="+native-extensions" + +BDEPEND=" + test? ( + dev-python/flaky[${PYTHON_USEDEP}] + dev-python/hypothesis[${PYTHON_USEDEP}] + dev-python/pytest-xdist[${PYTHON_USEDEP}] + >=dev-python/unittest-mixins-1.4[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +src_prepare() { + distutils-r1_src_prepare + + sed -i -e '/addopts/s:-q -n auto::' pyproject.toml || die +} + +python_compile() { + if ! use native-extensions; then + local -x COVERAGE_DISABLE_EXTENSION=1 + fi + + distutils-r1_python_compile +} + +test_tracer() { + local -x COVERAGE_CORE=${1} + einfo " Testing with the ${COVERAGE_CORE} core ..." + epytest -p flaky -p hypothesis -p xdist tests +} + +python_test() { + local EPYTEST_DESELECT=( + # TODO: fails because of additional "Terminated" print on SIGTERM + tests/test_concurrency.py::SigtermTest::test_sigterm_threading_saves_data + # broken because of pytest plugins explicity loaded + tests/test_debug.py::ShortStackTest::test_short_stack{,_skip} + # these expect specific availability of C extension matching + # COVERAGE_CORE (which breaks testing pytracer on CPython) + tests/test_cmdline.py::CmdLineStdoutTest::test_version + tests/test_debug.py::DebugTraceTest::test_debug_sys_ctracer + # mismatch of expected concurrency in error message + # TODO: report upstream? + tests/test_concurrency.py::ConcurrencyTest::test_greenlet + tests/test_concurrency.py::ConcurrencyTest::test_greenlet_simple_code + # packaging tests, fragile to setuptools version + tests/test_setup.py + ) + local EPYTEST_IGNORE=( + # pip these days insists on fetching build deps from Internet + tests/test_venv.py + ) + + "${EPYTHON}" igor.py zip_mods || die + + local -x COVERAGE_TESTING=True + # TODO: figure out why they can't be imported inside test env + local -x COVERAGE_NO_CONTRACTS=1 + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + + local prev_opt=$(shopt -p nullglob) + shopt -s nullglob + local c_ext=( "${BUILD_DIR}/install$(python_get_sitedir)"/coverage/*.so ) + ${prev_opt} + + if [[ -n ${c_ext} ]]; then + cp "${c_ext}" coverage/ || die + test_tracer ctrace + fi + + test_tracer pytrace + + case ${EPYTHON} in + python3.1[01]|pypy3|pypy3.11) + ;; + *) + # available since Python 3.12 + test_tracer sysmon + ;; + esac + + if [[ -n ${c_ext} ]]; then + rm coverage/*.so || die + fi +} diff --git a/dev-python/desktop-notifier/Manifest b/dev-python/desktop-notifier/Manifest index 8c4ab269ca71..3a5318455e3d 100644 --- a/dev-python/desktop-notifier/Manifest +++ b/dev-python/desktop-notifier/Manifest @@ -1,2 +1 @@ -DIST desktop-notifier-6.1.0.gh.tar.gz 3876246 BLAKE2B c44833e65f9a7fc1f5965545cad6f7bf68068c41bf1eb6e820f0e2b9403645003eb88745eb344c5b7c70c3335559e125a330ae0bc96f7dcb759a0f8d8b59b89f SHA512 9e7bc21e2814e087e5cd483811272cf573f9a0020dc95cbcb19dc05b53f846526b59ff15025983ffabfdb2e2348312b507e25bf386b04d9c217662712e309cd4 DIST desktop-notifier-6.1.1.gh.tar.gz 3876119 BLAKE2B 04837aa94c32b7cb869272791ae14790c92f7b3f83f9442be793e05e7dcc7dba627e1ec36442488080c2d8c8987b3acf1a4b7f3e10453756157f832daf46ebae SHA512 dc96fee153d3a36238794f8ecd65b5e2fb0b20dfbc3c8a5a6530870f24e172b689c8c67229706b3bf58dbe3053f91f89b9f16979496bd60fc68536907d7cac68 diff --git a/dev-python/desktop-notifier/desktop-notifier-6.1.0.ebuild b/dev-python/desktop-notifier/desktop-notifier-6.1.0.ebuild deleted file mode 100644 index e5afa21c02c4..000000000000 --- a/dev-python/desktop-notifier/desktop-notifier-6.1.0.ebuild +++ /dev/null @@ -1,44 +0,0 @@ -# Copyright 2021-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{9,10,11,12,13} ) -DISTUTILS_USE_PEP517=setuptools - -inherit distutils-r1 - -DESCRIPTION="desktop-notifier is a Python library for cross-platform desktop notifications" -HOMEPAGE=" - https://desktop-notifier.readthedocs.io - https://pypi.org/project/desktop-notifier/ - https://github.com/samschott/desktop-notifier -" -SRC_URI="https://github.com/samschott/desktop-notifier/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~amd64" - -RDEPEND=" - dev-python/dbus-fast[${PYTHON_USEDEP}] - dev-python/packaging[${PYTHON_USEDEP}] - dev-python/typing-extensions[${PYTHON_USEDEP}] -" -BDEPEND=" - dev-python/build[${PYTHON_USEDEP}] - test? ( - dev-python/bidict - dev-python/pytest-asyncio - ) -" - -# Most tests fail, they need some prior setup -EPYTEST_DESELECT=( - tests/test_api.py::test_send - tests/test_api.py::test_clear - tests/test_api.py::test_clear_all - tests/test_callbacks - tests/test_sync_api -) -distutils_enable_tests pytest diff --git a/dev-python/dropbox/Manifest b/dev-python/dropbox/Manifest index bae8fd436ae3..cf1942f72469 100644 --- a/dev-python/dropbox/Manifest +++ b/dev-python/dropbox/Manifest @@ -1,2 +1 @@ -DIST dropbox-sdk-python-11.36.2.gh.tar.gz 1166700 BLAKE2B afd0592bd1e18416f91d1fd673f2b7b7f605eaab80c02a9d8535fefa7fb23c8bc6a08c191492e1ced5d4b2d17fa72e8e5b6a58ba797f170c0efb75e755a451c9 SHA512 ec27685b4e5344e706bffb68b110ef2d7b307a5865bed3e042d6835f3666d2eefca646627a07bae1a3142e5f0346865fe285b037b00f3da081eb5797f9a768f5 DIST dropbox-sdk-python-12.0.2.gh.tar.gz 1155008 BLAKE2B cc0006909a204f0b9efab7605680027b144dfff5c91ddf31460884ada4948b285ff0777f19f9395a1fc447a906018c3a43b40bc7651bdbb715c597849e7ecba9 SHA512 73834c89e2dc8b129a549d082a7862ec81f731c4977c6650cc421c08b62903b78c9fa1e191a330022591e2cb0e29b825e89e2d04056e2f4e6362a168b57fec39 diff --git a/dev-python/dropbox/dropbox-11.36.2.ebuild b/dev-python/dropbox/dropbox-11.36.2.ebuild deleted file mode 100644 index 02a72877ba08..000000000000 --- a/dev-python/dropbox/dropbox-11.36.2.ebuild +++ /dev/null @@ -1,43 +0,0 @@ -# Copyright 2021-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{9,10,11,12,13} ) -inherit distutils-r1 - -GH_PN=dropbox-sdk-python - -DESCRIPTION="The offical Dropbox SDK for Python" -HOMEPAGE="https://www.dropbox.com/developers" -# pypi does not have tests, stick with gh -SRC_URI="https://github.com/dropbox/${GH_PN}/archive/refs/tags/v${PV}.tar.gz -> ${GH_PN}-${PV}.gh.tar.gz" -S="${WORKDIR}"/${GH_PN}-${PV} - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~amd64 ~x86" - -RDEPEND=" - >=dev-python/requests-2.16.2[${PYTHON_USEDEP}] - >=dev-python/six-1.12.0[${PYTHON_USEDEP}] - >=dev-python/stone-2.0.0[${PYTHON_USEDEP}] -" - -# disable tests that need SCOPED_USER_DROPBOX_TOKEN -# and tests that fail -EPYTEST_DESELECT=( - test/integration/test_dropbox.py - test/unit/test_dropbox_unit.py::TestClient - test/unit/test_dropbox_unit.py::TestOAuth::test_NoRedirect_whole_flow -) - -distutils_enable_tests pytest - -python_prepare_all() { - # this is wrong - sed -i -e "s/^import mock$/from unittest import mock/" test/unit/test_dropbox_unit.py || die - - distutils-r1_python_prepare_all -} diff --git a/dev-python/dropbox/dropbox-12.0.2.ebuild b/dev-python/dropbox/dropbox-12.0.2.ebuild index 750c828b2603..cf9d12a323b9 100644 --- a/dev-python/dropbox/dropbox-12.0.2.ebuild +++ b/dev-python/dropbox/dropbox-12.0.2.ebuild @@ -4,7 +4,7 @@ EAPI=8 DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{9,10,11,12,13} ) +PYTHON_COMPAT=( python3_{11..14} ) inherit distutils-r1 GH_PN=dropbox-sdk-python diff --git a/dev-python/fake-py/Manifest b/dev-python/fake-py/Manifest new file mode 100644 index 000000000000..0f83c51f7374 --- /dev/null +++ b/dev-python/fake-py/Manifest @@ -0,0 +1 @@ +DIST fake_py-0.11.6.tar.gz 183570 BLAKE2B ebcc04cb4ea17d52c085e5d0989e88f74f78ee7a6967ccf1c000325d659150f783d2e0fd72e9919b2f3f0d2023328a0278e8e724ad960fcd22dcd1f302f0f0c0 SHA512 1ca476adc9b8bff0a4c2b666b91770b9126d093dc02dcab017db2a8099b20e5ed5416950127892f724460a8030a7f5ab51a9f91f4fed4ce6773ee31dbf827d3c diff --git a/dev-python/fake-py/fake-py-0.11.6.ebuild b/dev-python/fake-py/fake-py-0.11.6.ebuild new file mode 100644 index 000000000000..e4d56cdcea82 --- /dev/null +++ b/dev-python/fake-py/fake-py-0.11.6.ebuild @@ -0,0 +1,57 @@ +# Copyright 2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYPI_PN=fake.py +PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 ) + +inherit distutils-r1 pypi + +DESCRIPTION="Minimalistic, standalone alternative fake data generator with no dependencies" +HOMEPAGE=" + https://github.com/barseghyanartur/fake.py/ + https://pypi.org/project/fake-py/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64" + +BDEPEND=" + dev-python/setuptools-scm[${PYTHON_USEDEP}] + test? ( + dev-python/hypothesis[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +src_prepare() { + distutils-r1_src_prepare + + # avoid pytest-codeblock which is another nightmare NIH package + rm conftest.py || die +} + +python_test() { + # This package is a mess with tests thrown all over the place, + # and they need to be run separately because of how messy this is. + + local EPYTEST_DESELECT=( + # fails when started via 'python -m pytest' because of different + # argparse output + fake.py::TestCLI::test_no_command + ) + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest -o addopts= fake.py + + local suite + for suite in customisation dataclasses hypothesis lazyfuzzy; do + pushd "examples/${suite}" >/dev/null || die + epytest -o addopts= + popd >/dev/null || die + done +} diff --git a/dev-python/fake-py/metadata.xml b/dev-python/fake-py/metadata.xml new file mode 100644 index 000000000000..a0d4c5913ba0 --- /dev/null +++ b/dev-python/fake-py/metadata.xml @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>python@gentoo.org</email> + </maintainer> + + <origin>gentoo-staging</origin> + <stabilize-allarches/> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-python/forbiddenfruit/Manifest b/dev-python/forbiddenfruit/Manifest new file mode 100644 index 000000000000..352aada6fd32 --- /dev/null +++ b/dev-python/forbiddenfruit/Manifest @@ -0,0 +1 @@ +DIST forbiddenfruit-0.1.4.tar.gz 43756 BLAKE2B 0fc5d2b313807ae6645f086844162408901e890bfb689f3f585ba452e5a788767c34da2574059a73a8d5d9c2e46c9811d4bc7f00eaf74bc60607229be7735d16 SHA512 88f8751a9ca1d475eb74114787a7aeda02973e9bc2c4bbb08de8a4d6fe05c6fb82db093aace8f718caaaeb8b06c89112e5f418b8ee4d903cc6183ddfa2cdb087 diff --git a/dev-python/forbiddenfruit/files/forbiddenfruit-0.1.4-pytest.patch b/dev-python/forbiddenfruit/files/forbiddenfruit-0.1.4-pytest.patch new file mode 100644 index 000000000000..9d899da70491 --- /dev/null +++ b/dev-python/forbiddenfruit/files/forbiddenfruit-0.1.4-pytest.patch @@ -0,0 +1,59 @@ +From 2022b268f2a537eca27bac10ba74fef35e482d1d Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org> +Date: Wed, 21 May 2025 18:50:41 +0200 +Subject: [PATCH] Port to pytest + +Port the test suite to pytest, given that nose is unmaintained +and does not work with modern Python versions. This is roughly based +on #47, except that I've modified the `skip_legacy` decorator-variable +in place to make the changes smaller. +--- + Makefile | 3 +-- + development.txt | 3 ++- + tests/unit/test_forbidden_fruit.py | 7 ++++--- + 3 files changed, 7 insertions(+), 6 deletions(-) + +diff --git a/tests/unit/test_forbidden_fruit.py b/tests/unit/test_forbidden_fruit.py +index f8a1b62..7315d1b 100644 +--- a/tests/unit/test_forbidden_fruit.py ++++ b/tests/unit/test_forbidden_fruit.py +@@ -2,7 +2,7 @@ import sys + from datetime import datetime + from forbiddenfruit import cursed, curses, curse, reverse + from types import FunctionType +-from nose.tools import nottest, istest ++import pytest + + # Our stub! :) + from . import ffruit +@@ -14,7 +14,8 @@ def almost_equal(a, b, e=0.001): + return abs(a - b) < e + + +-skip_legacy = nottest if sys.version_info < (3, 3) else istest ++skip_legacy = pytest.mark.skipif(sys.version_info < (3, 3), ++ reason="requires Python < 3.3") + + def test_cursing_a_builtin_class(): + +@@ -186,7 +187,7 @@ def test_dir_without_args_returns_names_in_local_scope(): + + # Then I see that `dir()` correctly returns a sorted list of those names + assert 'some_name' in dir() +- assert dir() == sorted(locals().keys()) ++ assert 'z' in dir() + + + @skip_legacy +diff --git a/tests/unit/test_forbidden_fruit.py b/tests/unit/test_forbidden_fruit.py +index 56b09ce..dd182c6 100644 +--- a/tests/unit/test_forbidden_fruit.py ++++ b/tests/unit/test_forbidden_fruit.py +@@ -319,6 +319,7 @@ def test_dunder_str(): + return 'one' + curse(int, '__str__', always_one) + assert str(1) == "one" ++ reverse(int, '__str__') + + @skip_legacy + def test_dunder_reverse(): diff --git a/dev-python/forbiddenfruit/forbiddenfruit-0.1.4.ebuild b/dev-python/forbiddenfruit/forbiddenfruit-0.1.4.ebuild new file mode 100644 index 000000000000..ace19882db32 --- /dev/null +++ b/dev-python/forbiddenfruit/forbiddenfruit-0.1.4.ebuild @@ -0,0 +1,52 @@ +# Copyright 2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_TESTED=( python3_{9,10,11,12,13} ) +# tests crash on 3.13+ +# https://github.com/clarete/forbiddenfruit/issues/78 +PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" ) + +inherit distutils-r1 pypi + +DESCRIPTION="Patch built-in Python objects" +HOMEPAGE=" + https://github.com/clarete/forbiddenfruit/ + https://pypi.org/project/forbiddenfruit/ +" + +LICENSE="|| ( GPL-3 MIT )" +SLOT="0" +KEYWORDS="~amd64" +IUSE="test" +RESTRICT="!test? ( test )" + +BDEPEND=" + test? ( + $(python_gen_cond_dep ' + dev-python/pytest[${PYTHON_USEDEP}] + ' "${PYTHON_TESTED[@]}") + ) +" + +PATCHES=( + # https://github.com/clarete/forbiddenfruit/pull/79 + # + test case fix from + # https://github.com/clarete/forbiddenfruit/commit/6eb07cb77bcd3d54c7f09f23f176706d7dfccdef + "${FILESDIR}/${P}-pytest.patch" +) + +python_test() { + if ! has "${EPYTHON/./_}" "${PYTHON_TESTED[@]}"; then + einfo "Skipping tests on ${EPYTHON}, as they are broken" + return + fi + + local -x FFRUIT_EXTENSION=true + esetup.py build_ext -b tests/unit + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest +} diff --git a/dev-python/forbiddenfruit/metadata.xml b/dev-python/forbiddenfruit/metadata.xml new file mode 100644 index 000000000000..a0d4c5913ba0 --- /dev/null +++ b/dev-python/forbiddenfruit/metadata.xml @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>python@gentoo.org</email> + </maintainer> + + <origin>gentoo-staging</origin> + <stabilize-allarches/> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-python/google-auth/Manifest b/dev-python/google-auth/Manifest index 9a4f92eeb0be..0390aa32b97b 100644 --- a/dev-python/google-auth/Manifest +++ b/dev-python/google-auth/Manifest @@ -1,3 +1,4 @@ DIST google_auth-2.39.0.tar.gz 274834 BLAKE2B f924291ba51799c4560849f61c30419110c786bfe12bade26ecd6940c952ad91a515770997008a2dd0b82f42771695500b951e036b2387b43e57c76ca2e6e04e SHA512 3bee0b649fdec2e9972afc47cd863f58c2b5e451a3970d85674d3d0572b1cbfd39d355af8c7648bb79aea2b41bd177da03dd01cb146681ed651de2d06bf355c0 DIST google_auth-2.40.0.tar.gz 280934 BLAKE2B a70b27a417e08e7d0edbc0ec09049aca6035582c9dc0bcc9b0d29acbc17f137beb2a9c145e783b356720b3327fd426025bef236a63dab83e98399a9bfd0dda36 SHA512 0e4587bde4076fcf8f905f1f8de6aa3b145424be2b8a36108f4f1fad12f024ea47e1b0bc5c877fa119b6a0dd7fa7fcb6a48e6cfbe4dacf72d04c23938cd66dbb DIST google_auth-2.40.1.tar.gz 280975 BLAKE2B 755d05067caeb3317489d040bc17cb92a6a96f9f2433d43eb02dedd7dc3caadf9012ed497a5956ec82174ccec8b704d123275c22211906d7edbb915442313874 SHA512 3a3a5b970d020ba8e220794ef276ef55249026161f18dce513eaaa2e63f2a0d628a477c11ea2b35e7686b924ccc12eb5ff6c97a6e8df5279f8d3a195f85d4181 +DIST google_auth-2.40.2.tar.gz 280990 BLAKE2B 969cadb07091f221d1e9e82e783068913f7d6cbc7a4087b29e368bf0f6c89da45d880fc0aa9aa62f3efd467a70c17bd7c864d2dc7a9de64938f4086dd1a0ad00 SHA512 d79213f2c8fc3603437be5d40a1b887d85c13aa401dd918581cf17d5ac8a8211cf08633ec3a4fead705ad38d72a4a1eb919f073b10983be4a652a0db2bc14b43 diff --git a/dev-python/google-auth/google-auth-2.40.2.ebuild b/dev-python/google-auth/google-auth-2.40.2.ebuild new file mode 100644 index 000000000000..380871c78686 --- /dev/null +++ b/dev-python/google-auth/google-auth-2.40.2.ebuild @@ -0,0 +1,73 @@ +# 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_{9,10,11,12,13} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Google Authentication Library" +HOMEPAGE=" + https://github.com/googleapis/google-auth-library-python/ + https://pypi.org/project/google-auth/ +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" + +RDEPEND=" + <dev-python/cachetools-6.0.0[${PYTHON_USEDEP}] + >=dev-python/pyasn1-0.1.7[${PYTHON_USEDEP}] + >=dev-python/pyasn1-modules-0.2.1[${PYTHON_USEDEP}] + >=dev-python/rsa-3.1.4[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/aioresponses[${PYTHON_USEDEP}] + >=dev-python/cryptography-38.0.3[${PYTHON_USEDEP}] + dev-python/flask[${PYTHON_USEDEP}] + dev-python/freezegun[${PYTHON_USEDEP}] + dev-python/mock[${PYTHON_USEDEP}] + dev-python/moto[${PYTHON_USEDEP}] + >=dev-python/pyjwt-2.0[${PYTHON_USEDEP}] + dev-python/pyopenssl[${PYTHON_USEDEP}] + dev-python/pytest-asyncio[${PYTHON_USEDEP}] + dev-python/pytest-localserver[${PYTHON_USEDEP}] + dev-python/pyu2f[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] + dev-python/responses[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +src_prepare() { + distutils-r1_src_prepare + + # unpin deps + sed -i -e 's:,<[0-9.]*::' setup.py || die +} + +python_compile() { + distutils-r1_python_compile + find "${BUILD_DIR}" -name '*.pth' -delete || die +} + +python_test() { + local EPYTEST_DESELECT=( + # tests are broken with up-to-date pyopenssl + tests/transport/test__mtls_helper.py::TestDecryptPrivateKey::test_success + ) + local EPYTEST_IGNORE=( + # these are compatibility tests with oauth2client + # disable them to unblock removal of that package + tests/test__oauth2client.py + ) + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + distutils_write_namespace google + epytest -p asyncio +} diff --git a/dev-python/hypothesis/Manifest b/dev-python/hypothesis/Manifest index f9be490b7186..8118b9a49d76 100644 --- a/dev-python/hypothesis/Manifest +++ b/dev-python/hypothesis/Manifest @@ -3,4 +3,5 @@ DIST hypothesis-6.131.15.gh.tar.gz 9553236 BLAKE2B 29473ae79fce7183cbaec2f936824 DIST hypothesis-6.131.18.gh.tar.gz 9553394 BLAKE2B f4a880dd4681ca59b39614e70c70ae7b5e02599c84f5eb26638f9e62b176f0ff75bec0489b7ed36e1e07b97703cf1b29d956f2debc32158d803bf442c57ac377 SHA512 ca3185e82c4b4853473d0d87c3723381a49be8dc488d0ac5af223f394af77ed46368b272cb8d991b95cf4f61dc1713109b93cc193fdebf96353e0c0099b15ad3 DIST hypothesis-6.131.19.gh.tar.gz 9553439 BLAKE2B fae594e0e8be85868f67727a7bbf79900748f682a9a7a5d38272160428d1083cda69686b35569914087965746d9e78459c73c392eafa8ccfa84f3a5362e5bdc6 SHA512 7c8d345990f13112d49870145c9abc32aef004fbbb13f64b8aa6e955406322c869e18a7bf9e19fb6aeb24266736f3ced4731fe87edc6334e9d095ed2d9dd4f57 DIST hypothesis-6.131.20.gh.tar.gz 9553957 BLAKE2B 0ffd3e0efc555ad951676ce176fd3df9fcd2fe478e0b8d3ecbacfbe2d6de5316fac2014d8ef2aee09b554bf8f8fccb488f5b8c9d0f7b89ba522c2c26cf41db6c SHA512 98722dea44641cb3969ab14521a6d4b47f8dee18a4e173172587e5ef61518c6ab2cda215a20d2a8cd28bfa835731bbec056fade62d385d02096e1a72377f97ff +DIST hypothesis-6.131.21.gh.tar.gz 9554122 BLAKE2B 9ff54791680b31d0c035d4351a3264702e9398d52cb4469d33cb5c025badac35f950f067b300482a30ef12ba43b528654ec17592eeb4d20721d3789b32fe0438 SHA512 c3179a5bba8b698d4b4e7fe45a285b69d18f5fb2365b49cd8afdc31f2a9c0c7d906b0975bb154b233c23518a163e8a18dd6f73f88a323a5c1291e14fa9498a1d DIST hypothesis-6.131.9.gh.tar.gz 9549949 BLAKE2B 8fb5c9b9ad2c3940671d1128980b431fd43e63e35561c53f4cb172e12313019349a9ec3f3d7ecc5c8701e1aef471a1242861a94a37767e61629a42a5bf525ed0 SHA512 345baa03d68ef615fc926d93344e4f5e6f7899f104d489ebcf127426a7b2bdf6b6ac1b19ae153b297102c3a2980fa1627ce8a900a851965b213f0bd30ff4e54c diff --git a/dev-python/hypothesis/hypothesis-6.131.21.ebuild b/dev-python/hypothesis/hypothesis-6.131.21.ebuild new file mode 100644 index 000000000000..5fc2ebd650ed --- /dev/null +++ b/dev-python/hypothesis/hypothesis-6.131.21.ebuild @@ -0,0 +1,126 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +CLI_COMPAT=( python3_{11..13} ) +PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 ) +PYTHON_REQ_USE="threads(+),sqlite" + +inherit distutils-r1 optfeature + +TAG=hypothesis-python-${PV} +MY_P=hypothesis-${TAG} +DESCRIPTION="A library for property based testing" +HOMEPAGE=" + https://github.com/HypothesisWorks/hypothesis/ + https://pypi.org/project/hypothesis/ +" +SRC_URI=" + https://github.com/HypothesisWorks/hypothesis/archive/${TAG}.tar.gz + -> ${P}.gh.tar.gz +" +S="${WORKDIR}/${MY_P}/hypothesis-python" + +LICENSE="MPL-2.0" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="cli" + +RDEPEND=" + >=dev-python/attrs-22.2.0[${PYTHON_USEDEP}] + >=dev-python/sortedcontainers-2.1.0[${PYTHON_USEDEP}] + cli? ( + $(python_gen_cond_dep ' + dev-python/black[${PYTHON_USEDEP}] + dev-python/click[${PYTHON_USEDEP}] + ' "${CLI_COMPAT[@]}") + ) +" +BDEPEND=" + test? ( + dev-python/pexpect[${PYTHON_USEDEP}] + >=dev-python/pytest-8[${PYTHON_USEDEP}] + dev-python/pytest-rerunfailures[${PYTHON_USEDEP}] + dev-python/pytest-xdist[${PYTHON_USEDEP}] + ) +" + +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +python_test() { + # subtests are broken by warnings from random plugins + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + local -x PYTEST_PLUGINS=xdist.plugin,_hypothesis_pytestplugin + local -x HYPOTHESIS_NO_PLUGINS=1 + + # NB: paths need to be relative to pytest.ini, + # i.e. start with hypothesis-python/ + local EPYTEST_DESELECT=() + case ${EPYTHON} in + python3.13t) + EPYTEST_DESELECT+=( + # TODO: missing warning + 'hypothesis-python/tests/cover/test_random_module.py::test_passing_referenced_instance_within_function_scope_warns' + ) + ;& + python3.14*) + EPYTEST_DESELECT+=( + 'hypothesis-python/tests/cover/test_compat.py::test_resolve_fwd_refs[Foo-Union]' + 'hypothesis-python/tests/cover/test_lookup.py::test_builds_suggests_from_type[Union]' + hypothesis-python/tests/cover/test_attrs_inference.py::test_attrs_inference_builds + hypothesis-python/tests/cover/test_lookup.py::test_bytestring_not_treated_as_generic_sequence + hypothesis-python/tests/cover/test_lookup.py::test_issue_4194_regression + hypothesis-python/tests/cover/test_lookup.py::test_resolves_forwardrefs_to_builtin_types + hypothesis-python/tests/cover/test_lookup.py::test_specialised_collection_types + hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_collection_as_generic + hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_container_as_generic + hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_contextmanager_as_generic + hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_iterable_as_generic + hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_reversible_as_generic + hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_sequence_as_generic + hypothesis-python/tests/cover/test_random_module.py::test_evil_prng_registration_nonsense + hypothesis-python/tests/cover/test_random_module.py::test_passing_referenced_instance_within_function_scope_warns + hypothesis-python/tests/cover/test_random_module.py::test_register_random_within_nested_function_scope + hypothesis-python/tests/cover/test_random_module.py::test_registering_a_Random_is_idempotent + hypothesis-python/tests/cover/test_type_lookup_forward_ref.py::test_bound_missing_dot_access_forward_ref + hypothesis-python/tests/cover/test_type_lookup_forward_ref.py::test_bound_missing_forward_ref + hypothesis-python/tests/cover/test_type_lookup_forward_ref.py::test_bound_type_checking_only_forward_ref_wrong_type + hypothesis-python/tests/cover/test_type_lookup_forward_ref.py::test_bound_type_cheking_only_forward_ref + ) + ;; + esac + + epytest -o filterwarnings= -p rerunfailures --reruns=5 \ + tests/cover tests/pytest tests/quality +} + +src_install() { + local HAD_CLI= + + distutils-r1_src_install + + if [[ ! ${HAD_CLI} ]]; then + rm -r "${ED}/usr/bin" || die + fi +} + +python_install() { + distutils-r1_python_install + if use cli && has "${EPYTHON}" "${CLI_COMPAT[@]/_/.}"; then + HAD_CLI=1 + else + rm -r "${D}$(python_get_scriptdir)" || die + fi +} + +pkg_postinst() { + optfeature "datetime support" dev-python/pytz + optfeature "dateutil support" dev-python/python-dateutil + optfeature "numpy support" dev-python/numpy + optfeature "django support" dev-python/django dev-python/pytz + optfeature "pandas support" dev-python/pandas + optfeature "pytest support" dev-python/pytest +} diff --git a/dev-python/isal/Manifest b/dev-python/isal/Manifest new file mode 100644 index 000000000000..b8491670e1fa --- /dev/null +++ b/dev-python/isal/Manifest @@ -0,0 +1 @@ +DIST python-isal-1.7.2.gh.tar.gz 3396847 BLAKE2B a92f2fb3bbf3786d0fdb15cf838d71dc9ae3f4870a50a6280ee31cd9f8277d603e144dd9af18d24eb98070f8368897ab2d3b7853b9a48dafbb5733c8851652be SHA512 0c97a2ec72428d522d3afd3fc109183600c33f42328c71cc78c7c4e376d4c9a8fef5287830653b280712f8a5d67f46f4088f8deb1edfb57b6f4385dcc8744d52 diff --git a/dev-python/isal/isal-1.7.2.ebuild b/dev-python/isal/isal-1.7.2.ebuild new file mode 100644 index 000000000000..d2603da150d6 --- /dev/null +++ b/dev-python/isal/isal-1.7.2.ebuild @@ -0,0 +1,54 @@ +# Copyright 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_{9,10,11,12,13} pypy3 ) + +inherit distutils-r1 + +MY_P=python-isal-${PV} +DESCRIPTION="Faster zlib and gzip via the ISA-L library" +HOMEPAGE=" + https://github.com/pycompression/python-isal/ + https://pypi.org/project/isal/ +" +# no tests in sdist, as of 1.7.2 +# https://github.com/pycompression/python-isal/issues/231 +SRC_URI=" + https://github.com/pycompression/python-isal/archive/v${PV}.tar.gz + -> ${MY_P}.gh.tar.gz +" +S=${WORKDIR}/${MY_P} + +LICENSE="PSF-2" +SLOT="0" +KEYWORDS="~amd64" + +DEPEND=" + dev-libs/isa-l:= +" +RDEPEND=" + ${DEPEND} +" + +distutils_enable_tests pytest + +src_configure() { + export PYTHON_ISAL_LINK_DYNAMIC=1 + + # why people can't use setuptools-scm... + sed -i -e '/versioningit/d' setup.py || die + sed -i -e 's/versioningit/ignoreme/' pyproject.toml || die + # it is an noeol file... + echo >> setup.cfg || die + echo "version = ${PV}" >> setup.cfg || die + echo "__version__ = '${PV}'" > src/isal/_version.py || die +} + +python_test() { + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest tests +} diff --git a/dev-python/isal/metadata.xml b/dev-python/isal/metadata.xml new file mode 100644 index 000000000000..7ad11570cc7d --- /dev/null +++ b/dev-python/isal/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>python@gentoo.org</email> + </maintainer> + + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-python/jsonpickle/Manifest b/dev-python/jsonpickle/Manifest index 230fbd4a7e39..a6fa0ca867ce 100644 --- a/dev-python/jsonpickle/Manifest +++ b/dev-python/jsonpickle/Manifest @@ -1 +1,2 @@ DIST jsonpickle-4.0.5.gh.tar.gz 308783 BLAKE2B 5f8a299afe9bc745882d46b36444f6f96bbef097fd78b79de1f9ecaf4cdc64811ddbf948f273eb456ed669f694204c7521140547be14f527dbcff038f4c4ad64 SHA512 ff4d252991cddb58e5c23b18ca23a24d77ea98af436eac5780df7c8c32d3083ef8291ce3688145b4aa2adcd0d19df869492761147cf32a9ff8fffd31ed5c98a8 +DIST jsonpickle-4.1.0.gh.tar.gz 309052 BLAKE2B c491c70cb77fc2871f1b07060e1a96f49612135c9f0a0f0a44793e44f3ac883223e946cf5857075d057c4095b8463f087f8c260bce3b6cf0423f8139e89dc023 SHA512 124565db38aba3d6c8869a0bdddd86725053d75fb8b143ad61a4ec36276ae7fbf8bc0369f17e2453db7dd609e69a8f746a1b34e395d369daa362bb45f80dd839 diff --git a/dev-python/jsonpickle/jsonpickle-4.1.0.ebuild b/dev-python/jsonpickle/jsonpickle-4.1.0.ebuild new file mode 100644 index 000000000000..802a9f09cf35 --- /dev/null +++ b/dev-python/jsonpickle/jsonpickle-4.1.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 +PYTHON_COMPAT=( python3_{9,10,11,12,13} ) + +inherit distutils-r1 optfeature + +DESCRIPTION="Python library for serializing any arbitrary object graph into JSON" +HOMEPAGE=" + https://github.com/jsonpickle/jsonpickle/ + https://pypi.org/project/jsonpickle/ +" +SRC_URI=" + https://github.com/jsonpickle/jsonpickle/archive/refs/tags/v${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~riscv ~x86 ~amd64-linux ~x86-linux" + +BDEPEND=" + dev-python/setuptools-scm[${PYTHON_USEDEP}] + test? ( + dev-python/feedparser[${PYTHON_USEDEP}] + dev-python/gmpy2[${PYTHON_USEDEP}] + dev-python/numpy[${PYTHON_USEDEP}] + dev-python/pandas[${PYTHON_USEDEP}] + dev-python/simplejson[${PYTHON_USEDEP}] + dev-python/sqlalchemy[${PYTHON_USEDEP}] + dev-python/ujson[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +python_prepare_all() { + distutils-r1_python_prepare_all + + export SETUPTOOLS_SCM_PRETEND_VERSION=${PV} +} + +python_test() { + local EPYTEST_IGNORE=( + # unpackaged bson dependency + tests/bson_test.py + ) + + if ! has_version "dev-python/gmpy2[${PYTHON_USEDEP}]"; then + EPYTEST_IGNORE+=( jsonpickle/ext/gmpy.py ) + fi + if ! has_version "dev-python/pandas[${PYTHON_USEDEP}]"; then + EPYTEST_IGNORE+=( jsonpickle/ext/pandas.py ) + fi + + epytest tests +} + +pkg_postinst() { + # Unpackaged optional backends: yajl, demjson + optfeature "encoding numpy-based data" dev-python/numpy + optfeature "encoding pandas objects" dev-python/pandas + optfeature "fast JSON backend" dev-python/simplejson +} diff --git a/dev-python/osc-lib/Manifest b/dev-python/osc-lib/Manifest index 83434a7b2e5d..8f1458f4ea21 100644 --- a/dev-python/osc-lib/Manifest +++ b/dev-python/osc-lib/Manifest @@ -1 +1,2 @@ DIST osc_lib-4.0.0.tar.gz 101874 BLAKE2B a2ab33ca2b3cfe297664be940dff6a158c62de0d1c45203a1fd418fbf119d44bd52063c6d49e21cbd1afc43163d7d9bfa8d77e41b559b6e87cc0933d8da3c7b9 SHA512 bd6ccfcecb4d4a026a2900e9f472da89b3c3cbc9e0396f1f9403a8aeb4ff6756c80ba655fa7c6b0d88321ab31f05fb0db506916ab0edcc979370df76862b7c52 +DIST osc_lib-4.0.2.tar.gz 101879 BLAKE2B e89d781089f1172e04739c5412baee727f5f680414cd2546aa37899b94f07eff338e9efc0872fee9dbcd773329ebfd8f0b5a780b2de1b4b65c77cb7efd85cd17 SHA512 a27c6553c51f28839147eee5f3e475cef726c529fc180f4e9055b48212a12b264dbe153d37fd2509dbdf60be697f9b47b2376dd88825d201ed15125160ad1f11 diff --git a/dev-python/osc-lib/osc-lib-4.0.2.ebuild b/dev-python/osc-lib/osc-lib-4.0.2.ebuild new file mode 100644 index 000000000000..a1e4da06173f --- /dev/null +++ b/dev-python/osc-lib/osc-lib-4.0.2.ebuild @@ -0,0 +1,50 @@ +# 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_{9,10,11,12,13} ) + +inherit distutils-r1 pypi + +DESCRIPTION="A package of common support modules for writing OSC plugins" +HOMEPAGE=" + https://opendev.org/openstack/osc-lib/ + https://github.com/openstack/osc-lib/ + https://pypi.org/project/osc-lib/ +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86 ~amd64-linux ~x86-linux" + +RDEPEND=" + >=dev-python/cliff-4.9.0[${PYTHON_USEDEP}] + >=dev-python/keystoneauth1-5.10.0[${PYTHON_USEDEP}] + >=dev-python/openstacksdk-0.15.0[${PYTHON_USEDEP}] + >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}] + >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}] + >=dev-python/requests-2.14.2[${PYTHON_USEDEP}] + >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}] +" +BDEPEND=" + >dev-python/pbr-2.1.0[${PYTHON_USEDEP}] + test? ( + >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}] + >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}] + >=dev-python/requests-mock-1.2.0[${PYTHON_USEDEP}] + >=dev-python/statsd-3.3.0[${PYTHON_USEDEP}] + >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}] + >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests unittest + +src_prepare() { + # need to skip all tests under TestTagHelps class + # checks exact help message, based on another unittest runner + sed -e '179,$s/test_add_tag_/_&/' -i osc_lib/tests/utils/test_tags.py || die + distutils-r1_src_prepare +} diff --git a/dev-python/pybind11/Manifest b/dev-python/pybind11/Manifest index 2364e72b8fcb..8b3281109753 100644 --- a/dev-python/pybind11/Manifest +++ b/dev-python/pybind11/Manifest @@ -1 +1,2 @@ DIST pybind11-2.13.6.gh.tar.gz 800804 BLAKE2B 1f2efa05727ebbcd8e439b83bacfebb21d26a6f8f719e0a627633abdcae59837936e37e6441196e097e0075c9f922048d4e88146bb627d97ada28c48165bddb7 SHA512 497c25b33b09a9c42f67131ab82e35d689e8ce089dd7639be997305ff9a6d502447b79c824508c455d559e61f0186335b54dd2771d903a7c1621833930622d1a +DIST pybind11-3.0.0rc1.gh.tar.gz 902027 BLAKE2B 9ddc7a5307b8e2fd53d99b8f93afd960ba73c9a04dd1b89f4b53b4e80f4bede74a823643c6e40d43741321b5b73752738782c1f601158cb77a4d6f58485cb002 SHA512 e05369a1082e3980055970d8fa9dddb54f2d1d75ef1e9968f62a02d9d00b9d22109359f97fd8cc0a2a8881c8126f5820c08cd41dd29c998a1c60c6a69c9a3983 diff --git a/dev-python/pybind11/pybind11-3.0.0_rc1.ebuild b/dev-python/pybind11/pybind11-3.0.0_rc1.ebuild new file mode 100644 index 000000000000..6ab744eced63 --- /dev/null +++ b/dev-python/pybind11/pybind11-3.0.0_rc1.ebuild @@ -0,0 +1,85 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=scikit-build-core +PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 ) + +inherit cmake distutils-r1 + +MY_P=${P/_} +DESCRIPTION="AST-based Python refactoring library" +HOMEPAGE=" + https://pybind11.readthedocs.io/en/stable/ + https://github.com/pybind/pybind11/ + https://pypi.org/project/pybind11/ +" +SRC_URI=" + https://github.com/pybind/pybind11/archive/v${PV/_}.tar.gz + -> ${MY_P}.gh.tar.gz +" +S=${WORKDIR}/${MY_P} + +LICENSE="BSD" +SLOT="0" + +RDEPEND=" + dev-cpp/eigen:3 +" +BDEPEND=" + test? ( + <dev-cpp/catch-3:0 + >=dev-cpp/catch-2.13.9:0 + dev-libs/boost + dev-python/pytest-rerunfailures[${PYTHON_USEDEP}] + dev-python/tomlkit[${PYTHON_USEDEP}] + ) +" + +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +src_prepare() { + cmake_src_prepare + distutils-r1_src_prepare + + # https://github.com/scikit-build/scikit-build-core/issues/912 + sed -i -e '/scikit-build-core/s:0\.11\.2:0.8:' pyproject.toml || die +} + +python_configure() { + DISTUTILS_ARGS=( + # disable forced lto + -DHAS_FLTO=OFF + # https://github.com/pybind/pybind11/issues/5087 + -DPYBIND11_FINDPYTHON=OFF + -DPYBIND11_INSTALL=ON + -DPYBIND11_TEST=OFF + ) + + local mycmakeargs=( + "${DISTUTILS_ARGS[@]}" + -DPYBIND11_TEST=$(usex test) + ) + cmake_src_configure +} + +python_compile() { + distutils-r1_python_compile + # Compilation only does anything for tests + use test && cmake_src_compile +} + +python_test() { + cmake_build cpptest test_cmake_build + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + cd "${BUILD_DIR}/tests" || die + epytest -p rerunfailures --reruns=5 "${S}/tests" +} + +python_install() { + distutils-r1_python_install + cmake_src_install +} diff --git a/dev-python/pygobject/pygobject-3.46.0-r1.ebuild b/dev-python/pygobject/pygobject-3.46.0-r1.ebuild index 36e62dfd6a5c..d66c8d445256 100644 --- a/dev-python/pygobject/pygobject-3.46.0-r1.ebuild +++ b/dev-python/pygobject/pygobject-3.46.0-r1.ebuild @@ -1,11 +1,11 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 DISTUTILS_EXT=1 DISTUTILS_USE_PEP517=no -PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 ) +PYTHON_COMPAT=( python3_{9,10,11,12,13} ) inherit gnome.org meson virtualx xdg distutils-r1 diff --git a/dev-python/pygobject/pygobject-3.48.2-r1.ebuild b/dev-python/pygobject/pygobject-3.48.2-r1.ebuild index 4d6cd11e0ef6..a193649614df 100644 --- a/dev-python/pygobject/pygobject-3.48.2-r1.ebuild +++ b/dev-python/pygobject/pygobject-3.48.2-r1.ebuild @@ -1,11 +1,11 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 DISTUTILS_EXT=1 DISTUTILS_USE_PEP517=no -PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 ) +PYTHON_COMPAT=( python3_{9,10,11,12,13} ) inherit gnome.org meson virtualx xdg distutils-r1 diff --git a/dev-python/pygobject/pygobject-3.50.0.ebuild b/dev-python/pygobject/pygobject-3.50.0.ebuild index ef185e534fa2..f98d734d6016 100644 --- a/dev-python/pygobject/pygobject-3.50.0.ebuild +++ b/dev-python/pygobject/pygobject-3.50.0.ebuild @@ -5,6 +5,7 @@ EAPI=8 DISTUTILS_EXT=1 DISTUTILS_USE_PEP517=no +# py3.14: https://gitlab.gnome.org/GNOME/pygobject/-/issues/694 PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 ) inherit gnome.org meson virtualx xdg distutils-r1 diff --git a/dev-python/pytest-codeblocks/pytest-codeblocks-0.17.0.ebuild b/dev-python/pytest-codeblocks/pytest-codeblocks-0.17.0.ebuild index 781fbc8a5387..499e32571777 100644 --- a/dev-python/pytest-codeblocks/pytest-codeblocks-0.17.0.ebuild +++ b/dev-python/pytest-codeblocks/pytest-codeblocks-0.17.0.ebuild @@ -4,7 +4,7 @@ EAPI=8 DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{11..14} ) +PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 ) inherit distutils-r1 diff --git a/dev-python/python-swiftclient/Manifest b/dev-python/python-swiftclient/Manifest index 6f6177f306b3..4266b37cf2cd 100644 --- a/dev-python/python-swiftclient/Manifest +++ b/dev-python/python-swiftclient/Manifest @@ -1 +1,2 @@ DIST python_swiftclient-4.7.0.tar.gz 209719 BLAKE2B aa4155b1299fbd740e94509b13ba4c295375dbe45bf50c727ddc31e464fb1d25925fc6aa6c2aea8dffc97ecd435dfcf24ef36cfaecaa661555c34088c353626d SHA512 07ab49421260f4537d5a3093557e76cce05db1f4caa99cb54fd5f7fdd8129b73473566005d9f28e7b4fc86348f642f207b3f28cbab10da36f3c656001e86a61a +DIST python_swiftclient-4.8.0.tar.gz 210041 BLAKE2B 3f1d58509dc13219092d01f9063cdeb854406072810bc1fee7a6e0ce3a4e4507feac04f4c9b9c36b1b2f7c64c90a06e8a58a630b1d1373670f5e3a11c47adf60 SHA512 2cf457184b37d1f3236b9d2b5cc86caef9578dd984a75150980c8b046d84ece1f4688aad49f5f1bdb36cd36fc69bdb8565dfdba49387d8eb667aff520af4d14e diff --git a/dev-python/python-swiftclient/python-swiftclient-4.8.0.ebuild b/dev-python/python-swiftclient/python-swiftclient-4.8.0.ebuild new file mode 100644 index 000000000000..0044b014e3ea --- /dev/null +++ b/dev-python/python-swiftclient/python-swiftclient-4.8.0.ebuild @@ -0,0 +1,39 @@ +# 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_{9,10,11,12,13} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Python bindings to the OpenStack Object Storage API" +HOMEPAGE=" + https://opendev.org/openstack/python-swiftclient/ + https://github.com/openstack/python-swiftclient/ + https://pypi.org/project/python-swiftclient/ +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" + +RDEPEND=" + >=dev-python/requests-2.4.0[${PYTHON_USEDEP}] +" +BDEPEND=" + dev-python/pbr[${PYTHON_USEDEP}] + test? ( + >=dev-python/keystoneauth1-3.4.0[${PYTHON_USEDEP}] + >=dev-python/openstacksdk-0.11.0[${PYTHON_USEDEP}] + >=dev-python/python-keystoneclient-0.7.0[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests unittest + +python_prepare_all() { + sed -e 's/test_password_prompt/_&/' -i test/unit/test_shell.py || die + distutils-r1_python_prepare_all +} diff --git a/dev-python/rpds-py/Manifest b/dev-python/rpds-py/Manifest index 16a45605be6d..d10d94ce5ff4 100644 --- a/dev-python/rpds-py/Manifest +++ b/dev-python/rpds-py/Manifest @@ -41,6 +41,7 @@ DIST rpds-1.1.1.crate 75894 BLAKE2B d53d2686f3807331203213469b7558bf9db82d3ace76 DIST rpds_py-0.23.1.tar.gz 26806 BLAKE2B 33b871bf5c849d607662279182a69f8ce20b377ca26ab4b21c7c12436972a9c2b6a76448db4593ec13cf4984828a3166737e6b4861105981ed3cc056666ae75b SHA512 c3130ebe5b259cf3f2bb26d2e8f1da404cb024e0fda81c4720d3ab55ac18865646865e465475328ee6504b646bed38c27ba20b9c169392a12c3f25afb428472a DIST rpds_py-0.24.0.tar.gz 26863 BLAKE2B c248b74cd698ba66c73e97f5b4471833b020fab56261877693e98c262e7fe59e2f31f24ca2b8b9317a82303f0f9d41a3cfcfcc718b215c681181254121646c17 SHA512 dc11c2056f049039ac4afde50176ec3ff439b6a7f1caa90e89d387b68464f0e8541bdd13c84d3616439a46e18e7259f1aa37d3d14252da2d712b302fad2da91a DIST rpds_py-0.25.0.tar.gz 26822 BLAKE2B c969c3fe7db6c20575eca9b51b1b6684460c4c98ab902b86664a715b28b23c981a1e6f07f4820d7577e639127bc7aa8e063dfb47aef9aa2898a5ef6296671ee0 SHA512 267b72f84a77b993d7797d6d37e7b49dd450399bd1a9f83c71ddd1d51abecbffc43289cd41c72ae24f19d5909ef57ae2b9625624adc29a738cfc055dee1631d4 +DIST rpds_py-0.25.1.tar.gz 27304 BLAKE2B 4ca27f7316a95fd5cd8da3e863596b5637684e270f042c77b25770b3f708c9d2dacc4678825a1b3f713c7662bb512f09867ef2e5593171f15eaa6378cb7c2cfe SHA512 f628e36848ec247de6c9df2c5b620137842853bae0f2d2552269552822d0a1f811d531d9b61768f7e89cbe99de8e5d637912ad680d29b1f95704114bac453591 DIST shlex-1.3.0.crate 18713 BLAKE2B 18800c364d3a628f1a3125097ea82fe6286550c2997235df0bf8483a3906aacabc81308cb239887d46ba2f457cc6f8acd5aca78316707eea5098cd5666aea67d SHA512 5c8cedbe666a14b8a0874defb9208146ce64579cde52ed483e4a794cac5dde6a24bf8d684404edff582f842e1fd4fa3fbeddbe074f191e4ec4aa517aa456fe8a DIST syn-2.0.101.crate 299250 BLAKE2B 7018cdede66dca82e7d7a7e07e52a178687957fcfd69f1a2862094497d2fb9d78ada14b94761679bbc5f6c76c808a63e948ed071e4f65c2f9580a40bf58c9426 SHA512 05e4233a51f4d229dd4c9bd23c5224c42ec5554d02fd316dad10dfdb876aa1d379c7ea30b1ace979537da91ee746ca4fdcef7690885f83fd41ec8c9dc5984101 DIST syn-2.0.69.crate 265441 BLAKE2B b01576c2c86426d2bbb2c9553dc1dce6a309d9922c35167ee6a718ad08cf3d0a22f0aed4d4c547cdbed85b47283e5b60a128fd1bbb230a6687f0c28af3a9c228 SHA512 fddc0f1ffa3e68ce57833c6ff18382296838287dd98f9f77f679ced471c3f801af30376363a870232f337bda27b3ba6ea93074f8e3c05ee390bcc024e3690bea diff --git a/dev-python/rpds-py/rpds-py-0.25.1.ebuild b/dev-python/rpds-py/rpds-py-0.25.1.ebuild new file mode 100644 index 000000000000..ecd3ccce46f4 --- /dev/null +++ b/dev-python/rpds-py/rpds-py-0.25.1.ebuild @@ -0,0 +1,60 @@ +# Copyright 2023-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=maturin +PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 ) + +CRATES=" + archery@1.2.1 + autocfg@1.4.0 + cc@1.2.22 + heck@0.5.0 + indoc@2.0.6 + libc@0.2.172 + memoffset@0.9.1 + once_cell@1.21.3 + portable-atomic@1.11.0 + proc-macro2@1.0.95 + pyo3-build-config@0.25.0 + pyo3-ffi@0.25.0 + pyo3-macros-backend@0.25.0 + pyo3-macros@0.25.0 + pyo3@0.25.0 + python3-dll-a@0.2.13 + quote@1.0.40 + rpds@1.1.1 + shlex@1.3.0 + syn@2.0.101 + target-lexicon@0.13.2 + triomphe@0.1.14 + unicode-ident@1.0.18 + unindent@0.2.4 +" + +RUST_MIN_VER="1.77.1" + +inherit cargo distutils-r1 pypi + +DESCRIPTION="Python bindings to Rust's persistent data structures (rpds)" +HOMEPAGE=" + https://github.com/crate-py/rpds/ + https://pypi.org/project/rpds-py/ +" +SRC_URI+=" + ${CARGO_CRATE_URIS} +" + +LICENSE="MIT" +# Dependent crate licenses +LICENSE+=" Apache-2.0-with-LLVM-exceptions MIT MPL-2.0 Unicode-3.0" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/rpds/rpds.*.so" + +export PYO3_USE_ABI3_FORWARD_COMPATIBILITY=1 + +distutils_enable_tests pytest diff --git a/dev-python/sqlglot/Manifest b/dev-python/sqlglot/Manifest index 6674d05385b4..4f40a613eeb1 100644 --- a/dev-python/sqlglot/Manifest +++ b/dev-python/sqlglot/Manifest @@ -2,3 +2,5 @@ DIST sqlglot-26.17.1-crates.tar.xz 8327388 BLAKE2B 69213d11940f9d4e743b169ef831b DIST sqlglot-26.17.1.tar.gz 5356122 BLAKE2B 7c83c2569c767a424929b0d88aa451e29f83596e3b381db9e35175488492ef1e30bc7fbf2a33a7a261c2396259db12b1cc89f07420f3e1994c416b5d891be258 SHA512 5cef50050b412baa5ef72056b377d327e6d19990de07f9b6f5d915b7bc628ee3a343fc64003e1ea3fc2555759c79662d4081d7925d3dd6b77f6c08a6507e971e DIST sqlglot-26.18.1-crates.tar.xz 8327388 BLAKE2B 69213d11940f9d4e743b169ef831b8b52a771f012e247570cf0703580a14af435d4d033b4b3ddfca6f4022b741261a24f3b47e5137de644d863714006520f857 SHA512 5de0781c54265b369e5e46b7cfbcc04a3118aa8d1323bff14f2841c95d471f545c923eedb88dbbb81a910801c5a505ff37a25701af936c06cf55a1659cd8822e DIST sqlglot-26.18.1.tar.gz 5365490 BLAKE2B 35c20d42f32ac1804a9e093ef74385b88950952ba9d327411de904ff47ae42c6ac8474c6813d8bcaa98e81b8ae679f6801dc7cf004cd664dd7f8389c719bdf6d SHA512 67cb69b28a468ed393993edf3d14a927dbdbd8a455aef7979e52ef056503fd875fbe33c25aea161ef55b2dc7717cec4d5afac6f8b138ed94cd90aa7cdd4cc8cc +DIST sqlglot-26.19.0-crates.tar.xz 8327388 BLAKE2B 69213d11940f9d4e743b169ef831b8b52a771f012e247570cf0703580a14af435d4d033b4b3ddfca6f4022b741261a24f3b47e5137de644d863714006520f857 SHA512 5de0781c54265b369e5e46b7cfbcc04a3118aa8d1323bff14f2841c95d471f545c923eedb88dbbb81a910801c5a505ff37a25701af936c06cf55a1659cd8822e +DIST sqlglot-26.19.0.tar.gz 5366769 BLAKE2B 69baaf162cd83814facf4ab955af8a4f941f3c20d3d2d7babb90249ee4e3ae95096bf02fcf39bf10eeff2b5e9a4c1c1789ea397b32ee2b8413d8e5948d40a508 SHA512 1aa839a43f9acdea5a45ba0c6fea473ee42d97817c51a0b106f2766fe05b5a8ac4863297649c8ab98f6db53ffdc0d00d1a3ec2fc727532d04412bdb2c8516eb6 diff --git a/dev-python/sqlglot/sqlglot-26.19.0.ebuild b/dev-python/sqlglot/sqlglot-26.19.0.ebuild new file mode 100644 index 000000000000..745ae109fd13 --- /dev/null +++ b/dev-python/sqlglot/sqlglot-26.19.0.ebuild @@ -0,0 +1,96 @@ +# Copyright 2023-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES="" +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{9,10,11,12,13} ) + +CARGO_OPTIONAL=1 + +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${PV}/${P}-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}] + ) +" + +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 + local DISTUTILS_UPSTREAM_PEP517=maturin + cd sqlglotrs || die + distutils-r1_python_compile + cd - >/dev/null || die + fi +} + +python_test() { + local EPYTEST_DESELECT=( + # timing, sigh + # https://github.com/tobymao/sqlglot/issues/3961 + tests/test_generator.py::TestGenerator::test_generate_nested_binary + ) + 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/stone/Manifest b/dev-python/stone/Manifest index 3b7db4c057fd..1bf8dddc3615 100644 --- a/dev-python/stone/Manifest +++ b/dev-python/stone/Manifest @@ -1,2 +1 @@ -DIST stone-3.3.8.gh.tar.gz 281200 BLAKE2B 17af8af8d5cf01483ab4f63ebb694076e675880c0374a11a4b38f02d8783a35c4b518a9109721523fb3efe5b9f6f3381f288a4e00322dfda62343f77f2768f43 SHA512 bd7cd80a44f59225cbd322e385cfc6b6eccd7e30d8e6f0939d0fd65405b75773b1bc4449f6737366d0fa481c5860931b20ffe048eff57aad34ae90be47d18020 DIST stone-3.3.9.gh.tar.gz 290882 BLAKE2B ad6e579d98b95d1828d0050ec29c53c6e5e52968def1fc10d315d311afdb8f350e9a7fd26330dce692c8f2419fe62ee22dba5ae54f0bcc91f09f51d7a7368f9c SHA512 916e8bce6e46114da8e684af25666d15257aa33bb0abb571c10f84457cfb958c309ca35bd3884f816ef8091c877e20b56b392cf5c85a760fab95f116efc7b321 diff --git a/dev-python/stone/stone-3.3.8.ebuild b/dev-python/stone/stone-3.3.8.ebuild deleted file mode 100644 index b848c5e2dec7..000000000000 --- a/dev-python/stone/stone-3.3.8.ebuild +++ /dev/null @@ -1,29 +0,0 @@ -# Copyright 2021-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{9,10,11,12,13} ) - -inherit distutils-r1 - -DESCRIPTION="The Official Api Spec Language for Dropbox" -HOMEPAGE=" - https://www.dropbox.com/developers - https://github.com/dropbox/stone - https://pypi.org/project/stone/ -" -SRC_URI="https://github.com/dropbox/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~amd64 ~x86" - -RDEPEND=" - dev-python/packaging[${PYTHON_USEDEP}] - dev-python/ply[${PYTHON_USEDEP}] - dev-python/six[${PYTHON_USEDEP}] -" - -distutils_enable_tests pytest diff --git a/dev-python/stone/stone-3.3.9.ebuild b/dev-python/stone/stone-3.3.9.ebuild index 25077a9ecd7c..655688dcbecb 100644 --- a/dev-python/stone/stone-3.3.9.ebuild +++ b/dev-python/stone/stone-3.3.9.ebuild @@ -4,7 +4,7 @@ EAPI=8 DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{9,10,11,12,13} ) +PYTHON_COMPAT=( python3_{11..14} ) inherit distutils-r1 diff --git a/dev-python/survey/Manifest b/dev-python/survey/Manifest index 2670d5cf1151..50b1b1e88e13 100644 --- a/dev-python/survey/Manifest +++ b/dev-python/survey/Manifest @@ -1,2 +1 @@ -DIST survey-5.3.1.gh.tar.gz 1564902 BLAKE2B de8bafd2fc5a683ca0364f9e1540e177bf2f10344406563ff3ef6723abd2c415517e72ffacccae51e1d69912b966bf678c2abc62b22545f1c5871d4f3459d121 SHA512 383d7339e93760294095881b6ebf3fd00d687210865303aa2c17a51a390f8087b8666364e0ba7b7657e009803665cf02e64f280c8a09a535ce1fa1ebeaafe963 DIST survey-5.4.2.gh.tar.gz 1565387 BLAKE2B f2e8542bb43e029ffc59335461f65d5216128273d01ff3237cf828bb5be2aac613b9872a0504186ab30b11d42438e76c16e758960ea39e686b95bfa89faa642d SHA512 3d3bf0911e1ef49814bd040bf01d3ae7024cecb5d0e20e46dcbaf6e1f8896d4cb9eeb9ed1dae7ff3431acfb706a334d6c2afa89d4f1cd9b82661a0defe53803c diff --git a/dev-python/survey/survey-5.3.1.ebuild b/dev-python/survey/survey-5.3.1.ebuild deleted file mode 100644 index dcb49699727d..000000000000 --- a/dev-python/survey/survey-5.3.1.ebuild +++ /dev/null @@ -1,35 +0,0 @@ -# Copyright 2021-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{9,10,11,12,13} ) -inherit distutils-r1 - -DESCRIPTION="A simple library for creating beautiful interactive prompts" -HOMEPAGE=" - https://github.com/Exahilosys/survey - https://pypi.org/project/survey/ -" -MY_PV=${PV/_/-} -SRC_URI="https://github.com/Exahilosys/survey/archive/v${MY_PV}.tar.gz -> ${P}.gh.tar.gz" -S="${WORKDIR}"/${PN}-${MY_PV} - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~amd64 ~x86" - -BDEPEND=" - dev-python/setuptools-scm[${PYTHON_USEDEP}] -" - -distutils_enable_sphinx docs \ - dev-python/sphinx-autodoc-typehints \ - dev-python/sphinx-paramlinks \ - dev-python/sphinx-rtd-theme - -src_configure() { - distutils-r1_src_configure - export SETUPTOOLS_SCM_PRETEND_VERSION=${PV} -} diff --git a/dev-python/survey/survey-5.4.2.ebuild b/dev-python/survey/survey-5.4.2.ebuild index dcb49699727d..323dcf82a150 100644 --- a/dev-python/survey/survey-5.4.2.ebuild +++ b/dev-python/survey/survey-5.4.2.ebuild @@ -4,7 +4,7 @@ EAPI=8 DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{9,10,11,12,13} ) +PYTHON_COMPAT=( python3_{11..14} ) inherit distutils-r1 DESCRIPTION="A simple library for creating beautiful interactive prompts" diff --git a/dev-python/tifffile/Manifest b/dev-python/tifffile/Manifest index 2542fb692cf2..8c1607072370 100644 --- a/dev-python/tifffile/Manifest +++ b/dev-python/tifffile/Manifest @@ -1,2 +1 @@ -DIST tifffile-2025.3.30.gh.tar.gz 354935 BLAKE2B f388a2db46c53aef7855f57e2e1ee04583c17b9fc5a7ce565ae5b3a2a921f80e1bfd48d03662baed9cfc8504919977748625b72c6b6ba6cc40fb9269d6be4404 SHA512 facc58da99ae0d877f0ed4ae5e7392a8e500cb7ff18fd821095af31911315f5c1c89ffe1a91d17ab24d52c714cac97ef16d59a6673953882279333f5c87bc02f DIST tifffile-2025.5.10.gh.tar.gz 354939 BLAKE2B 421f30a95286bed985794b35d94aca1ab2c892d08c23cbb8fb6f494500e2c444e03bd3ee1a049f7d50e5d02f2ef8375c056f03405af0863fe407231b34e7a119 SHA512 edeb7367970c8218009a715c3552b28f9cbde8265727835b1eebca1756fa3c902153756adba11be7e096c9e8fa2b88bbbbdc72ad5dd4e4a06379d58ab586d3dd diff --git a/dev-python/tifffile/tifffile-2025.3.30.ebuild b/dev-python/tifffile/tifffile-2025.3.30.ebuild deleted file mode 100644 index 7e61f5160c1b..000000000000 --- a/dev-python/tifffile/tifffile-2025.3.30.ebuild +++ /dev/null @@ -1,47 +0,0 @@ -# Copyright 2021-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{9,10,11,12,13} ) - -inherit distutils-r1 - -DESCRIPTION="Read and write TIFF files" -HOMEPAGE=" - https://pypi.org/project/tifffile/ - https://github.com/cgohlke/tifffile/ - https://www.cgohlke.com/ -" -SRC_URI=" - https://github.com/cgohlke/tifffile/archive/v${PV}.tar.gz - -> ${P}.gh.tar.gz -" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" - -RDEPEND=" - >=dev-python/numpy-1.19.2[${PYTHON_USEDEP}] -" -BDEPEND=" - test? ( - dev-python/defusedxml[${PYTHON_USEDEP}] - >=dev-python/fsspec-2021.5.0[${PYTHON_USEDEP}] - dev-python/lxml[${PYTHON_USEDEP}] - dev-python/xarray[${PYTHON_USEDEP}] - ) -" - -EPYTEST_XDIST=1 -distutils_enable_tests pytest - -python_test() { - local -x SKIP_LARGE=1 - local -x SKIP_HTTP=1 - - local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 - epytest -} diff --git a/dev-python/tld/Manifest b/dev-python/tld/Manifest index 54d915d2e989..1f96d2ed0cf4 100644 --- a/dev-python/tld/Manifest +++ b/dev-python/tld/Manifest @@ -1 +1,2 @@ +DIST tld-0.13.1.gh.tar.gz 459349 BLAKE2B 5b32729ee5b6fbb45d94091d88a6c351952b2fc3dd530e341eb54302a4f5d642858c56c226f3e48dd2c5b83ed8742fa06b6901f7b45921ea6aa7618882f64413 SHA512 5b4dbf8cdb88e62d9da6f7b084d76497637a6d144a452c749c37b6a845133ec1aeb288d599072488f59193ab21bb303a2baf4f502cd10e4b5e00db71a35ac3cd DIST tld-0.13.gh.tar.gz 443877 BLAKE2B 9f84307ce704500096dd2abff75ead534dbd17b59ea0d3dae84394b791aeee873638e6e224ddd3b5c598293a46ead964ae36022b0c3c7411de7c64096d0c69cc SHA512 87157ca2fc8977a96f6289269015bc5a90f3f033fb8ea96552eb8d00d05a346d8f3c61123a311803aa301c735a510a2c0986364f3b2ae4366e2c34aea15b538d diff --git a/dev-python/tld/tld-0.13.1.ebuild b/dev-python/tld/tld-0.13.1.ebuild new file mode 100644 index 000000000000..be362b6dd600 --- /dev/null +++ b/dev-python/tld/tld-0.13.1.ebuild @@ -0,0 +1,42 @@ +# 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_{9,10,11,12,13} ) + +inherit distutils-r1 + +DESCRIPTION="Extract the top level domain (TLD) from the URL given" +HOMEPAGE=" + https://github.com/barseghyanartur/tld/ + https://pypi.org/project/tld/ +" +SRC_URI=" + https://github.com/barseghyanartur/tld/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64" + +BDEPEND=" + test? ( + dev-python/fake-py[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +src_prepare() { + distutils-r1_src_prepare + # remove pytest-codeblock nonsense + rm conftest.py || die +} + +python_test() { + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest -o addopts= +} diff --git a/dev-python/typing-inspection/Manifest b/dev-python/typing-inspection/Manifest index 4f5384f9ac4c..01e593440e01 100644 --- a/dev-python/typing-inspection/Manifest +++ b/dev-python/typing-inspection/Manifest @@ -1 +1,2 @@ DIST typing_inspection-0.4.0.tar.gz 76222 BLAKE2B 08e509950b6d71d5036d91293c6773467f0d7a09ea21a54692341eb980aee6f91b364039070bc49680f4b201fa6bc8d8211d889f9fafdc2341762559354e4e0d SHA512 95e725e7db7609406f8a63dda46ac7559adf13ef5d63e44a43966977163ff69825df465fb741d288e63ee01240dc3fe8b1314b0cd5030f2d5b08d24a739b7b02 +DIST typing_inspection-0.4.1.tar.gz 75726 BLAKE2B c0672fc3ec44921ccddd32ec614a1261606ab8c44984d890e9252b587b886189952fa578d936a621bdc78f0ad9086df7bc67280b08fb69745b0d3c4977752d75 SHA512 57be9e86b2e1d787eeda8366e0c4ffe07e87ff6a32f06e401d70d092661c663cfb989b77a1e02fa333a427b6dc32ba00118761c3aa9b30e27d0d71ef03fc1695 diff --git a/dev-python/typing-inspection/typing-inspection-0.4.1.ebuild b/dev-python/typing-inspection/typing-inspection-0.4.1.ebuild new file mode 100644 index 000000000000..0e91f4a46301 --- /dev/null +++ b/dev-python/typing-inspection/typing-inspection-0.4.1.ebuild @@ -0,0 +1,25 @@ +# Copyright 2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 ) + +inherit distutils-r1 pypi + +DESCRIPTION="Runtime typing introspection tools" +HOMEPAGE=" + https://github.com/pydantic/typing-inspection/ + https://pypi.org/project/typing-inspection/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +RDEPEND=" + >=dev-python/typing-extensions-4.12.0[${PYTHON_USEDEP}] +" + +distutils_enable_tests pytest diff --git a/dev-python/versioningit/versioningit-3.1.3.ebuild b/dev-python/versioningit/versioningit-3.1.3.ebuild index 572bf62ad97a..6e6b1656c285 100644 --- a/dev-python/versioningit/versioningit-3.1.3.ebuild +++ b/dev-python/versioningit/versioningit-3.1.3.ebuild @@ -4,7 +4,7 @@ EAPI=8 DISTUTILS_USE_PEP517=hatchling -PYTHON_COMPAT=( python3_{9,10,11,12,13} ) +PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 ) inherit distutils-r1 pypi diff --git a/dev-python/zlib-ng/Manifest b/dev-python/zlib-ng/Manifest new file mode 100644 index 000000000000..d7ead4051870 --- /dev/null +++ b/dev-python/zlib-ng/Manifest @@ -0,0 +1 @@ +DIST python-zlib-ng-0.5.1.gh.tar.gz 3381700 BLAKE2B 9c9c460c60a10fa5f24816f6f4562f4feeef585c70da34bb0fe0ea2b9c43e62f19f1559a0dd74a48659b02561d3ba505fc3b1b399249a0d8d0603695f7c44db5 SHA512 98d689d6d3462310cdec4d73ec63ee2a8842b54ae5285c7765629b2385a23234bfec45207fedd1e36cca58e7388cb49c34e8bef5f4e102c61e624c80e488492e diff --git a/dev-python/zlib-ng/metadata.xml b/dev-python/zlib-ng/metadata.xml new file mode 100644 index 000000000000..7ad11570cc7d --- /dev/null +++ b/dev-python/zlib-ng/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>python@gentoo.org</email> + </maintainer> + + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-python/zlib-ng/zlib-ng-0.5.1.ebuild b/dev-python/zlib-ng/zlib-ng-0.5.1.ebuild new file mode 100644 index 000000000000..4860b96128f9 --- /dev/null +++ b/dev-python/zlib-ng/zlib-ng-0.5.1.ebuild @@ -0,0 +1,60 @@ +# Copyright 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_{9,10,11,12,13} pypy3 ) + +inherit distutils-r1 + +MY_P=python-zlib-ng-${PV} +DESCRIPTION="Drop-in replacement for zlib and gzip modules using zlib-ng" +HOMEPAGE=" + https://github.com/pycompression/python-zlib-ng/ + https://pypi.org/project/zlib-ng/ +" +# no tests in sdist, as of 0.5.1 +# same upstream as dev-python/isal, so let's see how that report goes: +# https://github.com/pycompression/python-isal/issues/231 +SRC_URI=" + https://github.com/pycompression/python-zlib-ng/archive/v${PV}.tar.gz + -> ${MY_P}.gh.tar.gz +" +S=${WORKDIR}/${MY_P} + +LICENSE="PSF-2" +SLOT="0" +KEYWORDS="~amd64" + +DEPEND=" + sys-libs/zlib-ng:= +" +RDEPEND=" + ${DEPEND} +" +BDEPEND=" + test? ( + dev-python/test[${PYTHON_USEDEP}] + ) +" + +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +src_configure() { + export PYTHON_ZLIB_NG_LINK_DYNAMIC=1 + + # why people can't use setuptools-scm... + sed -i -e '/versioningit/d' setup.py || die + sed -i -e 's/versioningit/ignoreme/' pyproject.toml || die + echo "[metadata]" >> setup.cfg || die + echo "version = ${PV}" >> setup.cfg || die + echo "__version__ = '${PV}'" > src/zlib_ng/_version.py || die +} + +python_test() { + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest tests +} |
