diff options
| author | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2025-10-06 19:05:03 +0000 |
|---|---|---|
| committer | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2025-10-06 19:05:03 +0000 |
| commit | 9d8f7d0265a06ecdb9079d124b3cf9ffc5451f42 (patch) | |
| tree | cfb23f97729f3be1b70636b642ab210c9b215ef4 /dev-python | |
| parent | 5adf31c7f4ba4bf418e6f726223a9217cf460a89 (diff) | |
| download | baldeagleos-repo-9d8f7d0265a06ecdb9079d124b3cf9ffc5451f42.tar.gz baldeagleos-repo-9d8f7d0265a06ecdb9079d124b3cf9ffc5451f42.tar.xz baldeagleos-repo-9d8f7d0265a06ecdb9079d124b3cf9ffc5451f42.zip | |
Adding metadata
Diffstat (limited to 'dev-python')
40 files changed, 1096 insertions, 288 deletions
diff --git a/dev-python/asgiref/Manifest b/dev-python/asgiref/Manifest index 7102620b29fe..e9c3020c88b5 100644 --- a/dev-python/asgiref/Manifest +++ b/dev-python/asgiref/Manifest @@ -1,2 +1,3 @@ +DIST asgiref-3.10.0.tar.gz 37483 BLAKE2B 33e0197d77f4ca7626b328a75664225f3cfd951ba0408e200c4a00391a724b5ffb50eb078fabcb52b2e424ec7eaa7aabb74aa833b8c5f33665843cbb158eb8fa SHA512 cb7e691cf5c59f25f5e6389fccf6f601aee6efc034ceb74434dacb3e55cc8dd6836230fd2598a65e41b44737cf3a359791f2262acf50e092e04f5c214a67bbbd DIST asgiref-3.9.1.tar.gz 36870 BLAKE2B d4883a95c2c363388a63114eeff92af96f5989e528e8bb496ac965aa0c686117cf38cf7968d16006bfa2529be84b5cc80c957128acee447ecbd5857db28b8377 SHA512 bc1a947dc7026fbd95970c71e699462856752b48024e2adf3ab5298dd8fb3fcee2e02a95eb97c5e8fe51ba77763b07f8e2922656ecac5b4205e03054663f9bbc DIST asgiref-3.9.2.tar.gz 36894 BLAKE2B 60dd3313486f2776e4518adf26c2eb45765be3a4fdc2e625972372ed2dfd8e34d2c79c5c94c05b2f8d3e47edcb25798c7ee217ec379e8cd453bd385bf86e7f92 SHA512 386fd3c74dd94afc758ff8d6a00e429415391f0e65e529b82a561a16f9cd253e7d8cc243654a820ddd9a3bd11cc8e6474fc58f61aaa0575e1ed6d6f14306871e diff --git a/dev-python/asgiref/asgiref-3.10.0.ebuild b/dev-python/asgiref/asgiref-3.10.0.ebuild new file mode 100644 index 000000000000..30e0e9bcc2f1 --- /dev/null +++ b/dev-python/asgiref/asgiref-3.10.0.ebuild @@ -0,0 +1,23 @@ +# Copyright 2020-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="ASGI utilities (successor to WSGI)" +HOMEPAGE=" + https://asgi.readthedocs.io/en/latest/ + https://github.com/django/asgiref/ + https://pypi.org/project/asgiref/ +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +EPYTEST_PLUGINS=( pytest-asyncio ) +distutils_enable_tests pytest diff --git a/dev-python/astroid/Manifest b/dev-python/astroid/Manifest index ef0f11988066..76ea7f70ecb9 100644 --- a/dev-python/astroid/Manifest +++ b/dev-python/astroid/Manifest @@ -1,4 +1,3 @@ DIST astroid-3.3.11.gh.tar.gz 469464 BLAKE2B cb2ad429fa303e1049de685079d814696f9a907f75d85e0eb6aadef34d791ca2564e2727aff604e1f15b8bdd262b6c5dbfaa64193bac008d39e9bb7e642254cc SHA512 7dd0fae9fa6135abb505af567731f9062ea5f45b5c2e9c613fd1c5cbeeb409779a620cde3ecc42cd8a0733ccebc58b5e8e66baa1a38b6f46b1d3fcf2e33914b5 -DIST astroid-4.0.0_beta2.gh.tar.gz 469767 BLAKE2B d3f03cd34e7a1fc667eecf0fd68fd58ece838bfccbabce13ad3a1020999d0e984c865d11100bfb514cc5034863b8df77db9fb8e7132fd2ec74035c8ba8a39108 SHA512 eabf3e08677894e3f4d843ad602fdf957518c143f42ad5e5c81ab679175e6717a339a6b78d7c377576d75f30a56cfc59045a47d23d18e10835df69f9656f588c -DIST astroid-4.0.0_beta3.gh.tar.gz 472369 BLAKE2B 53e36752a4e6ed9c9d8e25cd7143d1bd3fadba1a1c151cd6e9c7a8fed2c6fbd05f2fe9eab6489e93897efcc2ac62a6b09074d656f1cb60d9bf26c854191a79b4 SHA512 37316cfdf7285eb6471e52e534ffe34456b6e7be9d07288ec62a78cc20de1f6189a1220fd098579213c29b2bfacd5ff20bc08b7dc519b04a36b24dfb6f34f706 +DIST astroid-4.0.0.gh.tar.gz 475111 BLAKE2B b63a0af12dddf9fa25d0c1e3c883187f23ea91110b10cae177b7682a3a591c5709777394ee4d41186988a049e85e1db7ec7ea051dec4fb9675394bbfd2457ecb SHA512 4eb1e3f81bed11f2513ddf5f55593b8a78df57606ac6c24754d588c2616ccc2bfc2b4fa7515c9d34d5e8e30c598b97f27d8dee7b88a45844479ad0147774b450 DIST astroid-4.0.0_rc0.gh.tar.gz 474866 BLAKE2B 4a722d135579a0e01c32ceff21c824ff4f6009a4e3acecf5df20ff83dd67fffd93fe86fe4b9c2687792d15664d9a509e1da2152cdbc10a5c70b00eed9cb57f7c SHA512 855893700b47514716589295a42920e21734110ac98e65affb83dd303edb10495e1a9daabe5ddee298a9c686120cfdb3283cbc184db2752f0fedae18355d08f7 diff --git a/dev-python/astroid/astroid-4.0.0_beta2.ebuild b/dev-python/astroid/astroid-4.0.0.ebuild index f091c14f43c9..a107a22b0016 100644 --- a/dev-python/astroid/astroid-4.0.0_beta2.ebuild +++ b/dev-python/astroid/astroid-4.0.0.ebuild @@ -8,20 +8,21 @@ PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 ) inherit distutils-r1 -MY_P=${P/_beta/b} +MY_P=${P/_/} DESCRIPTION="Abstract Syntax Tree for logilab packages" HOMEPAGE=" https://github.com/pylint-dev/astroid/ https://pypi.org/project/astroid/ " SRC_URI=" - https://github.com/pylint-dev/astroid/archive/v${PV/_beta/b}.tar.gz + https://github.com/pylint-dev/astroid/archive/v${PV/_/}.tar.gz -> ${P}.gh.tar.gz " S=${WORKDIR}/${MY_P} LICENSE="LGPL-2.1+" SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" # dev-python/regex isn't available for pypy BDEPEND=" @@ -61,6 +62,8 @@ python_test() { # old pythons only tests/brain/test_dataclasses.py::test_pydantic_field tests/test_regrtest.py::NonRegressionTests::test_numpy_distutils + # -Werror, sigh + tests/test_nodes.py::test_deprecated_nodes_import_from_toplevel ) if ! has_version "dev-python/mypy[${PYTHON_USEDEP}]"; then diff --git a/dev-python/astroid/astroid-4.0.0_beta3.ebuild b/dev-python/astroid/astroid-4.0.0_beta3.ebuild deleted file mode 100644 index f091c14f43c9..000000000000 --- a/dev-python/astroid/astroid-4.0.0_beta3.ebuild +++ /dev/null @@ -1,73 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 ) - -inherit distutils-r1 - -MY_P=${P/_beta/b} -DESCRIPTION="Abstract Syntax Tree for logilab packages" -HOMEPAGE=" - https://github.com/pylint-dev/astroid/ - https://pypi.org/project/astroid/ -" -SRC_URI=" - https://github.com/pylint-dev/astroid/archive/v${PV/_beta/b}.tar.gz - -> ${P}.gh.tar.gz -" -S=${WORKDIR}/${MY_P} - -LICENSE="LGPL-2.1+" -SLOT="0" - -# dev-python/regex isn't available for pypy -BDEPEND=" - dev-python/setuptools-scm[${PYTHON_USEDEP}] - test? ( - dev-python/attrs[${PYTHON_USEDEP}] - >=dev-python/numpy-1.17.0[${PYTHON_USEDEP}] - dev-python/python-dateutil[${PYTHON_USEDEP}] - $(python_gen_cond_dep ' - dev-python/regex[${PYTHON_USEDEP}] - ' 'python*') - ) -" - -EPYTEST_PLUGINS=() -distutils_enable_tests pytest - -export SETUPTOOLS_SCM_PRETEND_VERSION=${PV} - -python_test() { - local EPYTEST_IGNORE=() - local EPYTEST_DESELECT=( - # hangs randomly - tests/test_nodes.py::AsStringTest::test_recursion_error_trapped - # no clue why they're broken - tests/test_modutils.py::GetModulePartTest::test_known_values_get_builtin_module_part - # TODO - tests/test_builder.py::BuilderTest::test_data_build_error_filename - # numpy-2 (https://github.com/pylint-dev/astroid/issues/2442) - tests/brain/numpy/test_core_einsumfunc.py::test_numpy_function_calls_inferred_as_ndarray - tests/brain/numpy/test_core_fromnumeric.py::BrainNumpyCoreFromNumericTest::test_numpy_function_calls_inferred_as_ndarray - tests/brain/numpy/test_core_multiarray.py::BrainNumpyCoreMultiarrayTest::test_numpy_function_calls_inferred_as_ndarray - tests/brain/numpy/test_core_numerictypes.py::NumpyBrainCoreNumericTypesTest::test_datetime_astype_return - tests/brain/numpy/test_core_numerictypes.py::NumpyBrainCoreNumericTypesTest::test_generic_types_are_subscriptables - tests/brain/numpy/test_core_umath.py::NumpyBrainCoreUmathTest::test_numpy_core_umath_functions_return_type - tests/brain/numpy/test_core_umath.py::NumpyBrainCoreUmathTest::test_numpy_core_umath_functions_return_type_tuple - # old pythons only - tests/brain/test_dataclasses.py::test_pydantic_field - tests/test_regrtest.py::NonRegressionTests::test_numpy_distutils - ) - - if ! has_version "dev-python/mypy[${PYTHON_USEDEP}]"; then - EPYTEST_IGNORE+=( - tests/test_raw_building.py - ) - fi - - epytest -} diff --git a/dev-python/django-filter/Manifest b/dev-python/django-filter/Manifest index 83a0bed0ecd5..2729169e0852 100644 --- a/dev-python/django-filter/Manifest +++ b/dev-python/django-filter/Manifest @@ -1 +1,2 @@ DIST django-filter-25.1.gh.tar.gz 139657 BLAKE2B 765b804b997dacdd31c682fec4e64333d9de6d14c5a9aa62d5884ff0ac92e3ae9ed96aee9853ca6c84134b7254216ee63cd0f58b9f4bb28da145de640d95ef6a SHA512 9b1893b83d84918e8d91043e838f559fecd96fed8c77e3ca164c18bfbb630fc5c5ee85eb3ef5834bdca8187d2693540a8a2c922f2107f1ae9a9d905ef8587428 +DIST django-filter-25.2.gh.tar.gz 140478 BLAKE2B 1d4ac9aa7023c6049d4a42cb2bc3113b7b38ac1283ad957f3b66a815a7e519fcee30ed34d69973eb329fb95d5e7ecead1505623abefab9e28b87cda7972acd8d SHA512 9bbe21af68e94974f554d1c72053bda75ae35c069b9df7066e5c8b091f90a44244cbc5340b7a8556b6a46c25d8fc26c11f2457f815378314c4bce7e8ece3765a diff --git a/dev-python/django-filter/django-filter-25.2.ebuild b/dev-python/django-filter/django-filter-25.2.ebuild new file mode 100644 index 000000000000..6235fe1ae47a --- /dev/null +++ b/dev-python/django-filter/django-filter-25.2.ebuild @@ -0,0 +1,41 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=flit +PYTHON_COMPAT=( python3_{9,10,11,12,13} ) + +inherit distutils-r1 + +DESCRIPTION="Django app allowing declarative dynamic QuerySet filtering from URL parameters" +HOMEPAGE=" + https://github.com/carltongibson/django-filter/ + https://pypi.org/project/django-filter/ +" +SRC_URI=" + https://github.com/carltongibson/django-filter/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" +IUSE="test" +RESTRICT="!test? ( test )" + +RDEPEND=" + >=dev-python/django-5.2[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + ${RDEPEND} + dev-python/djangorestframework[${PYTHON_USEDEP}] + dev-python/pytz[${PYTHON_USEDEP}] + ) +" + +python_test() { + local -x DJANGO_SETTINGS_MODULE=tests.settings + "${EPYTHON}" -m django test -v 2 || die +} diff --git a/dev-python/gherkin-official/Manifest b/dev-python/gherkin-official/Manifest index 3e65e8d8ffa5..dd8a2fdead67 100644 --- a/dev-python/gherkin-official/Manifest +++ b/dev-python/gherkin-official/Manifest @@ -1,4 +1,2 @@ DIST gherkin-33.1.0.gh.tar.gz 3855072 BLAKE2B 026dc11c4451e5243dc4ede0108c19162cb29784507095642d4a2599c52143f8a594b6dba21552a4c061f62fccfe71f3ed4bb574453d68e35231f99340876e90 SHA512 176a9e8bf448f07da54a0e35095e40d82ff4a842132ef58052e4451d3ccd3a551d493319c6f44c0148ae2e6dec950e4a0baaffea5aea77c161bafc0970c18f48 -DIST gherkin-34.0.0.gh.tar.gz 3879551 BLAKE2B f1f97e9b7aef359ef7fecae6d6c6259e58e2650317d8bfac166ee0c7be60418bc2dbfa6c56aec186c27d4dd712f3c5caec769e0f908d61e54cb3903513a69a1f SHA512 4014a37df26cc5add51a4825a8ef03418560f07e4b9dbd4ccdd461ab6f519a959f6b29e8536b2aea5c5e4c2d53abae106cfefab650eccc1bc1bbbad01ee28d40 -DIST gherkin-35.0.0.gh.tar.gz 3878824 BLAKE2B 226c9b7bb53987a6d506a90d83fad0bdf975f8b23f6e89963d4733011ef3e7e1b69c2569634ce55c7a7b3579159fb12ab6dfc178ea95b74897d4b64f631425fb SHA512 10281954c537d3f03116d612a3123c06576c1ef863985ef73b98bfdb9e1c4e6168dacf4ac04962544d2496e81261abbe8cc625756fe8c540745c60514daffb4a DIST gherkin-35.1.0.gh.tar.gz 3881632 BLAKE2B 9d0c2b3da23628c1146b684c581419026fc3c35ebbc569173301c0997ade082dd4c6153f9abf53b3eec5eb3206bf2e659e645d6455a11751f0fef634109ce73a SHA512 670ac04258e0f405eafbc7f0fb76105143807de319eda747c4ed7000ffb5061c3bb7b5a581cd338b74bbe0e99342a6b49682b3470b7b9555a55e57c260a517f1 diff --git a/dev-python/gherkin-official/gherkin-official-34.0.0.ebuild b/dev-python/gherkin-official/gherkin-official-34.0.0.ebuild deleted file mode 100644 index 8bf417e46f2a..000000000000 --- a/dev-python/gherkin-official/gherkin-official-34.0.0.ebuild +++ /dev/null @@ -1,31 +0,0 @@ -# Copyright 2024-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=uv-build -PYTHON_COMPAT=( python3_{11..14} ) - -inherit distutils-r1 - -DESCRIPTION="Gherkin parser/compiler for Python" -HOMEPAGE=" - https://github.com/cucumber/gherkin/ - https://pypi.org/project/gherkin-official/ -" -SRC_URI=" - https://github.com/cucumber/gherkin/archive/refs/tags/v${PV}.tar.gz - -> gherkin-${PV}.gh.tar.gz -" -S=${WORKDIR}/gherkin-${PV}/python - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~amd64 ~arm64" - -RDEPEND=" - dev-python/typing-extensions[${PYTHON_USEDEP}] -" - -EPYTEST_PLUGINS=() -distutils_enable_tests pytest diff --git a/dev-python/gherkin-official/gherkin-official-35.0.0.ebuild b/dev-python/gherkin-official/gherkin-official-35.0.0.ebuild deleted file mode 100644 index 8bf417e46f2a..000000000000 --- a/dev-python/gherkin-official/gherkin-official-35.0.0.ebuild +++ /dev/null @@ -1,31 +0,0 @@ -# Copyright 2024-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=uv-build -PYTHON_COMPAT=( python3_{11..14} ) - -inherit distutils-r1 - -DESCRIPTION="Gherkin parser/compiler for Python" -HOMEPAGE=" - https://github.com/cucumber/gherkin/ - https://pypi.org/project/gherkin-official/ -" -SRC_URI=" - https://github.com/cucumber/gherkin/archive/refs/tags/v${PV}.tar.gz - -> gherkin-${PV}.gh.tar.gz -" -S=${WORKDIR}/gherkin-${PV}/python - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~amd64 ~arm64" - -RDEPEND=" - dev-python/typing-extensions[${PYTHON_USEDEP}] -" - -EPYTEST_PLUGINS=() -distutils_enable_tests pytest diff --git a/dev-python/greenstalk/Manifest b/dev-python/greenstalk/Manifest index 6e80a01d19cf..844fe82d1ed6 100644 --- a/dev-python/greenstalk/Manifest +++ b/dev-python/greenstalk/Manifest @@ -1 +1,2 @@ DIST greenstalk-2.1.0.gh.tar.gz 14743 BLAKE2B c496caf2f873d16d840950446f4a86f51d9de4499033e3bfe5d6635fb2169768144b1c96a820ffd31ebc577d0a0c91a26851f4d018d9d6d4b9b3d0e92128337e SHA512 d2fae21af84b43431c4808e33c90b58b8acf76181e147f6a8cb993a9ff70566bbf2e972c3fe82aa0f967cc0b9cd369b7ca332d21dc8a716e00573781877e2c97 +DIST greenstalk-2.1.1.gh.tar.gz 14952 BLAKE2B 5d0dcce3865be4241722de55127d3c3cdca107a478fbf2e2b90b149003d37767758f84efdf83ea12bc8a5f4038b9703fbc658bd6c7fd3a02ed222ab30ecb06f8 SHA512 e886f8c29365ca6e7128f39ecd1990a33847e5491c1cb6412818413d9ef345d1ba1c614ae7be281f4812508d3996e850f86dba22ffffdbf8de4b57f69121d959 diff --git a/dev-python/greenstalk/greenstalk-2.1.1.ebuild b/dev-python/greenstalk/greenstalk-2.1.1.ebuild new file mode 100644 index 000000000000..a1cadaa0dba1 --- /dev/null +++ b/dev-python/greenstalk/greenstalk-2.1.1.ebuild @@ -0,0 +1,33 @@ +# 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_{11..14} ) + +inherit distutils-r1 + +DESCRIPTION="Python 3 client for the beanstalkd work queue" +HOMEPAGE=" + https://greenstalk.readthedocs.io/ + https://github.com/justinmayhew/greenstalk/ + https://pypi.org/project/greenstalk/ +" +SRC_URI=" + https://github.com/justinmayhew/greenstalk/archive/v${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" + +BDEPEND=" + test? ( + app-misc/beanstalkd + ) +" + +EPYTEST_PLUGINS=() +distutils_enable_tests pytest 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 98b2b0bf8d0b..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-2025 Gentoo Authors +# Copyright 2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 -PYTHON_COMPAT=( python3_{11..14} ) +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/moto/Manifest b/dev-python/moto/Manifest index 0a28191b77eb..001b50428fc9 100644 --- a/dev-python/moto/Manifest +++ b/dev-python/moto/Manifest @@ -5,5 +5,7 @@ DIST moto-5.1.12.tar.gz 7185928 BLAKE2B 1215c369631eb4a43aa499de70b17b8eda78743d DIST moto-5.1.12.tar.gz.provenance 9568 BLAKE2B 39d6211c37523ee438679ac0f2ad94fabda5afbd54a4667d234acd95fdce76c0de8198b5993ff451b84d35ebed63281751a9d3dbd704251fc4828d1381f171a0 SHA512 ddfcdebe272d6b74108aabfc80c78375cbbe565258a8d8583bd2a554d27261bf3718919d01592a5566c45fad12a001e5cff8c90f4f169fc2a7c049e3bef4c9ec DIST moto-5.1.13.tar.gz 7194360 BLAKE2B 464a4997defae7386611c29eb46a3fff48e2d27ae2e22dd65f5d5788c746b193df804ee16b4628536691539b3e020de8a9d736d77c92eb9de2e1bd7907a56234 SHA512 b2befd6e407432551c99083f43d19bf4ae633d5dfa2198a98c9d093b2bd50fee4182903362f79943774058f63e43d75337219b2b6ff33152a125d8fb11aa5363 DIST moto-5.1.13.tar.gz.provenance 9380 BLAKE2B 79e4254b116e18d5f568027edf26a0f716d7b3f4dc5294f9cc8d379600eff518c204fa4d402191b9a99dc6f94a97a0afa14a7e2741a8790b1e7b78aa575c18a8 SHA512 8776bd8698f27e823b84fbd77be42eb4f43cf7beec96847c26066bcf4a362306568cf7688d3d680df17e5e5c4a4550d8b64994dacca8a70e1a7c2f84c3c81b62 +DIST moto-5.1.14.tar.gz 7264025 BLAKE2B cca4fd06070ee6db7306f3f95a2fd785b53f0f7f499d15bd53cc946c5cda83ebb96bd2baf56728abcc16f3dc7806d12b38388631f6c60ba6d21d4566e2530b99 SHA512 1f59cc49a3a5e12b130b37791a9ce2141134eac54c3b16d910099b7784ce6677ca9607eca4299a641555b3284166cd5588c81ebc17a95bd65dc3b90a57b95d07 +DIST moto-5.1.14.tar.gz.provenance 9286 BLAKE2B 73c844157e33029d62fde7530a25d0557aae3f38d61df611248ba78e85925c3cf9df0b40bb9ddef93a7990c91fec6895d0c3a2c43306432a2a8f13c119254e6b SHA512 e7e5b1415d5b4cfd145f477fa49e72f39d7611a7f961735d6986aa5691e48fc6e13e3f87aeaccf5d6cd26b26b45ddd7b15ad01d89a086df2d545bf6342151503 DIST moto-5.1.8.tar.gz 7039961 BLAKE2B be2231a13036e2a5c925c7435ebce3adeea6ac03d9806d010d1c067b4e2d008f642a234fb80e082e5053332c6580d130f232ebe0b83d59c55977ea3a38364914 SHA512 fb8ad9ba2ac94a86261e2862d87d9ea632d2275c6cccf7d248ac95db96f615109add8803bf118625c828c7a2615fc6f20bcf682de1e4398f69add5eeb9fe8114 DIST moto-5.1.9.tar.gz 7041662 BLAKE2B 8121c2022e5af70e71b6d4855ca7f964234ef06f14f8b08e80bd3676c26f6e9a06e8f469e610bcf2882b5468d613a17c3108aff3c344c12dc8331a9f9582b87b SHA512 986d41cc9fa875b5ee51723fdd7669b528dacb6136b6ebb3fa72d4efb3bb89f1fbc44aaa06aa154b80d44c87bca2d93cce30ee32c1ab7c3e8d622b53e011167d diff --git a/dev-python/moto/moto-5.1.14.ebuild b/dev-python/moto/moto-5.1.14.ebuild new file mode 100644 index 000000000000..bbd0cd5878c5 --- /dev/null +++ b/dev-python/moto/moto-5.1.14.ebuild @@ -0,0 +1,114 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYPI_VERIFY_REPO=https://github.com/getmoto/moto +PYTHON_COMPAT=( python3_{9,10,11,12,13} ) + +inherit distutils-r1 pypi toolchain-funcs + +DESCRIPTION="Mock library for boto" +HOMEPAGE=" + https://github.com/getmoto/moto/ + https://pypi.org/project/moto/ +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~riscv ~x86" + +RDEPEND=" + >=dev-python/aws-xray-sdk-0.93[${PYTHON_USEDEP}] + dev-python/boto3[${PYTHON_USEDEP}] + >=dev-python/botocore-1.35.47[${PYTHON_USEDEP}] + >=dev-python/cfn-lint-0.40.0[${PYTHON_USEDEP}] + >=dev-python/cryptography-35.0.0[${PYTHON_USEDEP}] + dev-python/cookies[${PYTHON_USEDEP}] + >=dev-python/docker-3.0.0[${PYTHON_USEDEP}] + dev-python/flask[${PYTHON_USEDEP}] + dev-python/flask-cors[${PYTHON_USEDEP}] + >=dev-python/idna-2.5[${PYTHON_USEDEP}] + >=dev-python/jinja2-2.10.1[${PYTHON_USEDEP}] + dev-python/jsonpath-ng[${PYTHON_USEDEP}] + dev-python/jsonschema[${PYTHON_USEDEP}] + dev-python/more-itertools[${PYTHON_USEDEP}] + >=dev-python/pyparsing-3.0.7[${PYTHON_USEDEP}] + >=dev-python/openapi-spec-validator-0.5.0[${PYTHON_USEDEP}] + dev-python/pyaml[${PYTHON_USEDEP}] + >=dev-python/pyyaml-5.1[${PYTHON_USEDEP}] + >=dev-python/python-dateutil-2.1[${PYTHON_USEDEP}] + dev-python/python-dateutil[${PYTHON_USEDEP}] + dev-python/python-jose[${PYTHON_USEDEP}] + >=dev-python/responses-0.25.6[${PYTHON_USEDEP}] + >=dev-python/requests-2.5[${PYTHON_USEDEP}] + dev-python/sshpubkeys[${PYTHON_USEDEP}] + dev-python/typing-extensions[${PYTHON_USEDEP}] + dev-python/xmltodict[${PYTHON_USEDEP}] + dev-python/werkzeug[${PYTHON_USEDEP}] + dev-python/zipp[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/antlr4-python3-runtime[${PYTHON_USEDEP}] + dev-python/freezegun[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=() +EPYTEST_RERUNS=5 +: "${EPYTEST_TIMEOUT:=180}" +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +python_test() { + local EPYTEST_DESELECT=( + # TODO + tests/test_dynamodb/test_dynamodb_import_table.py + # require joserfc + tests/test_apigateway/test_apigateway.py::test_create_authorizer + tests/test_apigateway/test_apigateway.py::test_delete_authorizer + tests/test_apigateway/test_apigateway.py::test_update_authorizer_configuration + tests/test_cognitoidp/test_cognitoidp_exceptions.py::TestCognitoUserDeleter::test_authenticate_with_signed_out_user + tests/test_cognitoidp/test_cognitoidp_exceptions.py::TestCognitoUserPoolDuplidateEmails::test_use_existing_email__when_email_is_ + tests/test_cognitoidp/test_cognitoidp_exceptions.py::TestCognitoUserPoolDuplidateEmails::test_use_existing_email__when_username_ + tests/test_cognitoidp/test_cognitoidp_replay.py::TestCreateUserPoolWithPredeterminedID::test_different_seed + tests/test_cognitoidp/test_cognitoidp_replay.py::TestCreateUserPoolWithPredeterminedID::test_same_seed + tests/test_cognitoidp/test_server.py::test_admin_create_user_without_authentication + tests/test_cognitoidp/test_server.py::test_associate_software_token + tests/test_cognitoidp/test_server.py::test_sign_up_user_without_authentication + # require py_partiql_parser + tests/test_dynamodb/test_dynamodb_statements.py + tests/test_s3/test_s3_select.py + # require graphql + tests/test_appsync/test_appsync_schema.py + # Internet + tests/test_core/test_request_passthrough.py::test_passthrough_calls_for_entire_service + tests/test_core/test_request_passthrough.py::test_passthrough_calls_for_specific_url + tests/test_core/test_request_passthrough.py::test_passthrough_calls_for_wildcard_urls + tests/test_firehose/test_firehose_put.py::test_put_record_http_destination + tests/test_firehose/test_firehose_put.py::test_put_record_batch_http_destination + ) + local EPYTEST_IGNORE=( + # require joserfc + tests/test_cognitoidp/test_cognitoidp.py + ) + + if ! tc-has-64bit-time_t; then + einfo "time_t is smaller than 64 bits, will skip broken tests" + EPYTEST_DESELECT+=( + tests/test_acm/test_acm.py::test_request_certificate_with_optional_arguments + tests/test_s3/test_multiple_accounts_server.py::TestAccountIdResolution::test_with_custom_request_header + tests/test_s3/test_server.py::test_s3_server_post_cors_multiple_origins + ) + EPYTEST_IGNORE+=( + tests/test_route53domains/test_route53domains_domain.py + ) + fi + + local -x TZ=UTC + local -x AWS_DEFAULT_REGION=us-east-1 + + epytest -m 'not network and not requires_docker' +} diff --git a/dev-python/pylint/Manifest b/dev-python/pylint/Manifest index 17a58af9a62f..813aa51e0d3c 100644 --- a/dev-python/pylint/Manifest +++ b/dev-python/pylint/Manifest @@ -1,2 +1,3 @@ DIST pylint-3.3.7.gh.tar.gz 1457480 BLAKE2B b938f673af78ec94a59f1f6aa33c5be3ba605c59df35d39f95414bce92ec33b9033d7608f0803bfdf0196e49c11eda2e2e88b692003d6f7c4e3b99df89da7653 SHA512 b9aa9510004642cd6463f66613bdcf0030cb8cf2ecbc288dbf2d6165c0d08d673bf7f2c38fa5b8c666e98f9644084e8cbbe572e9778bc56db3eefac70d145e6c DIST pylint-3.3.8.gh.tar.gz 1460704 BLAKE2B 9444f6f98278b300744de27796afc366a53a295f101f22dab454dd0c4eb1a755954d06a71d42effb5139c7d4f3821421bf0734602c2ff0ecd520e5bb8edf44cf SHA512 be796582d8b7ffac2c1ec8be6f4c40422ad4353ccc83a43f31d149cb124ee7a29294ea81457cd173be85be37d94c0472c7599cb2b002b7188cfa3c70185c4e98 +DIST pylint-3.3.9.gh.tar.gz 1462472 BLAKE2B b32fcb6c0d910d74c157717aa7c6d43d8edb13aad93e48543a974ce4461f38062acd8033ff390e614bf1388ebe78de004698669d082f51861421667529c71b2b SHA512 c775cfc20540e189f5e11a15eec58687dc6c7fce4e0d75f3c984977404c758d3c6903f176f057234585e6fe2dd36f40ed0e70703d228b99ae465a03d2ccebf19 diff --git a/dev-python/pylint/pylint-3.3.9.ebuild b/dev-python/pylint/pylint-3.3.9.ebuild new file mode 100644 index 000000000000..5f9b58f2a2cd --- /dev/null +++ b/dev-python/pylint/pylint-3.3.9.ebuild @@ -0,0 +1,89 @@ +# 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 + +MY_P=${P/_beta/b} +DESCRIPTION="Python code static checker" +HOMEPAGE=" + https://pypi.org/project/pylint/ + https://github.com/pylint-dev/pylint/ +" +SRC_URI=" + https://github.com/pylint-dev/pylint/archive/v${PV/_beta/b}.tar.gz + -> ${MY_P}.gh.tar.gz +" +S=${WORKDIR}/${MY_P} + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="examples" + +RDEPEND=" + <dev-python/astroid-3.4[${PYTHON_USEDEP}] + >=dev-python/astroid-3.3.8[${PYTHON_USEDEP}] + >=dev-python/dill-0.3.7[${PYTHON_USEDEP}] + >=dev-python/isort-4.2.5[${PYTHON_USEDEP}] + <dev-python/isort-7[${PYTHON_USEDEP}] + >=dev-python/mccabe-0.6[${PYTHON_USEDEP}] + <dev-python/mccabe-0.8[${PYTHON_USEDEP}] + >=dev-python/platformdirs-2.2.0[${PYTHON_USEDEP}] + >=dev-python/tomlkit-0.10.1[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + $(python_gen_cond_dep ' + >=dev-python/gitpython-3[${PYTHON_USEDEP}] + ' 'python*' ) + >=dev-python/pytest-8.3[${PYTHON_USEDEP}] + >=dev-python/typing-extensions-4.12[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=( pytest-timeout) +distutils_enable_tests pytest + +python_test() { + local EPYTEST_DESELECT=( + # TODO + 'tests/test_functional.py::test_functional[dataclass_with_field]' + 'tests/test_functional.py::test_functional[no_name_in_module]' + 'tests/test_functional.py::test_functional[shadowed_import]' + 'tests/test_functional.py::test_functional[unused_import]' + 'tests/test_functional.py::test_functional[use_yield_from]' + 'tests/test_functional.py::test_functional[wrong_import_order]' + ) + local EPYTEST_IGNORE=( + # No need to run the benchmarks + tests/benchmark/test_baseline_benchmarks.py + ) + + if ! has_version "dev-python/gitpython[${PYTHON_USEDEP}]"; then + EPYTEST_IGNORE+=( + tests/profile/test_profile_against_externals.py + tests/testutils/_primer/test_package_to_lint.py + tests/testutils/_primer/test_primer.py + ) + fi + + rm -rf pylint || die + + epytest +} + +python_install_all() { + if use examples ; then + docompress -x "/usr/share/doc/${PF}/examples" + docinto examples + dodoc -r examples/. + fi + + distutils-r1_python_install_all +} diff --git a/dev-python/pyside/Manifest b/dev-python/pyside/Manifest index 9601a889f69d..7d9f1c286bde 100644 --- a/dev-python/pyside/Manifest +++ b/dev-python/pyside/Manifest @@ -1 +1,2 @@ DIST pyside-setup-everywhere-src-6.9.2.tar.xz 16659400 BLAKE2B baf8955d6a16b56807f202577a54737857fed5c7d7394f7d843111832a3b71978a1ae8b6561a1df041913875f32ba5a836cb219f53e8a13a218f2866a54ae9c3 SHA512 643bf42241e952ed028eb44830387864fd7343587a568d8be9d8a179af8b76b8ac5d0bb92a93db45abc83120c0cd627667312cc248f1924f4797fd74242c1808 +DIST pyside-setup-everywhere-src-6.9.3.tar.xz 16663380 BLAKE2B 10834a35c3de13657256892111e3f54dceeb4fef61618b61672018bbffa007cfac0b602bd39b3ef7a472ba47f9444c7e7cf6d43cb411de0dd26333faa0814e7a SHA512 457a447146a8e5be94940b06172a21cdc9f1407c9c48e6449d410ae3f122002f5970c3841cba6135fb4d889c58a4ed1b648f03b708f9a5cfb9f1cc93cbb9d561 diff --git a/dev-python/pyside/metadata.xml b/dev-python/pyside/metadata.xml index 5b35e71c685f..7356ab7a25e2 100644 --- a/dev-python/pyside/metadata.xml +++ b/dev-python/pyside/metadata.xml @@ -6,8 +6,8 @@ <name>Nowa Ammerlaan</name> </maintainer> <maintainer type="person"> - <email>waebbl-gentoo@posteo.net</email> - <name>Bernd Waibel</name> + <email>negril.nx+gentoo@gmail.com</email> + <name>Paul Zander</name> </maintainer> <use> diff --git a/dev-python/pyside/pyside-6.9.3.ebuild b/dev-python/pyside/pyside-6.9.3.ebuild new file mode 100644 index 000000000000..2e354484bcf0 --- /dev/null +++ b/dev-python/pyside/pyside-6.9.3.ebuild @@ -0,0 +1,554 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# NOTE: We combine here several PyPI packages, we do this because +# pyside can and does break if it is compiled with a different +# toolchain then was used to build shiboken. This bundling ensures +# that we always use the same toolchain for all components. + +EAPI=8 + +PYTHON_COMPAT=( python3_{9,10,11,12,13} ) +LLVM_COMPAT=( {16..20} ) +DISTUTILS_USE_PEP517=setuptools +DISTUTILS_EXT=1 + +inherit distutils-r1 llvm-r2 multiprocessing qmake-utils virtualx + +MY_PN=${PN}-setup-everywhere-src +MY_P=${MY_PN}-${PV} + +DESCRIPTION="Python bindings for the Qt framework" +HOMEPAGE="https://wiki.qt.io/PySide6" + +if [[ ${PV} == *.9999 ]]; then + inherit git-r3 + EGIT_REPO_URI=( + "https://code.qt.io/${PN}/${PN}-setup.git" + "https://github.com/qtproject/${PN}-${PN}-setup.git" + ) + EGIT_BRANCH=dev + [[ ${PV} == 6.*.9999 ]] && EGIT_BRANCH=${PV%.9999} +else + SRC_URI="https://download.qt.io/official_releases/QtForPython/${PN}6/PySide6-${PV}-src/${MY_P}.tar.xz" + S="${WORKDIR}/${MY_P}" + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86" +fi + +LICENSE="|| ( GPL-2 GPL-3 LGPL-3 )" +SLOT="6/${PV}" + +# If a flag enables multiple Qt modules, they should be ordered +# according to their dependencies, e.g. for 3d, 3DCore must be first. +# Widgets for various modules are handled as a special case later +declare -A QT_MODULES=( + ["3d"]="3DCore 3DRender 3DLogic 3DInput 3DAnimation 3DExtras" + ["bluetooth"]="Bluetooth" + ["charts"]="Charts" + ["+concurrent"]="Concurrent" + ["+core"]="Core" + ["+dbus"]="DBus" + ["designer"]="Designer" + ["+gui"]="Gui" + ["help"]="Help" + ["httpserver"]="HttpServer" + ["location"]="Location" + ["multimedia"]="Multimedia" # plus widgets + ["network-auth"]="NetworkAuth" + ["+network"]="Network" + ["nfc"]="Nfc" + ["+opengl"]="OpenGL" # plus widgets + ["pdfium"]="Pdf" # plus widgets + ["positioning"]="Positioning" + ["+printsupport"]="PrintSupport" + ["qml"]="Qml" + ["quick3d"]="Quick3D" + ["quick"]="Quick" # plus widgets + ["remoteobjects"]="RemoteObjects" + ["scxml"]="Scxml" + ["sensors"]="Sensors" + ["serialbus"]="SerialBus" + ["serialport"]="SerialPort" + ["spatialaudio"]="SpatialAudio" + ["+sql"]="Sql" + ["svg"]="Svg" # plus widgets + ["speech"]="TextToSpeech" + ["+testlib"]="Test" + ["uitools"]="UiTools" + ["webchannel"]="WebChannel" + ["webengine"]="WebEngineCore" # plus widgets and quick + ["websockets"]="WebSockets" + ["webview"]="WebView" + ["+widgets"]="Widgets" + ["+xml"]="Xml" +) + +# Manually reextract these requirements on version bumps by running the +# following one-liner from within "${S}": +# $ grep 'set.*_deps' PySide6/Qt*/CMakeLists.txt +declare -A QT_REQUIREMENTS=( + ["3d"]="gui network opengl" + ["bluetooth"]="core" + ["charts"]="core gui widgets" + ["concurrent"]="core" + ["dbus"]="core" + ["designer"]="widgets" + ["gles2-only"]="gui" + ["gui"]="core" + ["help"]="widgets" + ["httpserver"]="core concurrent network websockets" + ["location"]="core positioning" + ["multimedia"]="core gui network" + ["network-auth"]="network" + ["network"]="core" + ["nfc"]="core" + ["opengl"]="gui" + ["pdfium"]="core gui network" + ["positioning"]="core" + ["printsupport"]="widgets" + ["qml"]="network" + ["quick"]="gui network qml opengl" + ["quick3d"]="gui network qml quick" + ["remoteobjects"]="core network" + ["scxml"]="core" + ["sensors"]="core" + ["serialbus"]="core network serialport" + ["serialport"]="core" + ["spatialaudio"]="core gui network multimedia" + ["speech"]="core multimedia" + ["sql"]="widgets" + ["svg"]="gui" + ["testlib"]="widgets" + ["uitools"]="widgets" + ["webchannel"]="core" + ["webengine"]="core gui network printsupport quick webchannel" + ["websockets"]="network" + ["webview"]="gui quick webengine" + ["widgets"]="gui" + ["xml"]="core" +) + +IUSE="${!QT_MODULES[*]} debug doc gles2-only numpy test tools" +RESTRICT="!test? ( test )" + +# majority of QtQml tests require QtQuick support +REQUIRED_USE=" + test? ( + qml? ( quick ) + ) +" +for requirement in "${!QT_REQUIREMENTS[@]}"; do + REQUIRED_USE+=" ${requirement}? ( ${QT_REQUIREMENTS[${requirement}]} ) " +done + +# Minimal supported version of Qt. +QT_PV="$(ver_cut 1-3)*:6" + +# WebEngine needs sound support, so enable either pulseaudio or alsa +RDEPEND=" + =dev-qt/qtbase-${QT_PV}[concurrent?,dbus?,gles2-only=,network?,opengl?,sql?,widgets?,xml?] + 3d? ( =dev-qt/qt3d-${QT_PV}[qml?,gles2-only=] ) + bluetooth? ( =dev-qt/qtconnectivity-${QT_PV}[bluetooth] ) + charts? ( =dev-qt/qtcharts-${QT_PV} ) + designer? ( =dev-qt/qttools-${QT_PV}[designer,widgets,gles2-only=] ) + gui? ( + =dev-qt/qtbase-${QT_PV}[gui,jpeg(+)] + x11-libs/libxkbcommon + ) + help? ( =dev-qt/qttools-${QT_PV}[assistant,gles2-only=] ) + httpserver? ( =dev-qt/qthttpserver-${QT_PV} ) + location? ( =dev-qt/qtlocation-${QT_PV} ) + multimedia? ( =dev-qt/qtmultimedia-${QT_PV}[widgets(+)?] ) + network? ( =dev-qt/qtbase-${QT_PV}[ssl] ) + network-auth? ( =dev-qt/qtnetworkauth-${QT_PV} ) + nfc? ( =dev-qt/qtconnectivity-${QT_PV}[nfc] ) + numpy? ( >=dev-python/numpy-2.1.3[${PYTHON_USEDEP}] ) + pdfium? ( =dev-qt/qtwebengine-${QT_PV}[pdfium(-),widgets?] ) + positioning? ( =dev-qt/qtpositioning-${QT_PV} ) + printsupport? ( =dev-qt/qtbase-${QT_PV}[gui,widgets] ) + qml? ( =dev-qt/qtdeclarative-${QT_PV}[opengl?,widgets?] ) + quick3d? ( =dev-qt/qtquick3d-${QT_PV}[opengl?] ) + remoteobjects? ( =dev-qt/qtremoteobjects-${QT_PV} ) + scxml? ( =dev-qt/qtscxml-${QT_PV} ) + sensors? ( =dev-qt/qtsensors-${QT_PV}[qml?] ) + speech? ( =dev-qt/qtspeech-${QT_PV} ) + serialbus? ( =dev-qt/qtserialbus-${QT_PV} ) + serialport? ( =dev-qt/qtserialport-${QT_PV} ) + svg? ( =dev-qt/qtsvg-${QT_PV} ) + testlib? ( =dev-qt/qtbase-${QT_PV}[gui] ) + tools? ( + =dev-qt/qtbase-${QT_PV} + =dev-qt/qtdeclarative-${QT_PV}[qmlls] + =dev-qt/qttools-${QT_PV}[assistant,designer,linguist] + dev-python/pkginfo[${PYTHON_USEDEP}] + ) + uitools? ( =dev-qt/qttools-${QT_PV}[gles2-only=,widgets] ) + webchannel? ( =dev-qt/qtwebchannel-${QT_PV} ) + webengine? ( || ( + =dev-qt/qtwebengine-${QT_PV}[alsa,widgets?] + =dev-qt/qtwebengine-${QT_PV}[pulseaudio,widgets?] + ) + ) + websockets? ( =dev-qt/qtwebsockets-${QT_PV} ) + webview? ( =dev-qt/qtwebview-${QT_PV} ) + !dev-python/pyside:0 + !dev-python/shiboken6 + !dev-python/pyside6-tools +" + +DEPEND="${RDEPEND} + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT} + llvm-core/llvm:${LLVM_SLOT} + ') + dev-util/vulkan-headers + test? ( =dev-qt/qtbase-${QT_PV}[gui] ) +" # testlib is toggled by the gui flag on qtbase + +BDEPEND=" + dev-build/cmake + dev-python/distro[${PYTHON_USEDEP}] + <dev-python/wheel-0.46.0[${PYTHON_USEDEP}] + dev-util/patchelf + doc? ( + >=dev-libs/libxml2-2.6.32 + >=dev-libs/libxslt-1.1.19 + media-gfx/graphviz + dev-python/sphinx[${PYTHON_USEDEP}] + dev-python/myst-parser[${PYTHON_USEDEP}] + ) + numpy? ( dev-python/numpy[${PYTHON_USEDEP}] ) +" + +PATCHES=( + # Needs porting to newer wheel and setuptools + "${FILESDIR}/${PN}-6.8.2-quick-fix-build-wheel.patch" +) + +# Build system duplicates system libraries. TODO: fix +QA_PREBUILT=( + "/usr/lib/python*/site-packages/PySide6/*" +) + +python_prepare_all() { + distutils-r1_python_prepare_all + + # Shiboken6 assumes Vulkan headers live under either "$VULKAN_SDK/include" + # or "$VK_SDK_PATH/include" rather than "${EPREFIX}/usr/include/vulkan". + sed -i -e "s~\bdetectVulkan(&headerPaths);~headerPaths.append(HeaderPath{QByteArrayLiteral(\"${EPREFIX}/usr/include/vulkan\"), HeaderType::System});~" \ + sources/shiboken6/ApiExtractor/clangparser/compilersupport.cpp || die + + # Shiboken6 assumes the "/usr/lib/clang/${CLANG_NEWEST_VERSION}/include/" + # subdirectory provides Clang builtin includes (e.g., "stddef.h") for the + # currently installed version of Clang, where ${CLANG_NEWEST_VERSION} is + # the largest version specifier that exists under the "/usr/lib/clang/" + # subdirectory. This assumption is false in edge cases, including when + # users downgrade from newer Clang versions but fail to remove those + # versions with "emerge --depclean". See also: + # https://github.com/leycec/raiagent/issues/85 + # + # Sadly, the clang-* family of functions exported by the "toolchain-funcs" + # eclass are defective, returning nonsensical placeholder strings if the + # end user has *NOT* explicitly configured their C++ compiler to be Clang. + # PySide6 does *NOT* care whether the end user has done so or not, as + # PySide6 unconditionally requires Clang in either case. See also: + # https://bugs.gentoo.org/619490 + sed -e \ + 's~(findClangBuiltInIncludesDir())~(QStringLiteral("'"${EPREFIX}"'/usr/lib/clang/'"${LLVM_SLOT}"'/include"))~' \ + -i sources/shiboken6/ApiExtractor/clangparser/compilersupport.cpp || die + + sed -e \ + 's~set(libclang_directory_suffix "lib")~set(libclang_directory_suffix "'"$(get_libdir)"'")~' \ + -i sources/shiboken6/cmake/ShibokenHelpers.cmake || die + + # blacklist.txt works like XFAIL + cat <<- EOF >> build_history/blacklist.txt || die + # segfaults with QOpenGLContext::create + [pysidetest::qapp_like_a_macro_test] + linux + # no mypy + [pysidetest::mypy_correctness_test] + linux + # Tries to execute pip install + [pyside6-deploy::test_pyside6_deploy] + linux + [pyside6-android-deploy::test_pyside6_android_deploy] + linux + # Behavior changed and test not changed to accomodate + # https://bugreports.qt.io/projects/PYSIDE/issues/PYSIDE-3135 + [registry::existence_test] + linux + # Doesn't appear to play well with virtualx as it tries to use wayland + [QtUiTools::loadUiType_test] + linux + EOF + + if ! use numpy; then + cat <<- EOF >> build_history/blacklist.txt || die + # Requires numpy support to pass + [sample::array_numpy] + linux + [sample::nontypetemplate] + linux + [QtGui::qpainter_test] + linux + EOF + fi +} + +python_configure_all() { + export LLVM_INSTALL_DIR="$(get_llvm_prefix)" + + ENABLED_QT_MODULES=() + + # The order matters, dependencies must come first so process + # REQUIRED_USE and recursively enable modules + enable_qt_mod() { + local flag=${1} + local modules=${QT_MODULES[${flag}]} + if [[ -z ${modules} ]]; then + die "incorrect flag=${flag}, not registered" + fi + local dependencies=${QT_REQUIREMENTS[${flag//+}]} + if [[ -n ${dependencies} ]]; then + local depflag + for depflag in ${dependencies}; do + if use "${depflag}"; then + if [[ -z ${QT_MODULES[${depflag}]} ]]; then + depflag=+${depflag} + fi + enable_qt_mod "${depflag}" + else + die "${depflag} is required but not enabled" + fi + done + fi + if [[ "${ENABLED_QT_MODULES[*]}" != *${modules}* ]]; then + ENABLED_QT_MODULES+=( "${modules}" ) + fi + } + # Enable specified qt modules + local flag + for flag in "${!QT_MODULES[@]}"; do + if use "${flag//+}"; then + enable_qt_mod "${flag}" + fi + done + + # Special cases + if use widgets; then + use multimedia && ENABLED_QT_MODULES+=( MultimediaWidgets ) + use opengl && ENABLED_QT_MODULES+=( OpenGLWidgets ) + use pdfium && ENABLED_QT_MODULES+=( PdfWidgets ) + use quick && ENABLED_QT_MODULES+=( QuickWidgets ) + use svg && ENABLED_QT_MODULES+=( SvgWidgets ) + use webengine && ENABLED_QT_MODULES+=( WebEngineWidgets ) + fi + if use quick; then + use webengine && ENABLED_QT_MODULES+=( WebEngineQuick ) + use testlib && ENABLED_QT_MODULES+=( QuickTest ) + fi + + # Arguments listed in options.py + MAIN_DISTUTILS_ARGS=( + --cmake="${ESYSROOT}/usr/bin/cmake" + --ignore-git + --limited-api=no + --module-subset="$(printf '%s,' "${ENABLED_QT_MODULES[@]}")" + --no-strip + --no-size-optimization + --openssl="${ESYSROOT}/usr/bin/openssl" + --qt="$(ver_cut 1-3)" + --qtpaths="$(qt6_get_bindir)/qtpaths" + --verbose-build + --parallel="$(makeopts_jobs)" + "$(usex debug "--debug" "--relwithdebinfo")" + "--$(usex doc "build" "skip")-docs" + "--$(usex numpy "enable" "disable")-numpy-support" + ) + + if use test; then + MAIN_DISTUTILS_ARGS+=( + "--build-tests" + "--use-xvfb" + ) + fi + + if ! use tools; then + MAIN_DISTUTILS_ARGS+=( + "--no-qt-tools" + ) + fi +} + +python_compile() { + DISTUTILS_ARGS=( + "${MAIN_DISTUTILS_ARGS[@]}" + --build-type=shiboken6 + ) + distutils-r1_python_compile + + # The build system uses its own build dir, find the name of this dir. + local pyside_build_dir + read -r pyside_build_dir < <( + find "${BUILD_DIR}/build$((${#DISTUTILS_WHEELS[@]}-1))" \ + -maxdepth 1 -type d -name 'qfp*-py*-qt*-*' -printf "%f\n" + ) + export pyside_build_id="${pyside_build_dir#"qfp$(usev debug d)-py${EPYTHON#python}-qt$(ver_cut 1-3)-"}" + + DISTUTILS_ARGS=( + "${MAIN_DISTUTILS_ARGS[@]}" + --reuse-build + --shiboken-target-path="${BUILD_DIR}/build$((${#DISTUTILS_WHEELS[@]}-1))/${pyside_build_dir}/install" + --build-type=shiboken6-generator + ) + distutils-r1_python_compile + # If no pyside modules enabled, build just shiboken + if [[ ${#ENABLED_QT_MODULES[@]} -gt 0 ]]; then + DISTUTILS_ARGS=( + "${MAIN_DISTUTILS_ARGS[@]}" + --reuse-build + --shiboken-target-path="${BUILD_DIR}/build$((${#DISTUTILS_WHEELS[@]}-1))/${pyside_build_dir}/install" + --build-type=pyside6 + ) + distutils-r1_python_compile + fi + + # Link libraries to the usual location for backwards compatibility + pushd "${BUILD_DIR}/install/$(python_get_sitedir)" >/dev/null || + die + mkdir -p "${BUILD_DIR}/install/usr/$(get_libdir)" || die + local lib + for lib in */*.cpython-*.so + do + local base=${lib##*/} + ln -s "${base}" "${lib%/*}/${base%%.*}-${EPYTHON}.so" || + die + done + for lib in */*.cpython-*.so."$(ver_cut 1-2)" + do + local base=${lib##*/} + ln -s "${base}" "${lib%/*}/${base%%.*}-${EPYTHON}.so.$(ver_cut 1-2)" || + die + done + for lib in */*.so*; do + ln -s "../../$(python_get_sitedir)/${lib}" \ + "${BUILD_DIR}/install/usr/$(get_libdir)/${lib#*/}" || die + done + popd >/dev/null || die + + # Symlinks for compatibility with pypi wheels + local dir + if [[ -d ${BUILD_DIR}/install/$(python_get_sitedir)/PySide6 ]] + then + pushd "${BUILD_DIR}/install/$(python_get_sitedir)/PySide6" \ + >/dev/null || die + mkdir -p "${BUILD_DIR}/install/usr/share/PySide6" || die + for dir in doc glue typesystems; do + ln -s "../../../$(python_get_sitedir)/PySide6/${dir}" \ + "${BUILD_DIR}/install/usr/share/PySide6/${dir}" || + die + done + popd >/dev/null || die + fi + mkdir -p "${BUILD_DIR}/install/usr/include" + for dir in PySide6 shiboken6_generator; do + if [[ -d ${BUILD_DIR}/install/$(python_get_sitedir)/${dir}/include ]] + then + ln -s "../../$(python_get_sitedir)/${dir}/include" \ + "${BUILD_DIR}/install/usr/include/${dir//_generator}" || + die + fi + done + + # Install misc files from inner install dir + find "${BUILD_DIR}"/build*/"${pyside_build_dir}"/install -type f \ + -name libPySidePlugin.so -exec \ + mkdir -p "${BUILD_DIR}/install/$(qt6_get_plugindir)/designer/" \; \ + -exec \ + cp "{}" "${BUILD_DIR}/install/$(qt6_get_plugindir)/designer/" \; \ + || die + + for dir in cmake pkgconfig; do + find "${BUILD_DIR}"/build*/"${pyside_build_dir}"/install -type d -name "${dir}" \ + -exec cp -r "{}" "${BUILD_DIR}/install/usr/lib/" \; \ + || die + done + + # Uniquify the pkgconfigs file for the current Python target, + # preserving an unversioned "shiboken6.pc" file arbitrarily + # associated with the last Python target. + if [[ -f ${BUILD_DIR}/install/usr/lib/pkgconfig/shiboken6.pc ]] + then + sed -e 's~prefix=.*~prefix=/usr~g' \ + -e 's~exec_prefix=.*~exec_prefix=${prefix}~g' \ + -e "s~libdir=.*~libdir=$(python_get_sitedir)/shiboken6~g" \ + -e "s~includedir=.*~includedir=$(python_get_sitedir)/shiboken6_generator/include~g" \ + -i "${BUILD_DIR}/install/usr/lib/pkgconfig/shiboken6.pc" || die + cp "${BUILD_DIR}/install/usr/lib/pkgconfig/"shiboken6{,-${EPYTHON}}.pc || die + fi + if [[ -f ${BUILD_DIR}/install/usr/lib/pkgconfig/pyside6.pc ]] + then + sed -e 's~^Requires: shiboken6$~&-'${EPYTHON}'~' \ + -e 's~prefix=.*~prefix=/usr~g' \ + -e 's~exec_prefix=.*~exec_prefix=${prefix}~g' \ + -e "s~libdir=.*~libdir=$(python_get_sitedir)/PySide6~g" \ + -e "s~includedir=.*~includedir=$(python_get_sitedir)/PySide6/include~g" \ + -e "s~typesystemdir=.*~typesystemdir=$(python_get_sitedir)/PySide6/typesystems~g" \ + -e "s~gluedir=.*~gluedir=$(python_get_sitedir)/PySide6/glue~g" \ + -e "s~pythonpath=.*~pythonpath=$(python_get_sitedir)~g" \ + -i "${BUILD_DIR}/install/usr/lib/pkgconfig/pyside6.pc" || die + cp "${BUILD_DIR}/install/usr/lib/pkgconfig/"pyside6{,-${EPYTHON}}.pc || die + fi + + sed \ + -e "s~/lib/libshiboken6\.cpython~/$(get_libdir)/libshiboken6\.cpython~g" \ + -e "s~/lib/libpyside6\.cpython~/$(get_libdir)/libpyside6\.cpython~g" \ + -e "s~/lib/libpyside6qml\.cpython~/$(get_libdir)/libpyside6qml\.cpython~g" \ + -e "s~libshiboken6\.cpython.*\.so\.$(ver_cut 1-3)~libshiboken6\${PYTHON_CONFIG_SUFFIX}\.so\.$(ver_cut 1-2)~g" \ + -e "s~libpyside6\.cpython.*\.so\.$(ver_cut 1-3)~libpyside6\${PYTHON_CONFIG_SUFFIX}\.so\.$(ver_cut 1-2)~g" \ + -e "s~libpyside6qml\.cpython.*\.so\.$(ver_cut 1-3)~libpyside6qml\${PYTHON_CONFIG_SUFFIX}\.so\.$(ver_cut 1-2)~g" \ + -e "s~libshiboken6\.cpython.*\.so\.$(ver_cut 1-2)~libshiboken6\${PYTHON_CONFIG_SUFFIX}\.so\.$(ver_cut 1-2)~g" \ + -e "s~libpyside6\.cpython.*\.so\.$(ver_cut 1-2)~libpyside6\${PYTHON_CONFIG_SUFFIX}\.so\.$(ver_cut 1-2)~g" \ + -e "s~libpyside6qml\.cpython.*\.so\.$(ver_cut 1-2)~libpyside6qml\${PYTHON_CONFIG_SUFFIX}\.so\.$(ver_cut 1-2)~g" \ + -i "${BUILD_DIR}/install/usr/lib/cmake/"*/*.cmake || die + local file + for file in "${BUILD_DIR}/install/usr/lib/cmake/"*/*.cpython-*.cmake + do + local base=${file##*/} + ln -s "${base}" "${file%/*}/${base%%.*}-${EPYTHON}.cmake" || + die + done +} + +python_test() { + # Otherwise it picks the last built directory breaking assumption for multi target builds + local pyside_build_dir="qfp$(usev debug d)-py${EPYTHON#python}-qt$(ver_cut 1-3)-${pyside_build_id}" + + local buildno=$(find "${BUILD_DIR}"/build* -name "${pyside_build_dir}" | sort -V | tail -n1) + if [[ -z "${buildno}" ]]; then + die "could not find any build directories for ${pyside_build_dir}" + fi + + buildno="${buildno#"${BUILD_DIR}/build"}" + buildno="${buildno%"/${pyside_build_dir}"}" + + local -x PYTHONPATH="${BUILD_DIR}/install$(python_get_sitedir)" + local -x QTEST_ENVIRONMENT=ci + + # test shiboken6 build + virtx ${EPYTHON} testrunner.py test --buildno "$((buildno - 1))" --projects=shiboken6 || + die "Tests failed with ${EPYTHON}" + + if use core; then + # test pyside6 build + virtx ${EPYTHON} testrunner.py test --buildno "${buildno}" --projects=pyside6 || + die "Tests failed with ${EPYTHON}" + fi +} + +pkg_preinst() { + # Avoid symlinks being blocked by directories + rm -rf "${EROOT}/usr/include/"{PySide6,shiboken6} || die + rm -rf "${EROOT}/usr/share/PySide6" || die +} diff --git a/dev-python/pyside/pyside-6.9999.ebuild b/dev-python/pyside/pyside-6.9999.ebuild index 8d370bb985d9..2e354484bcf0 100644 --- a/dev-python/pyside/pyside-6.9999.ebuild +++ b/dev-python/pyside/pyside-6.9999.ebuild @@ -13,7 +13,7 @@ LLVM_COMPAT=( {16..20} ) DISTUTILS_USE_PEP517=setuptools DISTUTILS_EXT=1 -inherit distutils-r1 llvm-r1 multiprocessing qmake-utils virtualx +inherit distutils-r1 llvm-r2 multiprocessing qmake-utils virtualx MY_PN=${PN}-setup-everywhere-src MY_P=${MY_PN}-${PV} @@ -128,7 +128,7 @@ declare -A QT_REQUIREMENTS=( ["xml"]="core" ) -IUSE="${!QT_MODULES[@]} debug doc gles2-only numpy test tools" +IUSE="${!QT_MODULES[*]} debug doc gles2-only numpy test tools" RESTRICT="!test? ( test )" # majority of QtQml tests require QtQuick support @@ -137,7 +137,7 @@ REQUIRED_USE=" qml? ( quick ) ) " -for requirement in ${!QT_REQUIREMENTS[@]}; do +for requirement in "${!QT_REQUIREMENTS[@]}"; do REQUIRED_USE+=" ${requirement}? ( ${QT_REQUIREMENTS[${requirement}]} ) " done @@ -257,11 +257,18 @@ python_prepare_all() { 's~(findClangBuiltInIncludesDir())~(QStringLiteral("'"${EPREFIX}"'/usr/lib/clang/'"${LLVM_SLOT}"'/include"))~' \ -i sources/shiboken6/ApiExtractor/clangparser/compilersupport.cpp || die + sed -e \ + 's~set(libclang_directory_suffix "lib")~set(libclang_directory_suffix "'"$(get_libdir)"'")~' \ + -i sources/shiboken6/cmake/ShibokenHelpers.cmake || die + # blacklist.txt works like XFAIL cat <<- EOF >> build_history/blacklist.txt || die # segfaults with QOpenGLContext::create [pysidetest::qapp_like_a_macro_test] linux + # no mypy + [pysidetest::mypy_correctness_test] + linux # Tries to execute pip install [pyside6-deploy::test_pyside6_deploy] linux @@ -290,6 +297,8 @@ python_prepare_all() { } python_configure_all() { + export LLVM_INSTALL_DIR="$(get_llvm_prefix)" + ENABLED_QT_MODULES=() # The order matters, dependencies must come first so process @@ -304,25 +313,25 @@ python_configure_all() { if [[ -n ${dependencies} ]]; then local depflag for depflag in ${dependencies}; do - if use ${depflag}; then + if use "${depflag}"; then if [[ -z ${QT_MODULES[${depflag}]} ]]; then depflag=+${depflag} fi - enable_qt_mod ${depflag} + enable_qt_mod "${depflag}" else die "${depflag} is required but not enabled" fi done fi if [[ "${ENABLED_QT_MODULES[*]}" != *${modules}* ]]; then - ENABLED_QT_MODULES+=( ${modules} ) + ENABLED_QT_MODULES+=( "${modules}" ) fi } # Enable specified qt modules local flag - for flag in ${!QT_MODULES[@]}; do - if use ${flag//+}; then - enable_qt_mod ${flag} + for flag in "${!QT_MODULES[@]}"; do + if use "${flag//+}"; then + enable_qt_mod "${flag}" fi done @@ -342,23 +351,34 @@ python_configure_all() { # Arguments listed in options.py MAIN_DISTUTILS_ARGS=( - --cmake="${EPREFIX}/usr/bin/cmake" + --cmake="${ESYSROOT}/usr/bin/cmake" --ignore-git --limited-api=no --module-subset="$(printf '%s,' "${ENABLED_QT_MODULES[@]}")" --no-strip --no-size-optimization - --openssl="${EPREFIX}/usr/bin/openssl" - --qt=$(ver_cut 1-3) - --qtpaths=$(qt6_get_bindir)/qtpaths + --openssl="${ESYSROOT}/usr/bin/openssl" + --qt="$(ver_cut 1-3)" + --qtpaths="$(qt6_get_bindir)/qtpaths" --verbose-build - --parallel=$(makeopts_jobs) - $(usex debug "--debug" "--relwithdebinfo") - $(usex doc "--build-docs" "--skip-docs") - $(usex numpy "--enable-numpy-support" "--disable-numpy-support") - $(usex test "--build-tests --use-xvfb" "") - $(usex tools "" "--no-qt-tools") + --parallel="$(makeopts_jobs)" + "$(usex debug "--debug" "--relwithdebinfo")" + "--$(usex doc "build" "skip")-docs" + "--$(usex numpy "enable" "disable")-numpy-support" ) + + if use test; then + MAIN_DISTUTILS_ARGS+=( + "--build-tests" + "--use-xvfb" + ) + fi + + if ! use tools; then + MAIN_DISTUTILS_ARGS+=( + "--no-qt-tools" + ) + fi } python_compile() { @@ -369,8 +389,12 @@ python_compile() { distutils-r1_python_compile # The build system uses its own build dir, find the name of this dir. - local pyside_build_dir=$(find "${BUILD_DIR}/build$((${#DISTUTILS_WHEELS[@]}-1))" -maxdepth 1 -type d -name 'qfp*-py*-qt*-*' -printf "%f\n") - export pyside_build_id=${pyside_build_dir#qfp$(usev debug d)-py${EPYTHON#python}-qt$(ver_cut 1-3)-} + local pyside_build_dir + read -r pyside_build_dir < <( + find "${BUILD_DIR}/build$((${#DISTUTILS_WHEELS[@]}-1))" \ + -maxdepth 1 -type d -name 'qfp*-py*-qt*-*' -printf "%f\n" + ) + export pyside_build_id="${pyside_build_dir#"qfp$(usev debug d)-py${EPYTHON#python}-qt$(ver_cut 1-3)-"}" DISTUTILS_ARGS=( "${MAIN_DISTUTILS_ARGS[@]}" @@ -401,7 +425,7 @@ python_compile() { ln -s "${base}" "${lib%/*}/${base%%.*}-${EPYTHON}.so" || die done - for lib in */*.cpython-*.so.$(ver_cut 1-2) + for lib in */*.cpython-*.so."$(ver_cut 1-2)" do local base=${lib##*/} ln -s "${base}" "${lib%/*}/${base%%.*}-${EPYTHON}.so.$(ver_cut 1-2)" || @@ -438,7 +462,7 @@ python_compile() { done # Install misc files from inner install dir - find "${BUILD_DIR}"/build*/${pyside_build_dir}/install -type f \ + find "${BUILD_DIR}"/build*/"${pyside_build_dir}"/install -type f \ -name libPySidePlugin.so -exec \ mkdir -p "${BUILD_DIR}/install/$(qt6_get_plugindir)/designer/" \; \ -exec \ @@ -446,7 +470,7 @@ python_compile() { || die for dir in cmake pkgconfig; do - find "${BUILD_DIR}"/build*/${pyside_build_dir}/install -type d -name ${dir} \ + find "${BUILD_DIR}"/build*/"${pyside_build_dir}"/install -type d -name "${dir}" \ -exec cp -r "{}" "${BUILD_DIR}/install/usr/lib/" \; \ || die done @@ -499,13 +523,28 @@ python_compile() { python_test() { # Otherwise it picks the last built directory breaking assumption for multi target builds - mkdir -p build_history/9999-99-99_999999/ || die - local pyside_build_dir=qfp$(usev debug d)-py${EPYTHON#python}-qt$(ver_cut 1-3)-${pyside_build_id} - echo "$(ls -d "${BUILD_DIR}"/build*/${pyside_build_dir}/build | sort -V | tail -n 1)" > build_history/9999-99-99_999999/build_dir.txt || die - echo "${pyside_build_dir}" >> build_history/9999-99-99_999999/build_dir.txt || die + local pyside_build_dir="qfp$(usev debug d)-py${EPYTHON#python}-qt$(ver_cut 1-3)-${pyside_build_id}" + + local buildno=$(find "${BUILD_DIR}"/build* -name "${pyside_build_dir}" | sort -V | tail -n1) + if [[ -z "${buildno}" ]]; then + die "could not find any build directories for ${pyside_build_dir}" + fi - virtx ${EPYTHON} testrunner.py test --projects=shiboken6 $(usev core '--projects=pyside6') || + buildno="${buildno#"${BUILD_DIR}/build"}" + buildno="${buildno%"/${pyside_build_dir}"}" + + local -x PYTHONPATH="${BUILD_DIR}/install$(python_get_sitedir)" + local -x QTEST_ENVIRONMENT=ci + + # test shiboken6 build + virtx ${EPYTHON} testrunner.py test --buildno "$((buildno - 1))" --projects=shiboken6 || die "Tests failed with ${EPYTHON}" + + if use core; then + # test pyside6 build + virtx ${EPYTHON} testrunner.py test --buildno "${buildno}" --projects=pyside6 || + die "Tests failed with ${EPYTHON}" + fi } pkg_preinst() { diff --git a/dev-python/python-json-logger/Manifest b/dev-python/python-json-logger/Manifest index 8a2cc5226004..e97290f8a96e 100644 --- a/dev-python/python-json-logger/Manifest +++ b/dev-python/python-json-logger/Manifest @@ -1,2 +1,3 @@ DIST python_json_logger-3.3.0.tar.gz 16642 BLAKE2B 79f7271815af3a6f29e4f9cfda58b7bae2c08d0aef7a6e5bbab04dedbd8db2973addd40361c58e6a47e0ef765d15f0b0c262f41cf74b2c4e20d08478250d7e00 SHA512 6779464281fd8b7e4171adcf50aedc7f362df62d99bbd1982b5bef657a3a2f1e2191c4aa0f5acd688dd3554af547f5d72e785e493e21dbaa342127c92da5daa5 +DIST python_json_logger-4.0.0.tar.gz 17683 BLAKE2B 50161322569c7cad4cab322fe61bad86b09a8eb33a4ed9d46e5d073feb6c5feb09379cb3abaff7b7c26f5e98986002e3822c23576752cc0ec0958baf6bf5b47c SHA512 bdbd900e5b44badec8279f98a017769296eef92e23d25b97cc71eb5da2791f096c4af7bb1c5f0f9b0a691d3006e8be12dd546ac3f1c010c8c0244a6d2b0addf2 DIST python_json_logger-4.0.0rc1.tar.gz 17679 BLAKE2B d5c87ca4612f66851930a69a6b4b8319cc20a40244aa38ced383d5f3a66884cd2dce713bff51eff43473cd31c467df3f98fe9cacd7210a7a1304530f88ef8b5e SHA512 13214dc657bb5afc472e6f53c32fce60c29beb9b0ae003ed0428917b869c123e94df57bcbea4a5b78371a52c71fbf3474109e3b609282c7faf86540d5f1b16f9 diff --git a/dev-python/python-json-logger/python-json-logger-4.0.0.ebuild b/dev-python/python-json-logger/python-json-logger-4.0.0.ebuild new file mode 100644 index 000000000000..2a84ade0960f --- /dev/null +++ b/dev-python/python-json-logger/python-json-logger-4.0.0.ebuild @@ -0,0 +1,29 @@ +# 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="Standard python logging to output log data as json objects" +HOMEPAGE=" + https://github.com/madzak/python-json-logger/ + https://pypi.org/project/python-json-logger/ +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +BDEPEND=" + test? ( + dev-python/freezegun[${PYTHON_USEDEP}] + dev-python/tzdata[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=() +distutils_enable_tests pytest diff --git a/dev-python/pyzstd/Manifest b/dev-python/pyzstd/Manifest index a90baf8edcf1..a3162874ba1e 100644 --- a/dev-python/pyzstd/Manifest +++ b/dev-python/pyzstd/Manifest @@ -1 +1,2 @@ DIST pyzstd-0.17.0.tar.gz 1212160 BLAKE2B df758d02d4cb8df504538b0ff9de059a86d15ca1fe362879932f916db9ac057eaa34efb342fcca9c206a8f463201b8f774978727c209cd8799e51152b7ff90c0 SHA512 932bd4b7df026c40aa24c1548237b3decf44109897572b8933d4a2284036998d7bb320d355a71f9ab04509333204072ed78098f6e6c05b997a80f268763a4b28 +DIST pyzstd-0.18.0.tar.gz 806048 BLAKE2B a2154d215a6164358b9ed0195bf3a37d707fce029949fbf4ffadf14f8c4462110674cc0d91ca115361ef1db67bef29c15721963870bd2ce08e8077365db02f43 SHA512 0031b5c6f893a5c265a00e55cdc5519a3d2bd191d943917761129dd4d8a49ab1c8912b559e9e10a3aeef25b01fbefe33ae6674a55554ff7c16e2dd31795b7bbc diff --git a/dev-python/pyzstd/pyzstd-0.18.0.ebuild b/dev-python/pyzstd/pyzstd-0.18.0.ebuild new file mode 100644 index 000000000000..a35ec2ac03a4 --- /dev/null +++ b/dev-python/pyzstd/pyzstd-0.18.0.ebuild @@ -0,0 +1,51 @@ +# Copyright 2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=setuptools +DISTUTILS_UPSTREAM_PEP517=standalone +PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 ) + +inherit distutils-r1 pypi + +DESCRIPTION="Python bindings to Zstandard (zstd) compression library" +HOMEPAGE=" + https://github.com/Rogdham/pyzstd/ + https://pypi.org/project/pyzstd/ +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" + +DEPEND=" + app-arch/zstd:= +" +RDEPEND=" + ${DEPEND} + $(python_gen_cond_dep ' + dev-python/typing-extensions[${PYTHON_USEDEP}] + ' 3.11 3.12) +" +BDEPEND=" + dev-python/setuptools[${PYTHON_USEDEP}] +" + +distutils_enable_tests unittest + +src_prepare() { + sed -i "s/'-g0', '-flto'//" setup.py || die + + distutils-r1_src_prepare + + DISTUTILS_ARGS=( + --dynamic-link-zstd + --multi-phase-init + ) +} + +python_test() { + eunittest tests +} diff --git a/dev-python/tifffile/Manifest b/dev-python/tifffile/Manifest index ada0a2e95f65..ef3aa378b241 100644 --- a/dev-python/tifffile/Manifest +++ b/dev-python/tifffile/Manifest @@ -1,2 +1,2 @@ -DIST tifffile-2025.9.20.gh.tar.gz 359328 BLAKE2B 4180d84b85d58ae2d1be15a0eea5ff53ecfe06181e7c3444f54a5b3d9e3f911d07d7a9fda8762847ba6002fe0f0a9ec3d29306f104ca23665ad52a8946886e04 SHA512 4e1f849f35fed303e6aeed13fb594a1665f82412ad77d28dcd7b044869b942dfff1c19ad63a6c64b87721a11ebc0eb1b9538dfede716711a74603e148f34ec0a +DIST tifffile-2025.10.4.gh.tar.gz 359732 BLAKE2B 5dd69e8a8fbaf39f18c7ed1edc25aaf1e2c12fdaf6593c84b4346dd58471e9ed13c7ca491ead1321c87e98128c19d68c8504aefb5440a2d52766ced942512f6c SHA512 20c3786d8d85eac2a52f38f4e578ef24dfa8eaa2a60bf200a061742af0dc8fcc278939f542ea9a225add02b563932d17f07d160e3a1d5e34ba26502b58b3d52e DIST tifffile-2025.9.30.gh.tar.gz 359562 BLAKE2B accdc42dce218781d61b29b8931a73ebf4889f54e517940f5d00f897f07f3c175bd8e39aafa27c03e3eda624e8687dcb1ab1827878759edb2a1fef6ce07acec3 SHA512 77de77c7f3f013adcf5760353f20236180176282a958d3390161bcc456fdc47231883d86325a064b156fcb7e14acc48cb2b4b109d11a79ab298a1c6b6ef622bb diff --git a/dev-python/tifffile/tifffile-2025.9.20.ebuild b/dev-python/tifffile/tifffile-2025.10.4.ebuild index a1d2d3800bb1..a1d2d3800bb1 100644 --- a/dev-python/tifffile/tifffile-2025.9.20.ebuild +++ b/dev-python/tifffile/tifffile-2025.10.4.ebuild diff --git a/dev-python/types-docutils/Manifest b/dev-python/types-docutils/Manifest index 20b3bcd0d463..6961c1890fbb 100644 --- a/dev-python/types-docutils/Manifest +++ b/dev-python/types-docutils/Manifest @@ -1,6 +1,3 @@ -DIST types_docutils-0.22.0.20250814.tar.gz 56376 BLAKE2B 75690dfe8d479fdb97b39391e813e4858feead0604dcba94355a66641100ac6a45ca61f6e231bde7cbcdfabb1e2866d30b1ea8bb98cf3e19b7b85eeaddb57813 SHA512 a064c117929e85fdae33276dfd72caa268aef9620c3144000f2660dd0e3d900d169534896599cad1f295a7bbb1de176a65da71f7096dbce5015c895eaefb7cab -DIST types_docutils-0.22.0.20250822.tar.gz 56487 BLAKE2B 2d6fcf0bee2ff56f08fcbb2ef1b51140926410c3ff51f7139bf3cd4a4a0999e5555ebcbd668daabd9cf7b1bef6e31b562092af14f1a571d13223aed1afa4b0e0 SHA512 ae4d8927c0c5d423b004cd84f8fed20408f2944105b06c95c67248a7cd0a049da519d3aeeb6f05fdcc58ee178fcb3d0aecab8ea6333e0d3b8776b3406272a60a -DIST types_docutils-0.22.0.20250914.tar.gz 56496 BLAKE2B 0c9f9321506821a1732bdef41ccdf3cc617a87f18c2d9343f0eddba143456b0647a6ca0b6dc9e6ea245310b6019e2672cdc8aeea702ad1a61105201efec253de SHA512 3207655dd257f5274fffcb0213fcdef9dbfd564f027b84563366b2f79f3df2001f88317ac27a6e89fca18b4ebab7296de8f8e53d656e3ffcb558ed2ab770a653 DIST types_docutils-0.22.0.20250919.tar.gz 56554 BLAKE2B dce038821d21f58bd2a2d93348b3685c2b44a909b9036407089d4974e7774b7a6e97826758616562d7f5f87869a3aa23860f420d3fb722ba147d6df892f11304 SHA512 c37792c851284c173ccf07d7f9821bff16a9bd550a62bfb885201f009959836421adb30471b376fe89454857636e789ebf1a3bed5ee5cddfc7084ca6e8f90857 -DIST types_docutils-0.22.1.20250923.tar.gz 56652 BLAKE2B 016be0aed7e1ec70e2dc7ad57abd7002a496276fbc3112a0797ec69eb22a963ffe7bc71c81611c6e1c18088276382a322e8753d1f4bab2d19e449331a4c37a87 SHA512 5a18c7a6f13f7599a1c6ef76f30c8687522ad1a8ed0f252047d2b6af5afcbe21e6da363033975b4d4d4182e4f3d83a7aea9cd1194a275b61d113ebdf841e1661 DIST types_docutils-0.22.2.20250924.tar.gz 56679 BLAKE2B 326dceb05c6226bf2fed62ad89b7bfb7b38da2f9bcacfaae84abf59d8614558361e290ba9659e10132ae13db75757e39ab554726a65cc174db5b3b329b43aa01 SHA512 bdb1b1eebb40c7d5b474ab1b35e863a11889cba8ccbb697116393fa970fa6b4c81d8d1c05f847a6d804d0de89277288160facbbbe75797dcc4676f8580c086af +DIST types_docutils-0.22.2.20251006.tar.gz 56658 BLAKE2B 85eddde6d9e4237d846430a0c5b38991c54b7052fe6d55c278e3108c44cbfcdf6c9cebff109b682346906ddff0e35e0e67755b3691d9805551b1ef2be6372d56 SHA512 f1b82d8b773b7c40c84ec7da9a818b31bd44d9b122ee19c276ef740856636a54a2f8aacc25183b748c57c540cdedb282922eb9a39e5e06e02900a41fe52428a8 diff --git a/dev-python/types-docutils/types-docutils-0.22.0.20250814.ebuild b/dev-python/types-docutils/types-docutils-0.22.0.20250814.ebuild deleted file mode 100644 index 29b3eac5da76..000000000000 --- a/dev-python/types-docutils/types-docutils-0.22.0.20250814.ebuild +++ /dev/null @@ -1,16 +0,0 @@ -# Copyright 2022-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 pypi - -DESCRIPTION="Typing stubs for docutils" -HOMEPAGE="https://pypi.org/project/types-docutils/" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="amd64 ~arm64 x86" diff --git a/dev-python/types-docutils/types-docutils-0.22.0.20250914.ebuild b/dev-python/types-docutils/types-docutils-0.22.0.20250914.ebuild deleted file mode 100644 index 9fdbbf2b35dd..000000000000 --- a/dev-python/types-docutils/types-docutils-0.22.0.20250914.ebuild +++ /dev/null @@ -1,16 +0,0 @@ -# Copyright 2022-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 pypi - -DESCRIPTION="Typing stubs for docutils" -HOMEPAGE="https://pypi.org/project/types-docutils/" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" diff --git a/dev-python/types-docutils/types-docutils-0.22.1.20250923.ebuild b/dev-python/types-docutils/types-docutils-0.22.1.20250923.ebuild deleted file mode 100644 index 9fdbbf2b35dd..000000000000 --- a/dev-python/types-docutils/types-docutils-0.22.1.20250923.ebuild +++ /dev/null @@ -1,16 +0,0 @@ -# Copyright 2022-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 pypi - -DESCRIPTION="Typing stubs for docutils" -HOMEPAGE="https://pypi.org/project/types-docutils/" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" diff --git a/dev-python/types-docutils/types-docutils-0.22.0.20250822.ebuild b/dev-python/types-docutils/types-docutils-0.22.2.20251006.ebuild index 9fdbbf2b35dd..9fdbbf2b35dd 100644 --- a/dev-python/types-docutils/types-docutils-0.22.0.20250822.ebuild +++ b/dev-python/types-docutils/types-docutils-0.22.2.20251006.ebuild diff --git a/dev-python/wrapt/Manifest b/dev-python/wrapt/Manifest index 8a0a1241a67e..3154e69365bf 100644 --- a/dev-python/wrapt/Manifest +++ b/dev-python/wrapt/Manifest @@ -1,4 +1,3 @@ -DIST wrapt-1.17.2.gh.tar.gz 140660 BLAKE2B 58e9da7bb250a614717d18a20c61a0f6f45e77aa9c90e13be21e8e4094a1d24516d6388e15997cbbca296abb976bac0ce42f720f74fe4946d000dd570bca0da4 SHA512 12a6e610f180ce34a7edad39225b54f62d58d487e8b3379321e00e0d0c1b265a5a570de15ec5e5a6b38748052617dbb486f802ae924ab48b51b3ccd40d1170bf DIST wrapt-1.17.3.gh.tar.gz 140900 BLAKE2B 88c4cd718cd98a97c866c4f0b9f7e095347fe6fa5fed60c54e389329c89f9f07099c8fb79561cf5e12c19c44a4067d81e805c55b54a74429e6b75913dedd6b3f SHA512 1a1f7419f20faa461a9e23ad09cc98d381ef2c48b3b24ed1dfe98d42d16857a958252301e78dd41b7fa8ef37eea379f9244cace2b396b49718c44cbc701308a3 -DIST wrapt-2.0.0rc2.gh.tar.gz 172612 BLAKE2B dd5cf512bab623d591226bbff0c3339763ca0c5a215f1aa10f330b65292e196132bfd2ab003cb912c034bc6723fb142f5b495151b328a7064419c34190e910e2 SHA512 6d9ba92bfce02f219e99bdde466d24565d119388372ef6ef032160010760dbda27f99252812fa8e78df749346c961fc514b1a014d146f77b9024d9b3ff37755b DIST wrapt-2.0.0rc3.gh.tar.gz 177421 BLAKE2B 85759f3859ac1cf2e3acfe07af4c38f154e9f2a290666e060629c41ab24f4a1f370e70885e266d12888a8f707eaa67e2e439ffb21653c98f871ec6440bb697b1 SHA512 e76bc6e0a28fb0a3081085c98331a1cedd783d4c06d1a803dab581c2b88863a22f9cba76ad8e9623e6f84ef87fae8bde07677d5844aa5b9634acfc3c7da322ed +DIST wrapt-2.0.0rc4.gh.tar.gz 177839 BLAKE2B cf93d4ef525aa8e323f7fc2b939a63944ae06af0a18c4d01e64b82519bafc6c0b88262ebf239a64c9037627f145ae870b3bad088074aa337edd8179970068568 SHA512 7e2a7376293eefeda1c15a3dd4f2daa2744d6fecef5b1430b1f52c1f04ccc65aaa79e620190aeafb0d24c72fed3393e67d32d55a173a21f8c3e276a5ece7799e diff --git a/dev-python/wrapt/wrapt-1.17.2.ebuild b/dev-python/wrapt/wrapt-1.17.2.ebuild deleted file mode 100644 index 57b635871d4b..000000000000 --- a/dev-python/wrapt/wrapt-1.17.2.ebuild +++ /dev/null @@ -1,40 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 ) - -inherit distutils-r1 - -MY_P=${P/_} -DESCRIPTION="Module for decorators, wrappers and monkey patching" -HOMEPAGE=" - https://github.com/GrahamDumpleton/wrapt/ - https://pypi.org/project/wrapt/ -" -SRC_URI=" - https://github.com/GrahamDumpleton/wrapt/archive/${PV/_}.tar.gz - -> ${MY_P}.gh.tar.gz -" -S=${WORKDIR}/${MY_P} - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos" -IUSE="+native-extensions" - -distutils_enable_tests pytest -distutils_enable_sphinx docs dev-python/sphinx-rtd-theme - -python_compile() { - local -x WRAPT_INSTALL_EXTENSIONS=$(usex native-extensions true false) - distutils-r1_python_compile -} - -python_test() { - local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 - epytest -} diff --git a/dev-python/wrapt/wrapt-2.0.0_rc2.ebuild b/dev-python/wrapt/wrapt-2.0.0_rc4.ebuild index b5a59ade82de..b5a59ade82de 100644 --- a/dev-python/wrapt/wrapt-2.0.0_rc2.ebuild +++ b/dev-python/wrapt/wrapt-2.0.0_rc4.ebuild diff --git a/dev-python/yarl/Manifest b/dev-python/yarl/Manifest index 68dd6b15694f..3527492da14b 100644 --- a/dev-python/yarl/Manifest +++ b/dev-python/yarl/Manifest @@ -1 +1,2 @@ DIST yarl-1.20.1.tar.gz 186428 BLAKE2B 904bc2fba743d7cc0f313166477ff93288816853d7831ed25b3589749878b78c5c10ccb0bb8d11cbad66cea8c5c8eab4fa32ff0542351cf1351a7de5c235ebd6 SHA512 2e7d2c69ddf07f04468b40dc929f5c54bcc3026386fa5fe98bc7f8b8f8aafee05d1df00a42377767e8a9e839f76b8cf569b8e373b3e94af6a954e68a4031fcc1 +DIST yarl-1.21.0.tar.gz 187069 BLAKE2B cab583d33154cacb73bc0297a0a53e220dbde17f9d4812b8a6a4b1e69d8589c102710a2f6694f802b6ee944fc21a69a941bb8ce333a9c5bafecda9d11c4c4050 SHA512 e37316deae6e503b7cdb8b01c767d725776cedbb189735575d18376480a6de875307b436fcbe2dba46095b4ca340c57e51d6247b452c00a9f9dd54477b70d483 diff --git a/dev-python/yarl/yarl-1.21.0.ebuild b/dev-python/yarl/yarl-1.21.0.ebuild new file mode 100644 index 000000000000..9776d49e5af3 --- /dev/null +++ b/dev-python/yarl/yarl-1.21.0.ebuild @@ -0,0 +1,63 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=standalone +PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 ) + +inherit distutils-r1 pypi + +DESCRIPTION="Yet another URL library" +HOMEPAGE=" + https://github.com/aio-libs/yarl/ + https://pypi.org/project/yarl/ +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="+native-extensions" + +RDEPEND=" + >=dev-python/idna-2.0[${PYTHON_USEDEP}] + >=dev-python/multidict-4.0[${PYTHON_USEDEP}] + >=dev-python/propcache-0.2.1[${PYTHON_USEDEP}] +" +BDEPEND=" + native-extensions? ( + dev-python/cython[${PYTHON_USEDEP}] + ) + dev-python/expandvars[${PYTHON_USEDEP}] + dev-python/setuptools[${PYTHON_USEDEP}] +" + +EPYTEST_PLUGINS=( hypothesis ) +distutils_enable_tests pytest + +python_compile() { + local -x YARL_NO_EXTENSIONS=0 + if ! use native-extensions || [[ ${EPYTHON} != python* ]]; then + YARL_NO_EXTENSIONS=1 + fi + distutils-r1_python_compile +} + +python_test() { + local EPYTEST_IGNORE=( + # benchmarks + tests/test_quoting_benchmarks.py + tests/test_url_benchmarks.py + ) + + local opts=() + # note different boolean logic than for backend (sigh) + local -x YARL_NO_EXTENSIONS= + if ! use native-extensions || [[ ${EPYTHON} != python* ]]; then + YARL_NO_EXTENSIONS=1 + fi + + rm -rf yarl || die + epytest -o addopts= "${opts[@]}" +} |
