diff options
| author | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2025-05-06 20:29:13 +0000 |
|---|---|---|
| committer | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2025-05-06 20:29:13 +0000 |
| commit | 1cac02e9d606a290b8620320118b320a0050cde9 (patch) | |
| tree | b5e67d8537e6b3dbba65a980b54dd4ff273d9729 /dev-python | |
| parent | bf2303e6bf93b4b9382690091cced410b34f6545 (diff) | |
| download | baldeagleos-repo-1cac02e9d606a290b8620320118b320a0050cde9.tar.gz baldeagleos-repo-1cac02e9d606a290b8620320118b320a0050cde9.tar.xz baldeagleos-repo-1cac02e9d606a290b8620320118b320a0050cde9.zip | |
Adding metadata
Diffstat (limited to 'dev-python')
40 files changed, 1439 insertions, 34 deletions
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest index 534a2f143c32..2659b76b01a0 100644 --- a/dev-python/boto3/Manifest +++ b/dev-python/boto3/Manifest @@ -1,3 +1,4 @@ DIST boto3-1.37.37.gh.tar.gz 930327 BLAKE2B 93ed4e903189a9620f13e71fe64557ebcfa5c696688b4a21fc4de0f9d21f51fd3b9c9dafa4a5dc91fc88165c14207b17b3f121e9eebdf1c1ab7e55472573d2ec SHA512 e19700633ccf6be76ab1baa0811c24d36aba7e0b8f1933fc10d1dc67d73ec0cd66a4c45ace1f2bdf815c3b35ffafaff2ce7ce9a4678e7f57984039f96d0f9fa0 DIST boto3-1.38.3.gh.tar.gz 934010 BLAKE2B f5008a63aec620385e06c15e97ea37335bba190e5a29920c14389ae0dfc0e09a70ce70f8b50c0d25feda3defd9e855739305d19df7759688c156f53fc698b533 SHA512 8f300e38c7912f5df00431c1b70494521ac49500512b4aba7dc18f6bf0e570508d6a00fe8a98eb3c8607af39744a67e3b47d69507dbaf25d44dd02085f24bf95 DIST boto3-1.38.8.gh.tar.gz 937130 BLAKE2B 4158573a032957c33f62c6406937a45956f4ccf972be4a223e16a327b0b476402a1e7bf7d9b6a5b83005fc324f6c0062ed73008972cabed9247790225c4d4e5a SHA512 3c3854ed132ad4c81cd868848a370cdc73101ac3c578f8ae70bc53c9a98b1d85dcd364258027adef976b3c6d220aa45f865928c055c9320d3a268e0e29d5af63 +DIST boto3-1.38.9.gh.tar.gz 937730 BLAKE2B 6b1a68095601d9b32be0679171a73b204897a7f632c1825ee203d27b46c625b196739b9c6ed8f19e84e0f0d2ba3a777539d9474cbaaa526fd499655e62ce9def SHA512 37960c90bb8de6328dc08cabb98a71e0dbb9303137410a1e44efdd650d6d0009398a4c4fb75ab53f8c8dfa7f566925c03de10012092967e661157f6bdc12e583 diff --git a/dev-python/boto3/boto3-1.38.9.ebuild b/dev-python/boto3/boto3-1.38.9.ebuild new file mode 100644 index 000000000000..b862f479d876 --- /dev/null +++ b/dev-python/boto3/boto3-1.38.9.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 ea92348a24a6..276b05bb9c3c 100644 --- a/dev-python/botocore/Manifest +++ b/dev-python/botocore/Manifest @@ -1,3 +1,4 @@ DIST botocore-1.37.37.gh.tar.gz 14563135 BLAKE2B 290689f13333ab7ebdbac0bccf6568035776482dbab62c542a41ce6bf93b9d5e01400526c50534fb068798dc5626408c039f8746f091fe881cb70629c6ccd6e4 SHA512 3e020f6f264ef19a71f812733536812abe92e5998f3c19766782e01cdd235a17648b330bdb64289ea8b87a520625e0c7ece9436e014ade111d66bc4181f5bec9 DIST botocore-1.38.3.gh.tar.gz 14578552 BLAKE2B 4766db1ba2651ebe65c79f8a37c91cf95875a20c0cc51c1886cd394b90d50109738daa79b398e0c4b80031cfab69e1338dfaafbc0ae796fffa3348f6b13fc1ce SHA512 ad69e119d5bbc98a0c14c1c927badeecc1f57d31305e6a07af41d4d4bf6755f5abc150e36321f71b9495221ad93052d84a1dc964fb9ef6fdd791d4c37e75a01a DIST botocore-1.38.8.gh.tar.gz 14606167 BLAKE2B cb92f6014349f5188d62ddeb043e7532c50c7edc984cabae918825cdace981694c37ba656afcbbb64e65e275da4980d5f256a945bbcc63f9609272b08690c3d5 SHA512 bc9096051fde740a908ef0912a0c205595e7df653a349c167f616a788423578ba6b3aed6fe6213f528faa32b1c946abf0ac66dd81afdc05d41d12a4af4f7e818 +DIST botocore-1.38.9.gh.tar.gz 14612563 BLAKE2B 10a0e43846393c06c808e306cde1398ea9374712d07b71d16270cd3238d3063f66ff532fab465acb5a87065002b7ca7394d0c77a25c83b9f8b8ecad7823042a2 SHA512 748c373a1be84a123968444316de7ab6f34b548d7619183d23ae07d0b0aeeeebc8ba1d25bb5517f0491144f7578fa9a7e9fbca066f6aa0da7b2d7439138bb8fd diff --git a/dev-python/botocore/botocore-1.38.9.ebuild b/dev-python/botocore/botocore-1.38.9.ebuild new file mode 100644 index 000000000000..df85ee0d220c --- /dev/null +++ b/dev-python/botocore/botocore-1.38.9.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 + +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 + ) + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest tests/{functional,unit} +} diff --git a/dev-python/google-auth/Manifest b/dev-python/google-auth/Manifest index 0ad35594e04a..2284648458d3 100644 --- a/dev-python/google-auth/Manifest +++ b/dev-python/google-auth/Manifest @@ -1 +1,2 @@ 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 diff --git a/dev-python/google-auth/google-auth-2.40.0.ebuild b/dev-python/google-auth/google-auth-2.40.0.ebuild new file mode 100644 index 000000000000..380871c78686 --- /dev/null +++ b/dev-python/google-auth/google-auth-2.40.0.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/ipywidgets/Manifest b/dev-python/ipywidgets/Manifest index f9053a0862ab..373dfa738f47 100644 --- a/dev-python/ipywidgets/Manifest +++ b/dev-python/ipywidgets/Manifest @@ -1 +1,2 @@ DIST ipywidgets-8.1.6.tar.gz 116764 BLAKE2B 74e3b82cfdbeec3da00acf1fc55f4351975f431e7b62fabaa9871d9240880aec77c28e67d79cc17ca01e3f979ee6a7a4be1f1fe22be4a5d72c8d118af8e43ce5 SHA512 4997cf17a99dad022e3f625a1392db3f6edd82e829c0aa6eeb140a8554f8ba5e53a6ba745d70a117ab25577a085d3fe103b4cec022a24618b862b89e508ebe71 +DIST ipywidgets-8.1.7.tar.gz 116721 BLAKE2B 425557d840d4ddb904d22b0680a7e4ad6156adc3e129f0a95b0e8d2c55de0055b53bba213e40452af11da061d51878c03257fe38adaa3e6f7d102bbbe14033e0 SHA512 8085be87f0c2f2c334e9965d21e16c71009b260216e84ff1e5faaa81a5b9f0709a28150a8eac52bed7aeed4a3dc87b0d0632ae4ff62b15512be521b2e5be22aa diff --git a/dev-python/ipywidgets/ipywidgets-8.1.7.ebuild b/dev-python/ipywidgets/ipywidgets-8.1.7.ebuild new file mode 100644 index 000000000000..7f0047f02819 --- /dev/null +++ b/dev-python/ipywidgets/ipywidgets-8.1.7.ebuild @@ -0,0 +1,57 @@ +# 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 ) +PYTHON_REQ_USE="threads(+)" + +inherit distutils-r1 pypi + +DESCRIPTION="IPython HTML widgets for Jupyter" +HOMEPAGE=" + https://ipywidgets.readthedocs.io/ + https://github.com/jupyter-widgets/ipywidgets/ + https://pypi.org/project/ipywidgets/ +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86" + +RDEPEND=" + >=dev-python/comm-0.1.3[${PYTHON_USEDEP}] + >=dev-python/ipython-genutils-0.2.0[${PYTHON_USEDEP}] + >=dev-python/traitlets-4.3.1[${PYTHON_USEDEP}] + >=dev-python/widgetsnbextension-4.0.14[${PYTHON_USEDEP}] + >=dev-python/jupyterlab-widgets-3.0.15[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/ipykernel[${PYTHON_USEDEP}] + dev-python/jsonschema[${PYTHON_USEDEP}] + dev-python/pytz[${PYTHON_USEDEP}] + ) +" +PDEPEND=" + >=dev-python/ipython-6.1.0[${PYTHON_USEDEP}] +" + +distutils_enable_tests pytest + +python_test() { + local EPYTEST_DESELECT=() + + case ${EPYTHON} in + pypy3*) + EPYTEST_DESELECT+=( + # https://github.com/pypy/pypy/issues/4892 + ipywidgets/widgets/tests/test_interaction.py::test_interact_noinspect + ) + ;; + esac + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest +} diff --git a/dev-python/jupyterlab-widgets/Manifest b/dev-python/jupyterlab-widgets/Manifest index 1c06394e8eba..a986329bb3b3 100644 --- a/dev-python/jupyterlab-widgets/Manifest +++ b/dev-python/jupyterlab-widgets/Manifest @@ -1 +1,2 @@ DIST jupyterlab_widgets-3.0.14.tar.gz 203815 BLAKE2B a1a6c39722fd2d781a809833719a5206e5eef838a58e87067ff8494ce6826b6956184378eb4ded7075ec79df2a45446786353c77f43b4a65cc8855b8c9d28377 SHA512 5f87d63d590a3c48359c1b81688edfff1b36149f969c7edffc5d9cfc2d0cbffc755dc0f5691bdd369f8481dae6fd4f4055631b06fcfa81b43f92218026f70bfc +DIST jupyterlab_widgets-3.0.15.tar.gz 213149 BLAKE2B eae5a123166e7cc0d1716218f8705955c5b520b54e0e3dbae3c92700f62b714c60109afc13d7358e6f6dc2e1dd01c36a93cc57dc574a5a3ea8ea46e64819d7ae SHA512 0e6f570e2e3a419db9a81e46566dc961ac904f30957d9326788ea2e94c915da1ec49e08dd93a17c5b49338ed84baaeae259a9c1923a3f135abb2a1b6d4e0f2f3 diff --git a/dev-python/jupyterlab-widgets/jupyterlab-widgets-3.0.15.ebuild b/dev-python/jupyterlab-widgets/jupyterlab-widgets-3.0.15.ebuild new file mode 100644 index 000000000000..08dbbe1a871f --- /dev/null +++ b/dev-python/jupyterlab-widgets/jupyterlab-widgets-3.0.15.ebuild @@ -0,0 +1,24 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 ) +PYTHON_REQ_USE="threads(+)" + +inherit distutils-r1 pypi + +DESCRIPTION="Jupyter interactive widgets for JupyterLab" +HOMEPAGE=" + https://ipython.org/ + https://pypi.org/project/jupyterlab-widgets/ +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86" + +BDEPEND=" + dev-python/hatch-jupyter-builder[${PYTHON_USEDEP}] +" diff --git a/dev-python/knowit/Manifest b/dev-python/knowit/Manifest new file mode 100644 index 000000000000..c60dda172d2e --- /dev/null +++ b/dev-python/knowit/Manifest @@ -0,0 +1,2 @@ +DIST knowit-0.5.6.gh.tar.gz 79683 BLAKE2B da132883e7b4d15a2a21b22b05cb627859947f293a4611a853b2bd31341e4b317a5de42bb7ab48b64a340d96327cb579bb7722f1e875dfc58d1e26652844064c SHA512 c064c2428300f0b2ee08e514e8deea2299f0aa9a552a7ac9ea914035e4e40666a21aa8d2256605d2c86c61592955f1e6b432d2cf43b7a34a3d1235d4b9971aaf +DIST matroska_test_w1_1.zip 184550509 BLAKE2B f111725aa08267661942072c2d4ac019d3d322c4e933aad10afb3aa6f69bb3469114c4400d161e53d8a7618b818b22465177460003804a7ac3e69fa4f4db000d SHA512 f170a8e83dab15228f992b3692330163da2402b8e436c7fa195ac1ecc06cf1eaf1a48d8c99a85c031122c158c2d4006023aae75d5b7805385ba25a6d601cb78f diff --git a/dev-python/knowit/files/knowit-0.5.6-no-pint.patch b/dev-python/knowit/files/knowit-0.5.6-no-pint.patch new file mode 100644 index 000000000000..cea4b8450848 --- /dev/null +++ b/dev-python/knowit/files/knowit-0.5.6-no-pint.patch @@ -0,0 +1,209 @@ +https://github.com/ratoaq2/knowit/pull/199 + +We don't have pint packaged yet, but even as of May 2025, there's upstream +bugs in pint where it doesn't work w/ Python 3.13 anyway, e.g. +https://github.com/hgrecco/pint/issues/2168. + +From e9f06b859b1dd3f9154ca6b84dbdc3c19e601294 Mon Sep 17 00:00:00 2001 +From: getzze <getzze@gmail.com> +Date: Fri, 18 Oct 2024 12:11:49 +0100 +Subject: [PATCH 1/4] deal with pint errors at import + +--- + knowit/units.py | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/knowit/units.py b/knowit/units.py +index 51e6cae..c8421ca 100644 +--- a/knowit/units.py ++++ b/knowit/units.py +@@ -1,5 +1,8 @@ ++import logging + import typing + ++logger = logging.getLogger(__name__) ++ + + class NullRegistry: + """A NullRegistry that masquerades as a pint.UnitRegistry.""" +@@ -30,6 +33,8 @@ def _build_unit_registry(): + return registry + except ModuleNotFoundError: + pass ++ except Exception: ++ logger.exception("Cannot import the pint package") + + return NullRegistry() + + +From 9b57a93d8cde4b7dac30bfdba0ba89bb2db3060c Mon Sep 17 00:00:00 2001 +From: getzze <getzze@gmail.com> +Date: Fri, 18 Oct 2024 13:11:56 +0100 +Subject: [PATCH 2/4] make pint an extra dependency + +--- + pyproject.toml | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/pyproject.toml b/pyproject.toml +index d0d0c9d..aaa8cbc 100644 +--- a/pyproject.toml ++++ b/pyproject.toml +@@ -43,7 +43,7 @@ knowit = "knowit.__main__:main" + python = "^3.9.0" + babelfish = "^0.6.1" + enzyme = "^0.5.2" +-pint = ">=0.20.1,<0.25.0" ++pint = { version = ">=0.20.1,<0.25.0", optional = true } + pymediainfo = "^6.0.1" + pyyaml = "^6.0" + trakit = "^0.2.2" +@@ -62,6 +62,9 @@ types-requests = "^2.28.11.8" + types-mock = "^5.0.0.2" + typing-extensions = "^4.12.2" + ++[tool.poetry.extras] ++pint = ["pint"] ++ + [build-system] + requires = ["poetry-core"] + build-backend = "poetry.core.masonry.api" + +From c938f0b7ff4b2583b66e598f59249a9065927ea2 Mon Sep 17 00:00:00 2001 +From: getzze <getzze@gmail.com> +Date: Fri, 18 Oct 2024 14:07:15 +0100 +Subject: [PATCH 3/4] update poetry.lock + +--- + poetry.lock | 29 ++++++++++++++++++----------- + 1 file changed, 18 insertions(+), 11 deletions(-) + +diff --git a/poetry.lock b/poetry.lock +index 4b14c3e..7cf5e25 100644 +--- a/poetry.lock ++++ b/poetry.lock +@@ -4,7 +4,7 @@ + name = "appdirs" + version = "1.4.4" + description = "A small Python module for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." +-optional = false ++optional = true + python-versions = "*" + files = [ + {file = "appdirs-1.4.4-py2.py3-none-any.whl", hash = "sha256:a841dacd6b99318a741b166adb07e19ee71a274450e68237b4650ca1055ab128"}, +@@ -293,7 +293,7 @@ setuptools = "*" + name = "flexcache" + version = "0.3" + description = "Saves and loads to the cache a transformed versions of a source object." +-optional = false ++optional = true + python-versions = ">=3.9" + files = [ + {file = "flexcache-0.3-py3-none-any.whl", hash = "sha256:d43c9fea82336af6e0115e308d9d33a185390b8346a017564611f1466dcd2e32"}, +@@ -310,7 +310,7 @@ test = ["pytest", "pytest-cov", "pytest-mpl", "pytest-subtests"] + name = "flexparser" + version = "0.3.1" + description = "Parsing made fun ... using typing." +-optional = false ++optional = true + python-versions = ">=3.9" + files = [ + {file = "flexparser-0.3.1-py3-none-any.whl", hash = "sha256:2e3e2936bec1f9277f777ef77297522087d96adb09624d4fe4240fd56885c013"}, +@@ -462,7 +462,7 @@ flake8 = ">=5.0.0" + name = "pint" + version = "0.24.3" + description = "Physical quantities module" +-optional = false ++optional = true + python-versions = ">=3.9" + files = [ + {file = "Pint-0.24.3-py3-none-any.whl", hash = "sha256:d98667e46fd03a1b94694fbfa104ec30858684d8ab26952e2a348b48059089bb"}, +@@ -693,19 +693,23 @@ use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] + + [[package]] + name = "setuptools" +-version = "71.0.1" ++version = "75.2.0" + description = "Easily download, build, install, upgrade, and uninstall Python packages" + optional = false + python-versions = ">=3.8" + files = [ +- {file = "setuptools-71.0.1-py3-none-any.whl", hash = "sha256:1eb8ef012efae7f6acbc53ec0abde4bc6746c43087fd215ee09e1df48998711f"}, +- {file = "setuptools-71.0.1.tar.gz", hash = "sha256:c51d7fd29843aa18dad362d4b4ecd917022131425438251f4e3d766c964dd1ad"}, ++ {file = "setuptools-75.2.0-py3-none-any.whl", hash = "sha256:a7fcb66f68b4d9e8e66b42f9876150a3371558f98fa32222ffaa5bced76406f8"}, ++ {file = "setuptools-75.2.0.tar.gz", hash = "sha256:753bb6ebf1f465a1912e19ed1d41f403a79173a9acf66a42e7e6aec45c3c16ec"}, + ] + + [package.extras] +-core = ["importlib-metadata (>=6)", "importlib-resources (>=5.10.2)", "jaraco.text (>=3.7)", "more-itertools (>=8.8)", "ordered-set (>=3.1.1)", "packaging (>=24)", "platformdirs (>=2.6.2)", "tomli (>=2.0.1)", "wheel (>=0.43.0)"] +-doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "pyproject-hooks (!=1.1)", "rst.linker (>=1.9)", "sphinx (<7.4)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier"] +-test = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "importlib-metadata", "ini2toml[lite] (>=0.14)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "jaraco.test", "mypy (==1.10.0)", "packaging (>=23.2)", "pip (>=19.1)", "pyproject-hooks (!=1.1)", "pytest (>=6,!=8.1.*)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-home (>=0.5)", "pytest-mypy", "pytest-perf", "pytest-ruff (<0.4)", "pytest-ruff (>=0.2.1)", "pytest-ruff (>=0.3.2)", "pytest-subprocess", "pytest-timeout", "pytest-xdist (>=3)", "tomli", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] ++check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)", "ruff (>=0.5.2)"] ++core = ["importlib-metadata (>=6)", "importlib-resources (>=5.10.2)", "jaraco.collections", "jaraco.functools", "jaraco.text (>=3.7)", "more-itertools", "more-itertools (>=8.8)", "packaging", "packaging (>=24)", "platformdirs (>=2.6.2)", "tomli (>=2.0.1)", "wheel (>=0.43.0)"] ++cover = ["pytest-cov"] ++doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "pyproject-hooks (!=1.1)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier", "towncrier (<24.7)"] ++enabler = ["pytest-enabler (>=2.2)"] ++test = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "ini2toml[lite] (>=0.14)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "jaraco.test", "packaging (>=23.2)", "pip (>=19.1)", "pyproject-hooks (!=1.1)", "pytest (>=6,!=8.1.*)", "pytest-home (>=0.5)", "pytest-perf", "pytest-subprocess", "pytest-timeout", "pytest-xdist (>=3)", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel (>=0.44.0)"] ++type = ["importlib-metadata (>=7.0.2)", "jaraco.develop (>=7.21)", "mypy (==1.11.*)", "pytest-mypy"] + + [[package]] + name = "snowballstemmer" +@@ -813,7 +817,10 @@ files = [ + doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] + test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", "jaraco.test", "more-itertools", "pytest (>=6,!=8.1.*)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-ignore-flaky", "pytest-mypy", "pytest-ruff (>=0.2.1)"] + ++[extras] ++pint = ["pint"] ++ + [metadata] + lock-version = "2.0" + python-versions = "^3.9.0" +-content-hash = "13770256de537cfe1e5dc84bde3dafaab61a9166f85bd2e13ffee64fe6569298" ++content-hash = "a94a83fccf98ce20e10fece575ba4bbf07c211e6a090d56831adaf762b2575fa" + +From e3c9a2b02f8c7eede9227cdf9ccde054dc199c68 Mon Sep 17 00:00:00 2001 +From: getzze <getzze@gmail.com> +Date: Fri, 18 Oct 2024 15:07:41 +0100 +Subject: [PATCH 4/4] overload NullRegistry.__call__ + +--- + knowit/units.py | 11 +++++++++++ + tests/__init__.py | 2 +- + 2 files changed, 12 insertions(+), 1 deletion(-) + +diff --git a/knowit/units.py b/knowit/units.py +index c8421ca..684658b 100644 +--- a/knowit/units.py ++++ b/knowit/units.py +@@ -14,6 +14,17 @@ def __getattr__(self, item: typing.Any) -> int: + """Return a Scalar 1 to simulate a unit.""" + return 1 + ++ def __call__(self, value: str) -> float: ++ """Try converting to int, to float and fallback to a scalar 1.0.""" ++ try: ++ return int(value) ++ except ValueError: ++ try: ++ return float(value) ++ except ValueError: ++ pass ++ return 1 ++ + def __bool__(self): + """Return False since a NullRegistry is not a pint.UnitRegistry.""" + return False +diff --git a/tests/__init__.py b/tests/__init__.py +index 20e0490..5c91d3b 100644 +--- a/tests/__init__.py ++++ b/tests/__init__.py +@@ -250,7 +250,7 @@ def parse_quantity(value): + if isinstance(value, str): + for unit in ('pixel', 'bit', 'byte', 'FPS', 'bps', 'Hz'): + if value.endswith(' ' + unit): +- return units(value[:-(len(unit))] + ' * ' + unit) ++ return units(value[:-len(unit)]) * units(unit) + + return value + + diff --git a/dev-python/knowit/knowit-0.5.6.ebuild b/dev-python/knowit/knowit-0.5.6.ebuild new file mode 100644 index 000000000000..44cf88f63b34 --- /dev/null +++ b/dev-python/knowit/knowit-0.5.6.ebuild @@ -0,0 +1,69 @@ +# Copyright 2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=poetry +PYTHON_COMPAT=( python3_{9,10,11,12,13} ) + +inherit distutils-r1 + +DESCRIPTION="Know better your media files" +HOMEPAGE=" + https://github.com/ratoaq2/knowit + https://pypi.org/project/knowit/ +" +# No tests in sdist +SRC_URI="https://github.com/ratoaq2/knowit/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz" +SRC_URI+=" test? ( https://downloads.sourceforge.net/matroska/test_files/matroska_test_w1_1.zip )" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64" + +# https://github.com/ratoaq2/knowit/blob/d7135a4797440838bca94e76326fc9d4019d8f9a/README.md?plain=1#L224 +RDEPEND=" + dev-python/babelfish[${PYTHON_USEDEP}] + dev-python/enzyme[${PYTHON_USEDEP}] + dev-python/trakit[${PYTHON_USEDEP}] + dev-python/pymediainfo[${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] + || ( + media-video/ffmpeg + media-video/mediainfo + media-video/mkvtoolnix + ) +" +BDEPEND=" + test? ( + app-arch/unzip + dev-python/requests[${PYTHON_USEDEP}] + media-video/ffmpeg + media-video/mediainfo + media-video/mkvtoolnix + ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-0.5.6-no-pint.patch +) + +distutils_enable_tests pytest + +src_unpack() { + # Needed to unpack the test data + default + + if [[ ${PV} == 9999 ]] ; then + git-r3_src_unpack + fi +} + +python_prepare_all() { + if use test ; then + mkdir -p tests/data/videos || die + ln -s "${WORKDIR}"/test*.mkv tests/data/videos/ || die + fi + + distutils-r1_python_prepare_all +} diff --git a/dev-python/knowit/metadata.xml b/dev-python/knowit/metadata.xml new file mode 100644 index 000000000000..ea8988e8af6a --- /dev/null +++ b/dev-python/knowit/metadata.xml @@ -0,0 +1,11 @@ +<?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> + <name>Python</name> + </maintainer> + + <origin>gentoo-staging</origin> + <stabilize-allarches/> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-python/langdetect/Manifest b/dev-python/langdetect/Manifest index a11d7c268c91..d12ab8aeaca8 100644 --- a/dev-python/langdetect/Manifest +++ b/dev-python/langdetect/Manifest @@ -1 +1,3 @@ DIST langdetect-1.0.9.tar.gz 981474 BLAKE2B ea8a9c3f16a2987c080742473bff4f2c1503f53fb3c2b40b0b1d6212bb6133ea22dce7864ffcfb8968c3a46b157d45cb3e2cf6f84bdbed0266cc716a853b032c SHA512 7558d674c47b080c79e43a00a25d2c7f77188cf60bea2cecb3bebb803d75e1aa42b43c74bd26ea1b541f4cb927421908882cbec01a91f0913984217e71ccc8db +EBUILD langdetect-1.0.9.ebuild 494 BLAKE2B 9cd8a2a93a8d45bf51fe2324402b175d641762ea591fcb99459427f977a95eccffa6ca4777ca4df39814eea6eac62711567faa654456d32f79023a4685804504 SHA512 d973b85ba1a44389a4275f02a779a93a005f7c2e096467b94b072862e4984d5b42cf33f9821ac68aa5b85b12c98983a90b96049989d8c84497969174b6bb838e +MISC metadata.xml 457 BLAKE2B 630128a3e982b6d60cc7b9f74c79fcb5ee47a71a02c73a50af9da8cedb6fad8e20a7f74b881e5b25c6483b92c9edbd56552cd38b2d9cbfa8b3eb4530facea969 SHA512 674f4f5cd809c6c77bc14e0f5687fa972bef14bdfa0b3343c5d66b7163eef1906eb87d060c8288732f825de71dce291ad0b841a5f2f0dd230f957b5687e45d45 diff --git a/dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch b/dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch deleted file mode 100644 index 637368d2f237..000000000000 --- a/dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch +++ /dev/null @@ -1,13 +0,0 @@ -Fix "Package 'langdetect.profiles' is absent from the `packages` configuration." - ---- a/setup.py -+++ b/setup.py -@@ -18,7 +18,7 @@ setup( - author_email='michal.danilak@gmail.com', - url='https://github.com/Mimino666/langdetect', - keywords='language detection library', -- packages=['langdetect', 'langdetect.utils', 'langdetect.tests'], -+ packages=['langdetect', 'langdetect.utils', 'langdetect.tests', 'langdetect.profiles'], - include_package_data=True, - install_requires=['six'], - license='MIT', diff --git a/dev-python/langdetect/langdetect-1.0.9.ebuild b/dev-python/langdetect/langdetect-1.0.9.ebuild index 99577c43fc3e..56733bbffc48 100644 --- a/dev-python/langdetect/langdetect-1.0.9.ebuild +++ b/dev-python/langdetect/langdetect-1.0.9.ebuild @@ -1,9 +1,9 @@ -# Copyright 2022-2024 Gentoo Authors +# Copyright 2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 -PYTHON_COMPAT=( python3_{9,10,11,12,13} ) +PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 ) DISTUTILS_USE_PEP517=setuptools inherit distutils-r1 pypi @@ -19,6 +19,4 @@ KEYWORDS="~amd64" RDEPEND="dev-python/six[${PYTHON_USEDEP}]" -PATCHES=( "${FILESDIR}/${P}-explicit-config.patch" ) - distutils_enable_tests unittest diff --git a/dev-python/langdetect/metadata.xml b/dev-python/langdetect/metadata.xml index c0f74ac187e2..020e07f2a3dd 100644 --- a/dev-python/langdetect/metadata.xml +++ b/dev-python/langdetect/metadata.xml @@ -2,9 +2,11 @@ <!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="person"> - <email>pastalian46@gmail.com</email> - <name>Takuya Wakazono</name> + <email>marcin.deranek@slonko.net</email> + <name>Marcin Deranek</name> </maintainer> - - <origin>gentoo-guru-overlay</origin> + <upstream> + <bugs-to>https://github.com/Mimino666/langdetect/issues</bugs-to> + </upstream> + <origin>slonko-overlay</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-python/meson-python/Manifest b/dev-python/meson-python/Manifest index 23a6e6844b4e..4fab811ab911 100644 --- a/dev-python/meson-python/Manifest +++ b/dev-python/meson-python/Manifest @@ -1 +1,2 @@ DIST meson-python-0.17.1.gh.tar.gz 79456 BLAKE2B 88bda9aadc74d186aab41c9b3a2fe5ba7d51b5997c1c043cf4ea9448395d0c5c5763ccf35358ab867d32a4537a4041a3cf480d82c9ec5cd8d1b5d6bc67d35fc8 SHA512 bd5f4c807468b81b3630eeb6973c2a574473c22298eb2c43d30b67b7503ce77fd79d4509a8f1b0186197622d281279a9c3aa5d9d1c2286d46b7aea1ff2461ae5 +DIST meson-python-0.18.0.gh.tar.gz 88056 BLAKE2B b8379a6cd37c3b4e89884e21ebb85ebed6a5d86575ea57388564659a0fcfab3d0f6b71bd49fc8014486118cf31af3a0a1c67a37afa1b9b93d634622a1bc40570 SHA512 f32f02851cdfc13f29550b297b3bce9038bdaf02381b15064e36442104e93624e090abeae23b9de97dfa971aa456716cae65dbe04784beee13b510db12de1000 diff --git a/dev-python/meson-python/meson-python-0.18.0.ebuild b/dev-python/meson-python/meson-python-0.18.0.ebuild new file mode 100644 index 000000000000..8398873fc3eb --- /dev/null +++ b/dev-python/meson-python/meson-python-0.18.0.ebuild @@ -0,0 +1,68 @@ +# Copyright 2022-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=standalone +PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 ) + +inherit distutils-r1 + +DESCRIPTION="Meson PEP 517 Python build backend" +HOMEPAGE=" + https://pypi.org/project/meson-python/ + https://github.com/mesonbuild/meson-python/ +" +SRC_URI=" + https://github.com/mesonbuild/meson-python/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos" + +RDEPEND=" + >=dev-python/pyproject-metadata-0.7.1[${PYTHON_USEDEP}] + >=dev-build/meson-0.63.0 + !kernel_Darwin? ( dev-util/patchelf ) + $(python_gen_cond_dep ' + >=dev-python/tomli-1.0.0[${PYTHON_USEDEP}] + ' 3.10) +" +BDEPEND=" + ${RDEPEND} + test? ( + >=dev-python/cython-0.29.34 + >=dev-python/packaging-23.1[${PYTHON_USEDEP}] + dev-python/pytest-mock[${PYTHON_USEDEP}] + dev-vcs/git + ) +" + +distutils_enable_tests pytest + +src_test() { + # required by tests/test_sdist.py::test_reproducible + git config --global user.email "test@example.com" || die + git config --global user.name "The Test Suite" || die + git init -q || die + git add -A || die + git commit -m init -q || die + + distutils-r1_src_test +} + +python_test() { + unset NINJA + + local EPYTEST_DESELECT=() + if ! has_version "dev-build/meson[${PYTHON_USEDEP}]"; then + EPYTEST_DESELECT+=( + tests/test_wheel.py::test_vendored_meson + ) + fi + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest -p pytest_mock +} diff --git a/dev-python/narwhals/Manifest b/dev-python/narwhals/Manifest index d9ecfa149a12..dfc093181031 100644 --- a/dev-python/narwhals/Manifest +++ b/dev-python/narwhals/Manifest @@ -1 +1,2 @@ DIST narwhals-1.37.1.gh.tar.gz 708868 BLAKE2B 0cda4e6febb2407b12db34068ba5419cfacc2003a6e4c9a62f713db8ab9994128ac6a739d09a8eb40ab543eb689c3867f3069841f761786a221eff5ef1b37b39 SHA512 3aeb15341f525397aff4ca389cafcdce3b433c0cdd7d0ad389592cfaf0c3837019660895b3a52923b84ce4f2b3f9d29670a962dcd5687dca1a4fe99977e49e20 +DIST narwhals-1.38.0.gh.tar.gz 714872 BLAKE2B f60b828c20849866ac2b0a48a4d3cdd21c80c1f2d48beb1cfe1f519e09f9ea7e045ab3824de886a880e3e5385786e73208bc69a6bd8c1c06b94c3161f3be4d6c SHA512 668f57d7830d70992477f5ac7d917abaf95b36ade8c0b60c93d1ed6eb5f4aa892c83812aedd5056b32d6498d727804d835d880ddc41a2e6a0630fee05e30e581 diff --git a/dev-python/narwhals/files/narwhals-1.38.0-opt-polars.patch b/dev-python/narwhals/files/narwhals-1.38.0-opt-polars.patch new file mode 100644 index 000000000000..96de66908a42 --- /dev/null +++ b/dev-python/narwhals/files/narwhals-1.38.0-opt-polars.patch @@ -0,0 +1,32 @@ +From add7beafc8394ae76309bcb93443aee840d8e5f0 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org> +Date: Tue, 6 May 2025 07:12:45 +0200 +Subject: [PATCH] test: make `polars` optional in `truncate_test` + +--- + tests/expr_and_series/dt/truncate_test.py | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/tests/expr_and_series/dt/truncate_test.py b/tests/expr_and_series/dt/truncate_test.py +index 3e51a796..d2a2e960 100644 +--- a/tests/expr_and_series/dt/truncate_test.py ++++ b/tests/expr_and_series/dt/truncate_test.py +@@ -3,7 +3,6 @@ from __future__ import annotations + from datetime import datetime + + import pandas as pd +-import polars as pl + import pytest + + import narwhals as nw +@@ -227,6 +226,10 @@ def test_truncate_custom( + ], + ) + def test_truncate_polars_ns(every: str, expected: list[datetime]) -> None: ++ pytest.importorskip("polars") ++ ++ import polars as pl ++ + df_pl = pl.DataFrame(data, schema={"a": pl.Datetime(time_unit="ns")}) + df = nw.from_native(df_pl) + result = df.select(nw.col("a").dt.truncate(every)) diff --git a/dev-python/narwhals/narwhals-1.38.0.ebuild b/dev-python/narwhals/narwhals-1.38.0.ebuild new file mode 100644 index 000000000000..236d75e3c312 --- /dev/null +++ b/dev-python/narwhals/narwhals-1.38.0.ebuild @@ -0,0 +1,46 @@ +# 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} ) + +inherit distutils-r1 + +DESCRIPTION="Extremely lightweight compatibility layer between dataframe libraries" +HOMEPAGE=" + https://github.com/narwhals-dev/narwhals/ + https://pypi.org/project/narwhals/ +" +# https://github.com/narwhals-dev/narwhals/issues/2284 +SRC_URI=" + https://github.com/narwhals-dev/narwhals/archive/v${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm64" + +BDEPEND=" + test? ( + dev-python/hypothesis[${PYTHON_USEDEP}] + dev-python/pandas[${PYTHON_USEDEP}] + dev-python/pyarrow[${PYTHON_USEDEP}] + dev-python/pytest-env[${PYTHON_USEDEP}] + ) +" + +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +PATCHES=( + # https://github.com/narwhals-dev/narwhals/pull/2501 + "${FILESDIR}/${P}-opt-polars.patch" +) + +python_test() { + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest --runslow --constructors="pandas,pandas[nullable],pandas[pyarrow],pyarrow" +} diff --git a/dev-python/nltk/Manifest b/dev-python/nltk/Manifest index 4329ee5b7d5f..6a83b3ff24fa 100644 --- a/dev-python/nltk/Manifest +++ b/dev-python/nltk/Manifest @@ -1 +1,6 @@ -DIST nltk-3.9.1.tar.gz 2904691 BLAKE2B c4178eea863feb32642a7f1c290e465244655223c1b18437b832ebd315e01f797d393ab925e641ae9a53a785f0a7fe2bf1dca504a50fb8f66fbafe2a6a1b1c8b SHA512 dad570b3a6728f22b55438a159b56009676f4fbdfc293673eaae0b0ed55dd2db91c32f59b3f89ff6d38101b3c3af9ea81f3519b578c83c17c1a9f3f716bc3ff4 +AUX python-3.12.patch 8925 BLAKE2B a9ad62b0b8d37b8707c6fa880af98ce6ee8e3f02a1d6cf42456a6d1dc2398f7cbf8721eb9e580594531c963dc10232f2e259939ed4dd78b5f6b9d778e2c2c7f7 SHA512 b32631b7d0b805496188b30e4ea8bcb3bd6cccee98b2f3cf5ccffcd8467c6e333654d23ab71b78ca1030aff54ac2e2137efff076bf86bd991bfd0a3077a6543f +DIST nltk-3.8.1.gh.tar.gz 2867926 BLAKE2B 54de1d3ae7cfe0b71ac0f5a62ed3e81e489fa4d322cd32eb4aa4ef60617eb96767a0f3a92c7e5a16e71836cb0d3a1076ae3598b6bcf0af5925c95e1a0ccf70f8 SHA512 5b13eff5d8e628173f5321c293d896919d369bcd586861a7e09bf6fdca2b09f2580902da98ec647bcf9cdc2b33a87c830dda3793de20c31c8bc38c86df8f7930 +DIST nltk-3.9.1.gh.tar.gz 2874006 BLAKE2B 4ad375dafb32f16aa23128f1585f51f8f2c864edb40ea64e3fe291944a41de52fa5e37add1de86434de054bc2ff9ffa48c56a6d6793533f4c0ca6e798829be14 SHA512 7e384a23fa3839c29d38c083d6288d15ff04eb071c4bca3ec1bfb3b9cfcac8d2388041a950d6c71684ee29b791318312df99e29ae258eb5e602ccf2ad1407840 +EBUILD nltk-3.8.1.ebuild 1394 BLAKE2B bf5cdfbd9eb5c1b415de3039f5af1be36c34e8a3c0245efc908c941028b34119d59486dc0c8649771e386808d0c10ab1ab52d1bc651fd8157cd9b9fcc77bfb8e SHA512 3f4c996aab04efd784d948199a7b96bc58372e453216ae290a7c2f903f67f6518cd39162f55900fb1e047badab3d3d6a1fd53c330901f8ccb3acbd0a7023bd78 +EBUILD nltk-3.9.1.ebuild 1223 BLAKE2B f2f1ce13a1f015c4674bd41355c3c00e5f769e1521d8cbb36650bb81e0e799d9c2ee5c53465d101b332a81ad36eeb5061e7e9abd2103b3769978febfd9717445 SHA512 729bc346694c07deed10f6bea8755ec8a5ce255e4045b8ec2fe6140de65c77be2a0cf5a6535608975d853d12c2aa11b8272b9a2989f8961deb8640251fbf5bce +MISC metadata.xml 445 BLAKE2B 4bfcde721368b9c9354799863a7a78d2c04eb789672f52b5449bda3ef567448fa1b434dda9d150aa0ff360477c576ea2fd0bebce40bf80bb843393e245f85278 SHA512 89bb6d0ca2e268e3540cf36e91b57e834eb31f078a91bb7ed7218a17c1a9b63809ae77916822eabf6a3a86286d00ae4a311b33c52e40d9d2e61b6d242f4cef78 diff --git a/dev-python/nltk/files/python-3.12.patch b/dev-python/nltk/files/python-3.12.patch new file mode 100644 index 000000000000..c55d2852751c --- /dev/null +++ b/dev-python/nltk/files/python-3.12.patch @@ -0,0 +1,282 @@ +commit 544bf807bf506927872b7b837c6e1514e80419ab +Author: Konstantin Chernyshev <k4black@ya.ru> +Date: Thu Nov 16 19:40:54 2023 +0100 + + fix(bleu): add Fraction with 3.12 support + +diff --git a/nltk/test/unit/translate/test_bleu.py b/nltk/test/unit/translate/test_bleu.py +index 990b76406..b472d785f 100644 +--- a/nltk/test/unit/translate/test_bleu.py ++++ b/nltk/test/unit/translate/test_bleu.py +@@ -2,7 +2,6 @@ + Tests for BLEU translation evaluation metric + """ + +-import io + import unittest + + import numpy as np +diff --git a/nltk/translate/bleu_score.py b/nltk/translate/bleu_score.py +index da445bc3e..9647202e6 100644 +--- a/nltk/translate/bleu_score.py ++++ b/nltk/translate/bleu_score.py +@@ -7,16 +7,40 @@ + # For license information, see LICENSE.TXT + + """BLEU score implementation.""" ++from __future__ import annotations + + import math + import sys + import warnings + from collections import Counter +-from fractions import Fraction ++from dataclasses import dataclass + + from nltk.util import ngrams + + ++@dataclass ++class Fraction: ++ """ ++ This class is used to represent a fraction with both the numerator and denominator saved for later retrieval. ++ Python 3.12 removed _normalize=False from the standard lib Fraction constructor. ++ """ ++ ++ numerator: int | float ++ denominator: int = 1 ++ ++ def __float__(self): ++ return self.numerator / self.denominator ++ ++ def __lt__(self, other): ++ return float(self) < float(other) ++ ++ def __eq__(self, other): ++ return self.numerator == other.numerator and self.denominator == other.denominator ++ ++ def __gt__(self, other): ++ return float(self) > float(other) ++ ++ + def sentence_bleu( + references, + hypothesis, +@@ -222,7 +246,7 @@ def corpus_bleu( + + # Collects the various precision values for the different ngram orders. + p_n = [ +- Fraction(p_numerators[i], p_denominators[i], _normalize=False) ++ Fraction(p_numerators[i], p_denominators[i]) + for i in range(1, max_weight_length + 1) + ] + +@@ -365,7 +389,7 @@ def modified_precision(references, hypothesis, n): + # Usually this happens when the ngram order is > len(reference). + denominator = max(1, sum(counts.values())) + +- return Fraction(numerator, denominator, _normalize=False) ++ return Fraction(numerator, denominator) + + + def closest_ref_length(references, hyp_len): +@@ -577,7 +601,7 @@ class SmoothingFunction: + In COLING 2004. + """ + return [ +- Fraction(p_n[i].numerator + 1, p_n[i].denominator + 1, _normalize=False) ++ Fraction(p_n[i].numerator + 1, p_n[i].denominator + 1) + if i != 0 + else p_n[0] + for i in range(len(p_n)) + +commit eab59d7ceac5dc64e34ca04ee0143fa8998af204 +Author: Konstantin Chernyshev <k4black@ya.ru> +Date: Thu Nov 16 19:46:47 2023 +0100 + + style: fix pre-commit style checks + +diff --git a/nltk/translate/bleu_score.py b/nltk/translate/bleu_score.py +index 9647202e6..aab519521 100644 +--- a/nltk/translate/bleu_score.py ++++ b/nltk/translate/bleu_score.py +@@ -35,7 +35,9 @@ class Fraction: + return float(self) < float(other) + + def __eq__(self, other): +- return self.numerator == other.numerator and self.denominator == other.denominator ++ return ( ++ self.numerator == other.numerator and self.denominator == other.denominator ++ ) + + def __gt__(self, other): + return float(self) > float(other) +@@ -601,10 +603,7 @@ class SmoothingFunction: + In COLING 2004. + """ + return [ +- Fraction(p_n[i].numerator + 1, p_n[i].denominator + 1) +- if i != 0 +- else p_n[0] +- for i in range(len(p_n)) ++ Fraction(p_n[i].numerator + 1, p_n[i].denominator + 1) if i != 0 else p_n[0] for i in range(len(p_n)) + ] + + def method3(self, p_n, *args, **kwargs): + +commit 8f06fa4b1da4a390d53010e56bc6ab5d5cb32a3a +Author: Konstantin Chernyshev <k4black@ya.ru> +Date: Thu Nov 16 19:48:06 2023 +0100 + + style: fix pre-commit style checks + +diff --git a/nltk/translate/bleu_score.py b/nltk/translate/bleu_score.py +index aab519521..f32743ecc 100644 +--- a/nltk/translate/bleu_score.py ++++ b/nltk/translate/bleu_score.py +@@ -603,7 +603,8 @@ class SmoothingFunction: + In COLING 2004. + """ + return [ +- Fraction(p_n[i].numerator + 1, p_n[i].denominator + 1) if i != 0 else p_n[0] for i in range(len(p_n)) ++ Fraction(p_n[i].numerator + 1, p_n[i].denominator + 1) if i != 0 else p_n[0] ++ for i in range(len(p_n)) + ] + + def method3(self, p_n, *args, **kwargs): + +commit b72a4bdbaf99a2bdb6a99454a1eb8804051bf644 +Author: Konstantin Chernyshev <k4black@ya.ru> +Date: Thu Nov 16 21:49:32 2023 +0100 + + fix: Fraction + +diff --git a/nltk/translate/bleu_score.py b/nltk/translate/bleu_score.py +index f32743ecc..72f5b548d 100644 +--- a/nltk/translate/bleu_score.py ++++ b/nltk/translate/bleu_score.py +@@ -42,6 +42,14 @@ class Fraction: + def __gt__(self, other): + return float(self) > float(other) + ++ def __add__(self, other): ++ if isinstance(other, int): ++ other = Fraction(other, 1) ++ return Fraction( ++ self.numerator * other.denominator + other.numerator * self.denominator, ++ self.denominator * other.denominator, ++ ) ++ + + def sentence_bleu( + references, + +commit 86fa0832f0f4b366f96867f59ae05d744d68b513 +Author: Konstantin Chernyshev <k4black@ya.ru> +Date: Thu Nov 16 23:26:42 2023 +0100 + + fix: use Fraction override + +diff --git a/nltk/translate/bleu_score.py b/nltk/translate/bleu_score.py +index 72f5b548d..ddb54dba8 100644 +--- a/nltk/translate/bleu_score.py ++++ b/nltk/translate/bleu_score.py +@@ -7,48 +7,39 @@ + # For license information, see LICENSE.TXT + + """BLEU score implementation.""" +-from __future__ import annotations +- + import math + import sys + import warnings + from collections import Counter +-from dataclasses import dataclass ++from fractions import Fraction as _Fraction + + from nltk.util import ngrams + + +-@dataclass +-class Fraction: +- """ +- This class is used to represent a fraction with both the numerator and denominator saved for later retrieval. +- Python 3.12 removed _normalize=False from the standard lib Fraction constructor. +- """ +- +- numerator: int | float +- denominator: int = 1 +- +- def __float__(self): +- return self.numerator / self.denominator +- +- def __lt__(self, other): +- return float(self) < float(other) ++class Fraction(_Fraction): ++ """Fraction with _normalize=False support for 3.12""" + +- def __eq__(self, other): +- return ( +- self.numerator == other.numerator and self.denominator == other.denominator +- ) ++ def __new__(cls, numerator=0, denominator=None, _normalize=False): ++ if sys.version_info >= (3, 12): ++ self = super().__new__(cls, numerator, denominator) ++ else: ++ self = super().__new__(cls, numerator, denominator, _normalize=_normalize) ++ self._normalize = _normalize ++ self._original_numerator = numerator ++ self._original_denominator = denominator ++ return self + +- def __gt__(self, other): +- return float(self) > float(other) ++ @property ++ def numerator(self): ++ if self._normalize: ++ return self._numerator ++ return self._original_numerator + +- def __add__(self, other): +- if isinstance(other, int): +- other = Fraction(other, 1) +- return Fraction( +- self.numerator * other.denominator + other.numerator * self.denominator, +- self.denominator * other.denominator, +- ) ++ @property ++ def denominator(self): ++ if self._normalize: ++ return self._denominator ++ return self._original_denominator + + + def sentence_bleu( +@@ -256,7 +247,7 @@ def corpus_bleu( + + # Collects the various precision values for the different ngram orders. + p_n = [ +- Fraction(p_numerators[i], p_denominators[i]) ++ Fraction(p_numerators[i], p_denominators[i], _normalize=False) + for i in range(1, max_weight_length + 1) + ] + +@@ -399,7 +390,7 @@ def modified_precision(references, hypothesis, n): + # Usually this happens when the ngram order is > len(reference). + denominator = max(1, sum(counts.values())) + +- return Fraction(numerator, denominator) ++ return Fraction(numerator, denominator, _normalize=False) + + + def closest_ref_length(references, hyp_len): +@@ -611,7 +602,8 @@ class SmoothingFunction: + In COLING 2004. + """ + return [ +- Fraction(p_n[i].numerator + 1, p_n[i].denominator + 1) if i != 0 else p_n[0] ++ Fraction(p_n[i].numerator + 1, p_n[i].denominator + 1, _normalize=False) ++ if i != 0 else p_n[0] + for i in range(len(p_n)) + ] + diff --git a/dev-python/nltk/metadata.xml b/dev-python/nltk/metadata.xml index 3fab47b124fa..0317a43d0f5a 100644 --- a/dev-python/nltk/metadata.xml +++ b/dev-python/nltk/metadata.xml @@ -2,13 +2,10 @@ <!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="person"> - <email>oz.tiram@gmail.com</email> - <name>Oz Tiram</name> - </maintainer> - <maintainer type="project"> - <email>proxy-maint@gentoo.org</email> - <name>Proxy Maintainers</name> + <email>marcin.deranek@slonko.net</email> + <name>Marcin Deranek</name> </maintainer> - <origin>gentoo-guru-overlay</origin> + <origin>slonko-overlay</origin> + <stabilize-allarches/> </pkgmetadata>
\ No newline at end of file diff --git a/dev-python/nltk/nltk-3.8.1.ebuild b/dev-python/nltk/nltk-3.8.1.ebuild new file mode 100644 index 000000000000..064a8ccee2aa --- /dev/null +++ b/dev-python/nltk/nltk-3.8.1.ebuild @@ -0,0 +1,49 @@ +# Copyright 1999-2023 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} ) +PYTHON_REQ_USE="sqlite,tk?,xml(+)" + +inherit distutils-r1 + +DESCRIPTION="Natural Language Toolkit" +HOMEPAGE="https://www.nltk.org/ https://github.com/nltk/nltk/" +SRC_URI="https://github.com/nltk/nltk/archive/${PV}.tar.gz -> ${P}.gh.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="amd64 ~ppc64 ~riscv x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" +IUSE="tk" + +RDEPEND=" + dev-python/click[${PYTHON_USEDEP}] + dev-python/joblib[${PYTHON_USEDEP}] + dev-python/regex[${PYTHON_USEDEP}] + dev-python/tqdm[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/joblib[${PYTHON_USEDEP}] + >=dev-python/nltk-data-20211221 + dev-python/numpy[${PYTHON_USEDEP}] + dev-python/pyparsing[${PYTHON_USEDEP}] + dev-python/pytest-mock[${PYTHON_USEDEP}] + dev-python/twython[${PYTHON_USEDEP}] + dev-python/scikit-learn[${PYTHON_USEDEP}] + dev-python/scipy[${PYTHON_USEDEP}] + dev-python/matplotlib[${PYTHON_USEDEP}] + )" +PDEPEND="dev-python/nltk-data" + +PATCHES=( "${FILESDIR}/python-3.12.patch" ) + +distutils_enable_tests pytest + +EPYTEST_DESELECT=( + # Internet + nltk/test/unit/test_downloader.py::test_downloader_using_existing_parent_download_dir + nltk/test/unit/test_downloader.py::test_downloader_using_non_existing_parent_download_dir +) diff --git a/dev-python/nltk/nltk-3.9.1.ebuild b/dev-python/nltk/nltk-3.9.1.ebuild index 815d42344ed6..ed46f1794bd1 100644 --- a/dev-python/nltk/nltk-3.9.1.ebuild +++ b/dev-python/nltk/nltk-3.9.1.ebuild @@ -1,19 +1,22 @@ -# Copyright 2025 Gentoo Authors +# Copyright 1999-2023 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} ) +PYTHON_REQ_USE="sqlite,tk?,xml(+)" -inherit distutils-r1 pypi +inherit distutils-r1 -DESCRIPTION="Python package for natural language processing." -HOMEPAGE="https://pypi.org/project/nltk/" +DESCRIPTION="Natural Language Toolkit" +HOMEPAGE="https://www.nltk.org/ https://github.com/nltk/nltk/" +SRC_URI="https://github.com/nltk/nltk/archive/${PV}.tar.gz -> ${P}.gh.tar.gz" LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="~amd64" +KEYWORDS="amd64 ~ppc64 ~riscv x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" +IUSE="tk" RDEPEND=" dev-python/click[${PYTHON_USEDEP}] @@ -21,3 +24,23 @@ RDEPEND=" dev-python/regex[${PYTHON_USEDEP}] dev-python/tqdm[${PYTHON_USEDEP}] " +BDEPEND=" + test? ( + dev-python/joblib[${PYTHON_USEDEP}] + >=dev-python/nltk-data-20211221 + dev-python/numpy[${PYTHON_USEDEP}] + dev-python/pyparsing[${PYTHON_USEDEP}] + dev-python/pytest-mock[${PYTHON_USEDEP}] + dev-python/twython[${PYTHON_USEDEP}] + dev-python/scikit-learn[${PYTHON_USEDEP}] + dev-python/scipy[${PYTHON_USEDEP}] + dev-python/matplotlib[${PYTHON_USEDEP}] + )" +PDEPEND=">=dev-python/nltk-data-20250310" + +distutils_enable_tests pytest + +EPYTEST_IGNORE=( + # Network required + nltk/test/unit/test_downloader.py +) diff --git a/dev-python/pytest-timeout/Manifest b/dev-python/pytest-timeout/Manifest index 46854c84991e..9476b110bdf2 100644 --- a/dev-python/pytest-timeout/Manifest +++ b/dev-python/pytest-timeout/Manifest @@ -1 +1,2 @@ DIST pytest-timeout-2.3.1.tar.gz 17697 BLAKE2B 5f0ffa2fdda59ef28a92bfd5742891f63c1fa400db4ef89077fa13d917932d83e76d543c4c326a27df582a025122d8a75f1f7adf0daebbecc42273d4323ff93a SHA512 f200d625d11f76173521f4e2e4e09d57f6613d9b1420c57893b454ec496d5f11b32390b95eb995b403d15f8563b742a58fa0e0cbad42246b4049787a389ad83e +DIST pytest_timeout-2.4.0.tar.gz 17973 BLAKE2B 97408cf5c9b49d809ef7a5d057afd22dfd856b64043879fa8e7d9f3996f76f5554bfed62bc8f40f4e5f28f058067b29b582953bf977fd1f6de95dfc7184ce41c SHA512 ca37754c20517024cb88e88e9c4d8497ff5c235d1bae4bc082d21b5807b43aac8294757900f9bc29e3e34a4b8c671136468793f47baadebf086f924b59b0bd0c diff --git a/dev-python/pytest-timeout/pytest-timeout-2.4.0.ebuild b/dev-python/pytest-timeout/pytest-timeout-2.4.0.ebuild new file mode 100644 index 000000000000..5f589d1bacc3 --- /dev/null +++ b/dev-python/pytest-timeout/pytest-timeout-2.4.0.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} pypy3 ) + +inherit distutils-r1 pypi + +DESCRIPTION="pytest plugin to abort hanging tests" +HOMEPAGE=" + https://github.com/pytest-dev/pytest-timeout/ + https://pypi.org/project/pytest-timeout/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" + +# do not rdepend on pytest, it won't be used without it anyway +# pytest-cov used to test compatibility +BDEPEND=" + test? ( + dev-python/pexpect[${PYTHON_USEDEP}] + !hppa? ( + $(python_gen_cond_dep ' + dev-python/pytest-cov[${PYTHON_USEDEP}] + ' python3_{11..13} 'pypy3*') + ) + ) +" + +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +python_test() { + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + local -x PYTEST_PLUGINS=pytest_timeout + + if has_version "dev-python/pytest-cov[${PYTHON_USEDEP}]"; then + PYTEST_PLUGINS+=,pytest_cov.plugin + else + EPYTEST_DESELECT+=( + test_pytest_timeout.py::test_cov + ) + fi + + epytest +} diff --git a/dev-python/python-stdnum/Manifest b/dev-python/python-stdnum/Manifest index 88b7fb3e802f..8bf913e51d47 100644 --- a/dev-python/python-stdnum/Manifest +++ b/dev-python/python-stdnum/Manifest @@ -1 +1,2 @@ DIST python-stdnum-1.20.tar.gz 1191978 BLAKE2B 8395106d155c1f4642a74691d219230b42e81b521db41c57d5e978eb8e1769ca51598a1ad061356a1997fac5a60ca21796d1e8f79fa7d737e70fbbfe78dbfcc6 SHA512 92ec9fcb3bf71405569e93668ab1d089225da74a33095e63ee8f0116c868a4b937d093ba98e29085889d1745cc55eab13936d6ed9ceb24beecbc193c722a515e +DIST python_stdnum-2.0.tar.gz 1237342 BLAKE2B d1a0f163b5ef97827aab579bbb12d669923b466a29a4e6799dc950126fcc823e91ea9f1426b8239085355893cd588cd7504424a57e7fc783972b3087a94078af SHA512 583379fec66dd507429b1740edd5c9c66fc1a7bcefc3af608535f86265c375dea2b7e004ac9aae6b4757c3e085c501b64d4e8a7a6c55bed7c452f49d873c2f08 diff --git a/dev-python/python-stdnum/python-stdnum-2.0.ebuild b/dev-python/python-stdnum/python-stdnum-2.0.ebuild new file mode 100644 index 000000000000..6fc13f1927e0 --- /dev/null +++ b/dev-python/python-stdnum/python-stdnum-2.0.ebuild @@ -0,0 +1,34 @@ +# 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 module to handle standardized numbers and codes" +HOMEPAGE=" + https://arthurdejong.org/python-stdnum/ + https://github.com/arthurdejong/python-stdnum/ + https://pypi.org/project/python-stdnum/ +" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" +IUSE="vies" + +RDEPEND=" + vies? ( + dev-python/zeep[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +src_prepare() { + sed -i -e 's:--cov.*::' setup.cfg || die + distutils-r1_src_prepare +} diff --git a/dev-python/pytools/Manifest b/dev-python/pytools/Manifest index 27a3ba9a4ab8..7661ea520385 100644 --- a/dev-python/pytools/Manifest +++ b/dev-python/pytools/Manifest @@ -1 +1,2 @@ DIST pytools-2025.1.2.tar.gz 80400 BLAKE2B e07379f1c954ece6d9b2e5c7db5a84758d5d85a5955990cf730a135bc961321132c36c7e1402c4684d50957069f839bb732bda849f3d46513ddb5533b9a88b88 SHA512 74fc858aed5043cab9aa2210f071aa3aaf60008ec60b63133dac870ff257981284f66b40ccbedfdcf68969b1e1476cb012dbf83fa9397bb1b857ae5db09f99f6 +DIST pytools-2025.1.3.tar.gz 80509 BLAKE2B 448de6bb5ddedd905ee002ee4f6c0a49c657fce546e99c8ccdc5ddc119db9b8e0d40a138be9b3f25a63c5beab1602ff862805b175f927bea2ca306d6155d2499 SHA512 cdf9562f9dbc916fc0c21f363e7f34c1bdee3fd5adc5b499461ce40e887100d39ab0f8dddc50ade6c85120c74da3330d487eda112b7bf6d7e567fcdcabbe6e9b diff --git a/dev-python/pytools/pytools-2025.1.3.ebuild b/dev-python/pytools/pytools-2025.1.3.ebuild new file mode 100644 index 000000000000..d879e4989751 --- /dev/null +++ b/dev-python/pytools/pytools-2025.1.3.ebuild @@ -0,0 +1,31 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +PYTHON_COMPAT=( python3_{9,10,11,12,13} ) +PYTHON_REQ_USE='sqlite' + +inherit distutils-r1 pypi + +DESCRIPTION="Collection of tools missing from the Python standard library" +HOMEPAGE=" + https://mathema.tician.de/software/pytools/ + https://github.com/inducer/pytools/ + https://pypi.org/project/pytools/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv" + +# NB: numpy are an "extra" (optional) deps +RDEPEND=" + >=dev-python/numpy-1.6[${PYTHON_USEDEP}] + >=dev-python/platformdirs-2.2[${PYTHON_USEDEP}] + >=dev-python/siphash24-1.6[${PYTHON_USEDEP}] + >=dev-python/typing-extensions-4.5[${PYTHON_USEDEP}] +" + +distutils_enable_tests pytest diff --git a/dev-python/trakit/Manifest b/dev-python/trakit/Manifest new file mode 100644 index 000000000000..a8e1cd3a76ee --- /dev/null +++ b/dev-python/trakit/Manifest @@ -0,0 +1 @@ +DIST trakit-0.2.2.gh.tar.gz 43207 BLAKE2B 6bd651cae7892d7af9c7f68d313d3046074d4e8a7cf17eb7c562d5d44235142ccce309298ed10d612faf1d9405dbac579d73f36db8517a27ccea3457ada23b2f SHA512 3fbd6c9fc2badfabc15c8b78dbeb677b11ac687b6fed847bcc0d835268a180a492bf530c14f5cce2ad8db19fae2e6af8e8ff59c85fb577ce94d8ba0943a00021 diff --git a/dev-python/trakit/metadata.xml b/dev-python/trakit/metadata.xml new file mode 100644 index 000000000000..ea8988e8af6a --- /dev/null +++ b/dev-python/trakit/metadata.xml @@ -0,0 +1,11 @@ +<?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> + <name>Python</name> + </maintainer> + + <origin>gentoo-staging</origin> + <stabilize-allarches/> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-python/trakit/trakit-0.2.2.ebuild b/dev-python/trakit/trakit-0.2.2.ebuild new file mode 100644 index 000000000000..40f500cb8219 --- /dev/null +++ b/dev-python/trakit/trakit-0.2.2.ebuild @@ -0,0 +1,39 @@ +# Copyright 2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=poetry +PYTHON_COMPAT=( python3_{9,10,11,12,13} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Guess additional information from titles in media tracks" +HOMEPAGE=" + https://github.com/ratoaq2/trakit + https://pypi.org/project/trakit/ +" +# No tests in sdist +SRC_URI="https://github.com/ratoaq2/trakit/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64" + +RDEPEND=" + dev-python/babelfish[${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] + dev-python/rebulk[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/unidecode[${PYTHON_USEDEP}] + ) +" + +EPYTEST_DESELECT=( + # Network + tests/test_generate.py::test_generate_config +) + +distutils_enable_tests pytest diff --git a/dev-python/virtualenv/Manifest b/dev-python/virtualenv/Manifest index ca1f8b903e1d..15d713a43bda 100644 --- a/dev-python/virtualenv/Manifest +++ b/dev-python/virtualenv/Manifest @@ -1 +1,2 @@ DIST virtualenv-20.30.0.tar.gz 4346945 BLAKE2B 67e78ae9e0b51799da4d3b1f981b70e4727d43f044cb699fcf93c00af181457f0bce8f5519e2b9b36b7713608a14da21bc1a8767d5c10a7791830f52580af70c SHA512 c7a43fe7ba1fa5224252d4d0982120b5ef353a20fd3b48c52f62a0ef46f63a795dcf2c5388449cdec3f24316dda77724f801358330baa71501e1dfd16dcda2ab +DIST virtualenv-20.31.1.tar.gz 6076234 BLAKE2B d97adc477cf09d8944289d7e395428454e3867516bf3a84da08b598299b0a293eff5d6ea3a25dc906b1023d32eefcb0aa37f8515a68ab338de8d61c3c998df8f SHA512 1bac09af8a8db0104332e129f2a7a6623408547a1af63a2168a3e1519ff708c33d0665be489085548c0ae17962d787c5eec81d02920e32e256085ea4de5e7774 diff --git a/dev-python/virtualenv/files/virtualenv-20.31.1-ensurepip.patch b/dev-python/virtualenv/files/virtualenv-20.31.1-ensurepip.patch new file mode 100644 index 000000000000..54a989fecb9d --- /dev/null +++ b/dev-python/virtualenv/files/virtualenv-20.31.1-ensurepip.patch @@ -0,0 +1,34 @@ +From ab30a98f4bb53b7aad6fd130cf723271e2b7f638 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org> +Date: Sat, 22 Jun 2024 14:28:23 +0200 +Subject: [PATCH] Use ensurepip wheels instead of local bundle + +--- + src/virtualenv/seed/wheels/embed/__init__.py | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/src/virtualenv/seed/wheels/embed/__init__.py b/src/virtualenv/seed/wheels/embed/__init__.py +index 6b3ef263..37c114f8 100644 +--- a/src/virtualenv/seed/wheels/embed/__init__.py ++++ b/src/virtualenv/seed/wheels/embed/__init__.py +@@ -1,5 +1,6 @@ + from __future__ import annotations + ++import sysconfig + from pathlib import Path + + from virtualenv.seed.wheels.util import Wheel +@@ -40,6 +41,13 @@ MAX = "3.8" + + + def get_embed_wheel(distribution, for_py_version): ++ # Gentoo hack: get wheel from ensurepip directory ++ bundle_dir = Path(sysconfig.get_config_var("WHEEL_PKG_DIR")) ++ try: ++ return Wheel.from_path(next(bundle_dir.glob(f"{distribution}-*.whl"))) ++ except StopIteration: ++ return None ++ + mapping = BUNDLE_SUPPORT.get(for_py_version, {}) or BUNDLE_SUPPORT[MAX] + wheel_file = mapping.get(distribution) + if wheel_file is None: diff --git a/dev-python/virtualenv/virtualenv-20.31.1.ebuild b/dev-python/virtualenv/virtualenv-20.31.1.ebuild new file mode 100644 index 000000000000..48e79b25362d --- /dev/null +++ b/dev-python/virtualenv/virtualenv-20.31.1.ebuild @@ -0,0 +1,138 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +PYTHON_TESTED=( python3_{9,10,11,12,13} pypy3 ) +PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" ) + +inherit distutils-r1 pypi + +DESCRIPTION="Virtual Python Environment builder" +HOMEPAGE=" + https://virtualenv.pypa.io/en/stable/ + https://pypi.org/project/virtualenv/ + https://github.com/pypa/virtualenv/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +RDEPEND=" + >=dev-python/distlib-0.3.7[${PYTHON_USEDEP}] + >=dev-python/filelock-3.12.2[${PYTHON_USEDEP}] + >=dev-python/platformdirs-3.9.1[${PYTHON_USEDEP}] + + dev-python/ensurepip-pip + dev-python/ensurepip-setuptools + dev-python/ensurepip-wheel +" +# coverage is used somehow magically in virtualenv, maybe it actually +# tests something useful +BDEPEND=" + dev-python/hatch-vcs[${PYTHON_USEDEP}] + test? ( + $(python_gen_cond_dep ' + dev-python/coverage[${PYTHON_USEDEP}] + dev-python/flaky[${PYTHON_USEDEP}] + >=dev-python/pip-22.2.1[${PYTHON_USEDEP}] + >=dev-python/pytest-mock-3.6.1[${PYTHON_USEDEP}] + dev-python/pytest-timeout[${PYTHON_USEDEP}] + dev-python/pytest-xdist[${PYTHON_USEDEP}] + >=dev-python/setuptools-67.8[${PYTHON_USEDEP}] + dev-python/wheel[${PYTHON_USEDEP}] + >=dev-python/packaging-20.0[${PYTHON_USEDEP}] + ' "${PYTHON_TESTED[@]}") + $(python_gen_cond_dep ' + dev-python/time-machine[${PYTHON_USEDEP}] + ' python3_{11..13}) + $(python_gen_cond_dep ' + >=dev-python/pytest-freezer-0.4.6[${PYTHON_USEDEP}] + ' 'pypy3*') + ) +" + +distutils_enable_tests pytest + +src_prepare() { + local PATCHES=( + # use wheels from ensurepip bundle + "${FILESDIR}/${PN}-20.31.1-ensurepip.patch" + ) + + distutils-r1_src_prepare + + # workaround test failures due to warnings from setuptools-scm, sigh + echo '[tool.setuptools_scm]' >> pyproject.toml || die + + # remove useless pins + sed -i -e 's:,<[0-9.]*::' pyproject.toml || die + + # remove bundled wheels + rm src/virtualenv/seed/wheels/embed/*.whl || die +} + +python_test() { + if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then + einfo "Skipping testing on ${EPYTHON}" + return + fi + + local EPYTEST_DESELECT=( + tests/unit/seed/embed/test_bootstrap_link_via_app_data.py::test_seed_link_via_app_data + # tests for old wheels with py3.7 support + tests/unit/seed/embed/test_pip_invoke.py::test_base_bootstrap_via_pip_invoke + tests/unit/seed/wheels/test_wheels_util.py::test_wheel_not_support + # broken by different wheel versions in ensurepip + tests/unit/seed/wheels/test_acquire_find_wheel.py::test_find_latest_string + tests/unit/seed/wheels/test_acquire_find_wheel.py::test_find_exact + tests/unit/seed/wheels/test_acquire_find_wheel.py::test_find_latest_none + tests/unit/seed/wheels/test_acquire.py::test_download_wheel_bad_output + # hangs on a busy system, sigh + tests/unit/test_util.py::test_reentrant_file_lock_is_thread_safe + # TODO + tests/unit/create/via_global_ref/test_build_c_ext.py::test_can_build_c_extensions + ) + case ${EPYTHON} in + pypy3.11) + EPYTEST_DESELECT+=( + # these don't like the executable called pypy3.11? + tests/unit/activation/test_bash.py::test_bash + tests/unit/activation/test_fish.py::test_fish + tests/unit/discovery/py_info/test_py_info.py::test_fallback_existent_system_executable + ) + ;; + python3.1[23]) + EPYTEST_DESELECT+=( + tests/unit/create/via_global_ref/test_build_c_ext.py + ) + ;& + python3.11) + EPYTEST_DESELECT+=( + # TODO + tests/unit/discovery/py_info/test_py_info.py::test_fallback_existent_system_executable + ) + ;; + esac + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + local -x TZ=UTC + local plugins=( -p flaky -p pytest_mock ) + if [[ ${EPYTHON} == pypy3* ]]; then + plugins+=( -p freezer ) + else + plugins+=( -p time_machine ) + fi + local EPYTEST_TIMEOUT=180 + local EPYTEST_XDIST=1 + epytest "${plugins[@]}" +} + +src_install() { + distutils-r1_src_install + + # remove bundled wheels, we're using ensurepip bundle instead + find "${ED}" -name '*.whl' -delete || die +} |
